

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

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

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

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

このチュートリアルを完了するには、以下が必要です。
+ RDS データベースと同じ VPC にある EC2 インスタンス。既存の EC2 インスタンスを使用することも、タスク 1 のステップに従って新しいインスタンスを作成することもできます。
+ 次の操作を呼び出すアクセス許可:
  + `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 (*オプション*): EC2 インスタンスを起動する
<a name="option2-task1-launch-ec2-instance"></a>

**注記**  
インスタンスの起動は、このチュートリアルの対象外です。Amazon EC2 インスタンスがすでにあり、このチュートリアルで使用する場合は、このタスクをスキップできます。

このタスクでは、EC2 インスタンスを起動して、EC2 インスタンスと使用する Amazon RDS データベース間の接続を設定するタスク 2 を完了できるようにします。このタスクのステップでは、EC2 インスタンスを次のように設定します。
+ インスタンス名: **tutorial-instance-2**
+ 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. **[EC2 Dashboard]** (EC2 ダッシュボード) で、**[Launch instance]** (インスタンスの作成) を選択します。

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

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

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. **[View all instances]** (すべてのインスタンスの表示) を選択して確認ページを閉じ、コンソールに戻ります。インスタンスは最初 `pending` 状態になり、その後 `running` 状態になります。

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

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

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

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


## タスク 2: RDS データベースを作成し、それを EC2 インスタンスに自動接続する
<a name="option2-task2-create-rds-database"></a>

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


+ エンジンタイプ: MySQL
+ テンプレート: 無料利用枠
+ DB インスタンス識別子: **tutorial-database**
+ DB インスタンスクラス: `db.t3.micro`

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

**RDS データベースを作成して EC2 インスタンスに自動接続する**

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

1. リージョンセレクター (右上) から、EC2 インスタンスを作成した AWS リージョン を選択します。EC2 インスタンスと RDS データベースは同じリージョンにある必要があります。

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

1. **[Choose a database creation method]** (データベース作成方法を選択) で **[Standard Create]** (スタンダード作成) が選択されていることを確認します。**[Easy create]** (簡易作成) を選択した場合、自動接続機能は使用できません。

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

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

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

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

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

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

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

1. **[Connectivity]** (接続) にある **[Compute resource]** (コンピューティングリソース) で、**[Connect to an EC2 compute resource]** (EC2 コンピューティングリソースに接続する) を選択します。これは RDS コンソールの自動接続機能です。

1. **[EC2 instance]** (EC2 インスタンス) で、接続先のインスタンスを選択します。このチュートリアルでは、前のタスクで作成して **tutorial-instance** と名付けたインスタンスを選択することも、別の既存のインスタンスを選択することもできます。リストにインスタンスが表示されない場合は、**[Connectivity]** (接続) の右にある更新アイコンを選択します。

   自動接続機能を使用すると、この EC2 インスタンスにセキュリティグループが追加され、RDS データベースに別のセキュリティグループが追加されます。セキュリティグループは、EC2 インスタンスと RDS データベース間のトラフィックを許可するように自動的に設定されます。次のタスクでは、セキュリティグループが作成され、EC2 インスタンスと RDS データベースに割り当てられていることを確認します。

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

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

詳細については、「*Amazon RDS ユーザーガイド*」の「[EC2 インスタンスとの自動ネットワーク接続を設定する](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html#USER_CreateDBInstance.Prerequisites.VPC.Automatic)」を参照してください。

### アニメーションを表示: RDS データベースを作成して、EC2 インスタンスに自動接続する
<a name="task2-create-rds-database-animation"></a>

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


## タスク 3: 接続設定を検証する
<a name="option2-task3-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)


これで、このチュートリアルのオプション 2 が完了しました。これで、オプション 2 で自動的に作成されたセキュリティグループを手動で設定する方法を説明するオプション 3 を完了することもできます。

## タスク 4 (*オプション*): クリーンアップする
<a name="option2-task3-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]** (削除) をクリックします。