

# オプション 1: EC2 コンソールを使用してインスタンスを RDS データベースに自動的に接続する
<a name="tutorial-ec2-rds-option1"></a>

オプション 1 では、EC2 コンソールの自動接続機能を使用して、EC2 インスタンスと RDS データベース間のトラフィックを許可するように EC2 インスタンスと RDS データベース間の接続を自動的に設定します。オプション 3 では、この接続を手動で設定する方法について説明します。

**Topics**
+ [[開始する前に]](#option1-before-you-begin)
+ [タスク 1 (オプション): RDS データベースを作成する](#option1-task1-create-rds-database)
+ [タスク 2 (オプション): EC2 インスタンスを起動する](#option1-task2-launch-ec2-instance)
+ [タスク 3: EC2 インスタンスを RDS データベースに自動接続する](#option1-task3-connect-ec2-instance-to-rds-database)
+ [タスク 4: 接続設定を検証する](#option1-task4-verify-connection-configuration)
+ [タスク 5 (*オプション*): クリーンアップする](#option2-task5-cleanup)

## [開始する前に]
<a name="option1-before-you-begin"></a>

このチュートリアルを完了するには、以下が必要です。
+ EC2 インスタンスと同じ VPC にある RDS データベース。既存の RDS データベースを使用するか、タスク 1 のステップに従って新しい RDS データベースを作成することができます。
+ RDS データベースと同じ VPC にある EC2 インスタンス。既存の EC2 インスタンスを使用するか、タスク 2 のステップに従って新しい EC2 インスタンスを作成することができます。
+ 次の操作を呼び出すアクセス許可:
  + `ec2:AssociateRouteTable`
  + `ec2:AuthorizeSecurityGroupEgress`
  + `ec2:CreateRouteTable`
  + `ec2:CreateSecurityGroup`
  + `ec2:CreateSubnet`
  + `ec2:DescribeInstances`
  + `ec2:DescribeNetworkInterfaces`
  + `ec2:DescribeRouteTables`
  + `ec2:DescribeSecurityGroups`
  + `ec2:DescribeSubnets`
  + `ec2:ModifyNetworkInterfaceAttribute`
  + `ec2:RevokeSecurityGroupEgress`

## タスク 1 (オプション): RDS データベースを作成する
<a name="option1-task1-create-rds-database"></a>

**注記**  
Amazon RDS データベースの作成については、このチュートリアルの対象外です。RDS データベースがすでにあり、このチュートリアルで使用する場合は、このタスクをスキップできます。  
既存の RDS データベースを使用する場合は、自動接続機能を使用できるように、その RDS データベースが EC2 インスタンスと同じ VPC 内にあることを確認してください。

このタスクでは、RDS データベースを作成して、EC2 インスタンスと使用する RDS データベース間の接続を設定するタスク 3 を完了できるようにします。このタスクのステップでは、RDS データベースを次のように設定します。
+ エンジンタイプ: MySQL
+ テンプレート: 無料利用枠
+ DB インスタンス識別子: **tutorial-database-1**
+ DB インスタンスクラス: `db.t3.micro`

**重要**  
本番環境では、具体的なニーズに合わせて、データベースを設定する必要があります。

**MySQL RDS データベースを作成するには**

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. リージョンセレクター (右上) から AWS リージョン を選択します。EC2 コンソールの自動接続機能を使用するには、データベースと EC2 インスタンスが同じリージョンにある必要があります。

1. ダッシュボード で、**[Create database]** (データベースの作成) を選択します。

1. **[Choose a database creation method]** (データベース作成方法を選択) で **[Standard Create]** (スタンダード作成) が選択されていることを確認します。**[Easy create]** (簡易作成) を選択した場合、VPC セレクターは利用できません。EC2 コンソールの自動接続機能を使用するには、データベースが EC2 インスタンスと同じ VPC 内にあることを必ず確認してください。

1. **[Engine options]** (エンジンオプション) にある **[Engine type]** (エンジンタイプ) で **MySQL** を選択します。

1. **[Templates]** (テンプレート) では、ニーズに合うサンプルテンプレートを選択します。このチュートリアルでは、**[Free tier]** (無料利用枠) を選択して RDS データベースを無料で作成できます。ただし、無料利用枠は、無料利用枠の対象となるアカウントでのみ利用できることに注意してください。詳細については、**[Free tier]** (無料利用枠) ボックスにある **[Info]** (情報) リンクを選択してください。

1. [**設定**] で、次のいずれかを実行します。

   1. **[DB instance identifier]** (DB インスタンス識別子) に、データベースの名前を入力します。このチュートリアルでは、**tutorial-database-1** と入力します。

   1. **[Master username]** (マスターユーザー名) は、デフォルトの名前である **admin** のままにします。

   1. **[Master password]** (マスターパスワード) に、このチュートリアルに使用するパスワードを入力し、**[Confirm password]** (パスワードの確認) にパスワードをもう一度入力します。

1. **[インスタンス設定]** の **[DB インスタンスクラス]** は、デフォルトの **[db.t3.micro]** のままにします。アカウントが無料利用枠の対象である場合は、このデータベースクラスを無料で使用できます。詳細については、「[AWS 無料利用枠](https://aws.amazon.com/free/)」を参照してください。

1. **[Connectivity]** (接続) では、**[Compute resource]** (コンピュートリソース) に **[Don't connect to an EC2 compute resource]** (EC2 コンピュートリソースに接続しない) を選択します。EC2 インスタンスと RDS データベースは、タスク 3 の後半で接続するからです。

   (後ほど、このチュートリアルのオプション 2 で、**[Connect to an EC2 compute resource]** (EC2 コンピュートリソースに接続) を選択して RDS コンソールの自動接続機能を試します。)

1. **[Virtual private cloud (VPC)]** (仮想プライベートクラウド (VPC)) には VPC を選択します。VPC には DB サブネットグループが必要です。自動接続機能を使用するには、EC2 インスタンスと RDS データベースが同じ VPC 内にある必要があります。

1. このページの他のフィールドについては、すべてのデフォルト値をそのまま使用します。

1. **[データベースの作成]** を選択します。

   **[Databases]** (データベース) 画面では、データベースが使用可能になるまで、新しいデータベースの **[Status]** (ステータス) は **[Creating]** (作成中) になります。ステータスが **[Available]** (使用可能) に変わったら、データベースに接続できます。データベースクラスとストレージ量によっては、新しいデータベースが使用可能になるまで最長 20 分かかることがあります。

### アニメーションを表示: RDS データベースの作成
<a name="task1-create-rds-database-animation"></a>

![\[このアニメーションでは、RDS データベースを作成する方法を説明します。このアニメーションのテキストバージョンについては、前述の手順のステップを参照してください。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/tutorial-create-rds-database.gif)


## タスク 2 (オプション): EC2 インスタンスを起動する
<a name="option1-task2-launch-ec2-instance"></a>

**注記**  
インスタンスの起動は、このチュートリアルの対象外です。Amazon EC2 インスタンスがすでにあり、このチュートリアルで使用する場合は、このタスクをスキップできます。  
既存の EC2 インスタンスを使用する場合は、自動接続機能を使用できるように、その EC2 インスタンスが RDS データベースと同じ VPC 内にあることを確認してください。

このタスクでは、EC2 インスタンスを起動して、EC2 インスタンスと使用する Amazon RDS データベース間の接続を設定するタスク 3 を完了できるようにします。このタスクのステップでは、EC2 インスタンスを次のように設定します。
+ インスタンス名: **tutorial-instance-1**
+ AMI: Amazon Linux 2
+ インスタンスタイプ: `t2.micro`
+ パブリック IP の自動割り当て: 有効 
+ 次の 3 つのルールを持つセキュリティグループ:
  + IP アドレスからの SSH を許可
  + 任意の場所からの HTTPS トラフィックを許可
  + 任意の場所からの HTTP トラフィックを許可

**重要**  
本番環境では、具体的なニーズに合わせて、インスタンスを設定する必要があります。

**EC2 インスタンスを起動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. リージョンセレクター (右上) から AWS リージョン を選択します。EC2 コンソールの自動接続機能を使用するには、インスタンスと RDS データベースが同じリージョンにある必要があります。

1. **[EC2 Dashboard]** (EC2 ダッシュボード) で、**[Launch instance]** (インスタンスの作成) を選択します。

1. **[Names and tags]** (名前とタグ) にある **[Name]** (名前) には、インスタンスを識別するための名前を入力します。このチュートリアルでは、インスタンス名は「**tutorial-instance-1**」にします。インスタンス名は必須ではありませんが、EC2 コンソールでインスタンスを選択するときに、名前があると識別しやすくなります。

1. **[Application and OS Images]** (アプリケーションと OS イメージ) で、ウェブサーバーに必要な AMI を選択します。このチュートリアルでは **Amazon Linux 2** を使用します。

1. **[Instance type]** (インスタンスタイプ) にある **[Instance type]** (インスタンスタイプ) には使用しているウェブサーバーに必要なインスタンスタイプを選択します。このチュートリアルでは、`t2.micro` を使用します。
**注記**  
アカウントの作成日に応じて、Amazon EC2 を無料利用枠で使用できる場合があります。  
2025 年 7 月 15 日より前に AWS アカウントを作成していて、12 か月が経過していない場合は、**[t2.micro]** インスタンスタイプ (**[t2.micro]** が利用できないリージョンでは **[t3.micro]** インスタンスタイプ) を選択することで、Amazon EC2 の無料利用枠を使用できます。**[t3.micro]** インスタンスを起動すると、デフォルトで [**[Unlimited]** モード](burstable-performance-instances-unlimited-mode.md)になり、CPU 使用率に基づいて追加料金が発生する可能性があることに注意してください。インスタンスタイプを無料利用枠で使用できる場合、**[無料利用枠の対象]** とラベル付けされます。  
2025 年 7 月 15 日以降に AWS アカウント を作成した場合、**t3.micro**、**t3.small**、**t4g.micro**、**t4g.small**、**c7i-flex.large**、**m7i-flex.large** インスタンスタイプを 6 か月間、またはクレジットを使い切るまで使用できます。  
詳細については、「[2025 年 7 月 15 日より前とそれ以降の無料利用枠の特典](ec2-free-tier-usage.md#ec2-free-tier-comparison)」を参照してください。

1. **[Key pair (login)]** (キーペア (ログイン)) にある **[Key pair name]** (キーペア名) には、使用するキーペアを選択します。

1. **[Network settings]** (ネットワーク設定) で、次の操作を行います：

   1. デフォルトの VPC またはサブネットに変更を加えていない場合は、**[Network]** (ネットワーク) と **[Subnet]** (サブネット) でデフォルトの設定をそのまま使用できます。

      デフォルトの VPC またはサブネットに変更を加えた場合は、以下を確認してください。

      1. 自動接続機能を使用するには、インスタンスと RDS データベースが同じ VPC 内にある必要があります。デフォルトでは、VPC は 1 つのみです。

      1. インスタンスを起動する VPC には、インターネットからウェブサーバーにアクセスできるように、インターネットゲートウェイがアタッチされている必要があります。デフォルト VPC はインターネットゲートウェイで自動的に設定されます。

      1. インスタンスがパブリック IP アドレスを受け取れるように、**[Auto-assign Public IP]** (自動割り当てパブリック IP) で **[Enable]** (有効) が選択されていることを確認します。**[Disable ]** (無効) が選択されている場合は、**[Edit]** (編集) (**[Network Settings]** (ネットワーク設定) の右側) を選択し、その後 **[Auto-assign public IP]**] (パブリック IP の自動割り当て) で **[Enable]** (有効) を選択します。

   1. SSH を使用してインスタンスに接続するには、コンピュータのパブリック IPv4 アドレスからの SSH (Linux) または RDP (Windows) トラフィックを承認するセキュリティグループのルールが必要です。デフォルトでは、インスタンスを起動すると、任意の場所からのインバウンド SSH トラフィックを許可するルールで新しいセキュリティグループが作成されます。

      お使いの IP アドレスのみがインスタンスに接続できるようにするには、**[ファイアウォール (セキュリティグループ)]** にある **[SSH トラフィックを許可する送信元]** チェックボックスの横にあるドロップダウンリストから **[マイ IP]** を選択します。

   1. インターネットからインスタンスへのトラフィックを許可するには、次のチェックボックスをオンにします。
      + **[Allow HTTPs traffic from the internet]** (インターネットからの HTTPs トラフィックを許可する)
      + **[Allow HTTP traffic from the internet]** (インターネットからの HTTP トラフィックを許可する)

1. **[Summary]** (概要) パネルでインスタンスの設定を確認し、**[Launch instance]** (インスタンスを起動する) を選択します。

1. 確認ページは開いたままにします。次のタスクで、インスタンスをデータベースに自動接続するときに必要になります。

   インスタンスが起動しないか、状態が `terminated` ではなくすぐに `running` になる場合は[Amazon EC2 インスタンスの起動に関する問題のトラブルシューティング](troubleshooting-launch.md)を参照してください。

インスタンスの起動方法の詳細については、「[コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動する](ec2-launch-instance-wizard.md)」を参照してください。

### アニメーションを表示: EC2 インスタンスを起動する
<a name="option1-launch-ec2-instance-animation"></a>

![\[このアニメーションでは、EC2 インスタンスを起動する方法について説明します。このアニメーションのテキストバージョンについては、前述の手順のステップを参照してください。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/tutorial-launch-instance.gif)


## タスク 3: EC2 インスタンスを RDS データベースに自動接続する
<a name="option1-task3-connect-ec2-instance-to-rds-database"></a>

このタスクでは、EC2 コンソールの自動接続機能を使用して、EC2 インスタンスと RDS データベース間の接続を自動的に設定します。

**EC2 コンソールを使用して、EC2 インスタンスを RDS データベースに自動接続する場合**

1. インスタンスの起動確認ページ (前述のタスク実行時に開いたままにしておく) で、**[Connect an RDS database]** (RDS データベースに接続) を選択します。

   確認ページを閉じてしまった場合は、次の手順に従ってください。

   1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

   1. ナビゲーションペインで、[**インスタンス**] を選択してください。

   1. 先ほど作成した EC2 インスタンスを選択し、**[Actions]** (アクション)、**[Networking]** (ネットワーク)、**[Connect RDS database]** (RDS データベースを接続) の順に選択します。

      **[Connect RDS database]** (RDS データベースに接続) を選択できない場合は、EC2 インスタンスが **[Running]** (実行中) の状態であることを確認します。

1. **[Database role]** (データベースロール) で **[Instance]** (インスタンス) を選択します。この場合の*インスタンス*とは、データベースインスタンスを指します。

1. **[RDS database]** (RDS データベース) の場合は、タスク 1 で作成した RDS データベースを選択します。
**注記**  
EC2 インスタンスと RDS データベースが相互接続するためは、同じ VPC 内にある必要があります。

1. **接続** を選択します。

### アニメーションを表示: 新しく起動した EC2 インスタンスを RDS データベースに自動接続する
<a name="option1-task3-connect-ec2-instance-to-rds-database-animation"></a>

![\[このアニメーションは、EC2 コンソールで既存の EC2 インスタンスを選択し、自動接続機能を使用して EC2 インスタンスを RDS データベースに接続する方法を紹介します。このアニメーションのテキストバージョンについては、前述の手順のステップを参照してください。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/tutorial-connect-new-ec2-rds.gif)


## タスク 4: 接続設定を検証する
<a name="option1-task4-verify-connection-configuration"></a>

このタスクでは、2 つのセキュリティグループが作成され、インスタンスとデータベースに割り当てられていることを確認します。

コンソールの自動接続機能を使用して接続を設定する場合、セキュリティグループは自動的に作成され、次のようにインスタンスとデータベースに割り当てられます。
+ セキュリティグループ **rds-ec2-*x*** が作成され、RDS データベースに追加されます。**ec2-rds-*x*** セキュリティグループを送信元として参照するインバウンドルールが 1 つ存在します。このルールにより、**ec2-rds-*x*** セキュリティグループを持つ EC2 インスタンスからのトラフィックが RDS データベースに到達できるようになります。
+ セキュリティグループ **ec2-rds-*x*** が作成され、EC2 インスタンスに追加されます。ここには、**rds-ec2-*x*** セキュリティグループを送信先として参照するアウトバウンドルールが 1 つ存在します。このルールにより、EC2 インスタンスからのトラフィックが **rds-ec2-*x*** セキュリティグループのある RDS データベースに到達できるようになります。

**コンソールを使用して接続構成を確認する場合**

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションページで、**[Databases]** (データベース) を選択します。

1. このチュートリアル用に作成した RDS データベースを選択します。

1. **[接続とセキュリティ]** タブの **[セキュリティ]** にある **[VPC セキュリティグループ]** に、**[rds-ec2-*x*]** というのセキュリティグループが表示されていることを確認します。

1. **rds-ec2-*x*** セキュリティグループを選択します。EC2 コンソールにある **[Security Groups]** (セキュリティグループ) 画面が開きます。

1. **rds-ec2-*x*** セキュリティグループを選択して開きます。

1. **[Inbound rules]** (インバウンドルール) タブを開きます。

1. 次のセキュリティグループルールが存在することを確認します。
   + タイプ: **MYSQL/Aurora**
   + ポート範囲: **3306**
   + ソース: ***sg-0987654321example* / ec2-rds-*x*** – これは、前述の手順で検証した EC2 インスタンスに割り当てられているセキュリティグループです。
   + 説明: ***sg-1234567890example* が添付された EC2 インスタンスからの接続を許可するルール**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. 前述のタスクで RDS データベースに接続するために選択した EC2 インスタンスを選択し、**[Security]** (セキュリティ) タブを選択します。

1. **[セキュリティの詳細]** の **[セキュリティグループ]** にあるリストの中に、**[ec2-rds-*x*]** というセキュリティグループがあることを確認します。*x* は数字です。

1. **ec2-rds-*x*** セキュリティグループを選択して開きます。

1. **[Outbound rules]** (アウトバウンドルール) タブを選択します。

1. 次のセキュリティグループルールが存在することを確認します。
   + タイプ: **MYSQL/Aurora**
   + ポート範囲: **3306**
   + 送信先: ***sg-1234567890example* / rds-ec2-*x***
   + 説明: **このセキュリティグループがアタッチされている任意のインスタンスからの **database-tutorial** への接続を許可するルール**

これらのセキュリティグループとセキュリティグループルールが存在し、この手順の記述にあるように RDS データベースと EC2 インスタンスに割り当てられていることを確認することで、自動接続機能を使用して接続が自動的に設定されたことを確認できます。

### アニメーションを表示: 接続設定を確認する
<a name="option1-task4-verify-connection-configuration-animation"></a>

![\[このアニメーションでは、接続設定を確認する方法を説明します。このアニメーションのテキストバージョンについては、前述の手順のステップを参照してください。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/tutorial-verify-automatic-connection.gif)


これで、このチュートリアルのオプション 1 が完了しました。これで、RDS コンソールを使用して EC2 インスタンスを RDS データベースに自動接続する方法について説明するオプション 2 を完了するか、オプション 1 で自動的に作成されたセキュリティグループを手動で設定する方法について説明するオプション 3 を完了することができます。

## タスク 5 (*オプション*): クリーンアップする
<a name="option2-task5-cleanup"></a>

**警告**  
**インスタンスの終了は恒久的で、元に戻すことができません。**  
インスタンスを終了すると、そのインスタンスには接続できなくなり、復元することもできません。アタッチされている Amazon EBS ボリュームで、終了時に削除されるように設定されているものも、すべて恒久的に削除され、復元できません。インスタンスストアボリュームに保存されているデータは、すべて恒久的に失われます。詳細については、「[インスタンスの終了方法](how-ec2-instance-termination-works.md)」を参照してください。  
インスタンスを終了する前に、終了後も保持する必要があるすべてのデータを永続的ストレージにバックアップしたことを確認してください。

チュートリアルを完了したので、使用しなくなったリソースをすべてクリーンアップ (削除) することをおすすめします。AWS リソースをクリーンアップすることで、アカウントに追加料金が発生するのを防ぐことができます。

このチュートリアル専用に EC2 インスタンスを起動した場合、そのインスタンスを終了することで、それに関連した料金が発生するのを防ぐことができます。

**コンソールを使用してインスタンスを終了するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. このチュートリアルで作成したインスタンスを選択し、**[Instance state]** (インスタンスの状態)、**[Terminate instance]** (インスタンスの終了) の順に選択します。

1. 確認を求めるメッセージが表示されたら、[**Terminate (終了)**] を選択してください。

このチュートリアル専用に RDS データベースを作成した場合、削除することで、それに関連した料金が発生するのを防ぐことができます。

**コンソールを使用して RDS データベースを削除するには**

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、**[Databases]** (データベース) を選択します。

1. このチュートリアル用に作成した RDS データベースを選択し、**[Actions]** (アクション)、**[Delete]** (削除) を選択します。

1. ボックスに **delete me** を入力し、**[Delete]** (削除) をクリックします。