

# チュートリアル: Amazon RDS データベースに Amazon EC2 インスタンスを接続する
<a name="tutorial-connect-ec2-instance-to-rds-database"></a>

## チュートリアルの目的
<a name="tutorial-connect-ec2-rds-objective"></a>

このチュートリアルでは、AWS マネジメントコンソール を使用して、Amazon EC2 インスタンスと Amazon RDS データベース間のセキュア接続を設定する方法について説明します。

接続を設定する方法は複数あります。このチュートリアルでは、以下の 3 つのオプションについて説明します。
+ [オプション 1: EC2 コンソールを使用してインスタンスを RDS データベースに自動的に接続する](tutorial-ec2-rds-option1.md)

  EC2 コンソールの自動接続機能を使用して、EC2 インスタンスと RDS データベース間のトラフィックを許可するように EC2 インスタンスと RDS データベース間の接続を自動的に設定します。
+ [オプション 2: RDS コンソールを使用して、インスタンスを RDS データベースに自動的に接続する](tutorial-ec2-rds-option2.md)

  RDS コンソールの自動接続機能を使用して、EC2 インスタンスと RDS データベース間のトラフィックを許可するように EC2 インスタンスと RDS データベース間の接続を自動的に設定します。
+ [オプション 3: セキュリティグループを作成して、インスタンスを RDS データベースに手動で接続する](tutorial-ec2-rds-option3.md)

  EC2 インスタンスと RDS データベース間の接続を設定するには、セキュリティグループを手動で設定してから、セキュリティグループを割り当てて、オプション 1 とオプション 2 の自動接続機能が自動作成する設定を再現します。

## Context
<a name="tutorial-connect-ec2-rds-context"></a>

EC2 インスタンスと RDS データベース間の接続を設定する理由の背景として、次のシナリオを考えてみましょう。ウェブサイトでユーザーに入力してもらうフォームがある場合、フォームデータをデータベースに取り込む必要があります。ウェブサーバーとして設定された EC2 インスタンスでウェブサイトをホストし、フォームデータを RDS データベースに取得できます。フォームデータを EC2 インスタンスから RDS データベースに送信するには、EC2 インスタンスと RDS データベースを相互接続する必要があります。このチュートリアルでは、その接続を構成する方法について説明します。なお、これは EC2 インスタンスと RDS データベースを接続するユースケースの一例にすぎません。

## アーキテクチャ
<a name="tutorial-connect-ec2-rds-architecture"></a>

次の図は、作成されるリソースと、このチュートリアルのすべてのステップを完了した結果のアーキテクチャ構成を示しています。

![\[このチュートリアルのすべてのステップを完了することで作成されるリソースと、そのアーキテクチャ構成。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ec2-rds-tutorial-architecture.png)


図は、作成する以下のリソースを示しています。
+ 同じ AWS リージョン、VPC、およびアベイラビリティーゾーンに EC2 インスタンスと RDS データベースを作成します。
+ パブリックサブネットに EC2 インスタンスを作成します。
+ プライベートサブネットに RDS データベースを作成します。

  RDS コンソールを使用して RDS データベースを作成し、EC2 インスタンスに自動接続すると、VPC、DB サブネットグループ、およびデータベースのパブリックアクセス設定が自動的に選択されます。RDS データベースは、EC2 インスタンスと同じ VPC 内のプライベートサブネットに自動的に作成されます。
+ インターネットユーザーは、SSH または HTTP/HTTPS を使用して、インターネットゲートウェイ経由で EC2 インスタンスに接続できます。
+ インターネットユーザーは RDS データベースに直接接続することはできません。EC2 インスタンスのみが RDS データベースに接続します。
+ 自動接続機能を使用して EC2 インスタンスと RDS データベース間のトラフィックを許可すると、次のセキュリティグループが自動的に作成および追加されます。
  + セキュリティグループ **ec2-rds-*x*** が作成され、EC2 インスタンスに追加されます。ここには、**rds-ec2-*x*** セキュリティグループを送信先として参照するアウトバウンドルールが 1 つ存在します。このルールにより、EC2 インスタンスからのトラフィックが **rds-ec2-*x*** セキュリティグループのある RDS データベースに到達できるようになります。
  + セキュリティグループ **rds-ec2-*x*** が作成され、RDS データベースに追加されます。**ec2-rds-*x*** セキュリティグループを送信元として参照するインバウンドルールが 1 つ存在します。このルールにより、**ec2-rds-*x*** セキュリティグループを持つ EC2 インスタンスからのトラフィックが RDS データベースに到達できるようになります。

  個別のセキュリティグループ (EC2 インスタンス用と RDS データベース用にそれぞれ 1 つずつ) を使用することで、インスタンスとデータベースのセキュリティをより適切に管理できます。インスタンスとデータベースの両方で同じセキュリティグループを使用し、例えばデータベースのみと合うようにセキュリティグループを変更した場合、その変更はインスタンスとデータベースの両方に影響します。言い換えると、1 つのセキュリティグループを使用した場合、セキュリティグループがアタッチされていることを忘れてしまい、リソース (インスタンスまたはデータベース) のセキュリティを意図せず変更してしまう可能性があることになります。

  また、自動的に作成されるセキュリティグループは最小特権に従っており、ワークロード固有のセキュリティグループペアを作成することで、データベースポート上のこのワークロードに対する相互接続のみを許可します。

## 考慮事項
<a name="tutorial-connect-ec2-rds-considerations"></a>

このチュートリアルのステップを実行する際には、次の点を考慮してください。
+ **2 つのコンソール** — このチュートリアルでは、次の 2 つのコンソールを使用します。
  + Amazon EC2 コンソール — EC2 コンソールを使用してインスタンスを起動したり、EC2 インスタンスを RDS データベースに自動接続したり、手動オプションのときにはセキュリティグループを作成して接続を設定します。
  + Amazon RDS コンソール — RDS コンソールを使用して RDS データベースを作成したり、EC2 インスタンスを RDS データベースに自動接続します。
+ **1 つの VPC** — 自動接続機能を使用するには、EC2 インスタンスと RDS データベースが同じ VPC 内にある必要があります。

  EC2 インスタンスと RDS データベース間の接続を手動で設定する場合、VPC で EC2 インスタンスを起動して、別の VPC で RDS データベースを起動することができますが、追加のルーティングと VPC 設定を設定する必要があります。このシナリオについては、このチュートリアルでは説明しません。
+ **1 つの AWS リージョン** — EC2 インスタンスと RDS データベースは同じリージョンにある必要があります。
+ **2 つのセキュリティグループ** — EC2 インスタンスと RDS データベース間の接続は、EC2 インスタンスのセキュリティグループと RDS データベースのセキュリティグループという 2 つのセキュリティグループが設定します。

  EC2 コンソールまたは RDS コンソールの自動接続機能を使用して接続を設定する場合 (このチュートリアルのオプション 1 とオプション 2)、セキュリティグループは自動的に作成され、EC2 インスタンスと RDS データベースに割り当てられます。

  自動接続機能を使用しない場合、セキュリティグループを手動で作成して割り当てる必要があります。これは、このチュートリアルのオプション 3 で行います。

## チュートリアル完了までの時間
<a name="tutorial-connect-ec2-rds-time"></a>

30 分

チュートリアルの全過程を 1 回で完了することも、1 つのタスクずつに分けて完了することもできます。

## コスト
<a name="tutorial-connect-ec2-rds-costs"></a>

このチュートリアルを完了すると、作成する AWS リソースのコストが発生する可能性があります。

AWS アカウントが無料利用枠の対象で、無料利用枠の要件に従ってリソースを設定している場合は、Amazon EC2 の[無料利用枠](https://aws.amazon.com/free/)を利用できます。詳細については、[2025 年 7 月 15 日より前とそれ以降の無料利用枠の特典](ec2-free-tier-usage.md#ec2-free-tier-comparison) を参照してください。

EC2 インスタンスと RDS データベースが異なるアベイラビリティーゾーンにある場合は、データ転送料金が発生します。これらの料金の発生を回避するには、EC2 インスタンスと RDS データベースが同じアベイラビリティーゾーンにある必要があります。データ転送料金の詳細については、「Amazon EC2 オンデマンド料金」ページの「[データ転送](https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer)」を参照してください。

チュートリアル完了後にコストが発生するのを避けるため、不要になったリソースは必ず削除してください。リソースを削除するステップについては、「[タスク 4 (*オプション*): クリーンアップする](tutorial-ec2-rds-option3.md#tutorial-ec2-rds-clean-up)」を参照してください。

# オプション 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]** (削除) をクリックします。

# オプション 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]** (削除) をクリックします。

# オプション 3: セキュリティグループを作成して、インスタンスを RDS データベースに手動で接続する
<a name="tutorial-ec2-rds-option3"></a>

オプション 3 では、自動接続機能の設定を手動で再現することで、EC2 インスタンスと RDS データベース間の接続を手動で設定する方法を説明します。

**Topics**
+ [[開始する前に]](#option3-before-you-begin)
+ [タスク 1 (*オプション*): EC2 インスタンスを起動する](#option3-task1-launch-ec2-instance)
+ [タスク 2 (*オプション*): RDS データベースを作成する](#option3-task2-create-rds-database)
+ [タスク 3: EC2 インスタンスを RDS データベースに手動的に接続する](#option3-task3-connect-rds-database-to-ec2-instance)
+ [タスク 4 (*オプション*): クリーンアップする](#tutorial-ec2-rds-clean-up)

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

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

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

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

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

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

1. AWS マネジメントコンソール にサインインし、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-manual-1**」にします。インスタンス名は必須ではありませんが、名前があると識別しやすくなります。

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="option3-launch-ec2-instance-animation"></a>

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


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

**注記**  
RDS データベースの作成については、このチュートリアルでカバーしません。RDS データベースがすでにあり、このチュートリアルで使用する場合は、このタスクをスキップできます。

このタスクでは、RDS データベースを作成します。このインスタンスは、EC2 インスタンスに接続するタスク 3 で使用します。このタスクのステップでは、RDS データベースを次のように設定します。


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

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

**MySQL DB インスタンスを作成するには**

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

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

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

1. **[Choose a database creation method]** (データベース作成方法を選択) で **[Easy Create]** (簡易作成) を選択します。このオプションを選択すると、接続を自動的に構成する自動接続機能は使用できません。

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

1. [**DB インスタンスサイズ**] で、[**無料利用枠**] を選択します。

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

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

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

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

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

### アニメーションを表示: DB インスタンスの作成
<a name="option3-task2-create-rds-database-animation"></a>

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


## タスク 3: セキュリティグループを作成してインスタンスに割り当てることで、EC2 インスタンスを RDS データベースに手動で接続する
<a name="option3-task3-connect-rds-database-to-ec2-instance"></a>

このタスクでは、次の手順を手動で実行して、自動接続機能の接続設定を再現します: 新しいセキュリティグループを 2 つ作成し、それぞれのセキュリティグループを EC2 インスタンスと RDS データベースに追加します。

**2 つの新しいセキュリティグループを作成し、それぞれを EC2 インスタンスと RDS データベースに割り当てるには**

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

1. まずは、EC2 インスタンスに追加するセキュリティグループを次のように作成します:

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

   1. **[セキュリティグループの作成]** を選択してください。

   1. **[Security group name]** (セキュリティグループ名) には、分かりやすいセキュリティグループ名を入力します。このチュートリアルでは、**ec2-rds-manual-configuration** と入力します。

   1. **[Description]** (説明) に、簡単な説明を入力します。このチュートリアルでは、**EC2 instance security group to allow EC2 instance to securely connect to RDS database** と入力します。

   1. **[セキュリティグループの作成]** を選択してください。RDS データベースのセキュリティグループを作成したら、このセキュリティグループに戻ってアウトバウンドルールを追加します。

1. 次に、以下の操作を行い、RDS データベースに追加するセキュリティグループを作成します。

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

   1. **[セキュリティグループの作成]** を選択してください。

   1. **[Security group name]** (セキュリティグループ名) には、分かりやすいセキュリティグループ名を入力します。このチュートリアルでは、**rds-ec2-manual-configuration** と入力します。

   1. **[Description]** (説明) に、簡単な説明を入力します。このチュートリアルでは、**RDS database security group to allow EC2 instance to securely connect to RDS database** と入力します。

   1. **[Inbound rules]** (インバウンドルール) タブで **[Add rule]** (ルールの追加) を選択し、以下の操作を行います。

      1. **[Type]** (タイプ) では **MySQL/Aurora** を選択します。

      1. **[Source]** (ソース) には、この手順のステップ 2 で作成した EC2 インスタンスのセキュリティグループ **ec2-rds-manual-configuration** を選択します。

   1. **[セキュリティグループの作成]** を選択してください。

1. 次のように、EC2 インスタンスのセキュリティグループを編集して、アウトバウンドルールを追加します。

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

   1. EC2 インスタンスのセキュリティグループ (**ec2-rds-manual-configuration** と名前を付けたもの) を選択し、**[Outbound rules]** (アウトバウンドルール) タブを選択します。

   1. **[Edit outbound rules]** (アウトバウンドルールの編集) を選択します。

   1. **[Add rule]** (ルールの追加) を選択し、次の操作を行います。

      1. **[Type]** (タイプ) では **MySQL/Aurora** を選択します。

      1. **[送信先]** には、この手順のステップ 3 で作成した RDS データベースのセキュリティグループ **rds-ec2-manual-configuration** を選択します。

      1. [**ルールの保存**] を選択します。

1. EC2 インスタンスのセキュリティグループを、次のように EC2 インスタンスに追加します:

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

   1. EC2 インスタンスを選択し、**[Actions]** (アクション)、**[Security]** (セキュリティ)、**[Change security groups]** (セキュリティグループの変更) の順に選択します。

   1. **[Associated security groups]** (関連するセキュリティグループ) で **[Select security groups]** (セキュリティグループの選択) フィールドを選択し、先程作成した **ec2-rds-manual-configuration** を選択して、**[Add security group]** (セキュリティグループの追加) を選択します。

   1. **[保存]** を選択します。

1. 以下の操作を行い、RDS データベースのセキュリティグループを RDS データベースに追加します。

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

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

   1. **[Modify]** (変更) を選択します。

   1. **[Connectivity]** (接続) にある **[Security group]** (セキュリティグループ) では、先程作成した **rds-ec2-manual-configuration** を選択し、**[Continue]** (続行) を選択します。

   1. **[Scheduling of modifications]** (変更のスケジュール) で **[Apply immediately]** (すぐに適用) を選択します。

   1. **[DB インスタンスを変更]** を選択します。

   これで、自動接続機能を使用した場合に発生する自動のステップを模倣した手動によるステップが完了しました。

これで、このチュートリアルのオプション 3 が完了しました。オプション 1、2、3 を完了し、このチュートリアルで作成したリソースが不要になった場合は、不要なコストが発生しないように、それらを削除する必要があります。詳細については、「[タスク 4 (*オプション*): クリーンアップする](#tutorial-ec2-rds-clean-up)」を参照してください。

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