EC2 インスタンスと DB インスタンスを自動的に接続する - Amazon Relational Database Service

EC2 インスタンスと DB インスタンスを自動的に接続する

RDS コンソールを使用して、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスと DB インスタンスとの接続を簡単に設定できます。多くの場合、DB インスタンスはプライベートサブネットにあり、EC2 インスタンスは VPC 内のパブリックサブネットにあります。EC2 インスタンスの SQL クライアントを使用して、DB インスタンス に接続できます。EC2 インスタンスは、プライベート DB インスタンス にアクセスするウェブサーバーやアプリケーションを実行することもできます。EC2 インスタンスとマルチ AZ DB クラスター間の接続をセットアップする方法については、「EC2 インスタンスとマルチ AZ DB クラスターを自動的に接続する」を参照してください。

DB インスタンス と EC2 インスタンスを自動接続します。

DB インスタンスと同じ VPC にない EC2 インスタンスに接続する場合は、「VPC の DB インスタンスにアクセスするシナリオ」のシナリオを参照してください。

EC2 インスタンスとの自動接続の概要

EC2 インスタンスと RDS データベース間の接続を設定すると、Amazon RDS は EC2 インスタンスと RDS データベース の VPC セキュリティグループを自動的に設定します。

EC2 インスタンスと RDS データベース を接続するための要件は次のとおりです。

  • EC2 インスタンスは RDS データベース と同じ VPC に存在する必要があります。

    同じ VPC に EC2 インスタンスが存在しない場合、コンソールには EC2 インスタンス作成用のリンクが表示されます。

  • 接続を設定するユーザーには、以下の Amazon EC2 オペレーションを実行するアクセス許可が必要です。

    • ec2:AuthorizeSecurityGroupEgress

    • ec2:AuthorizeSecurityGroupIngress

    • ec2:CreateSecurityGroup

    • ec2:DescribeInstances

    • ec2:DescribeNetworkInterfaces

    • ec2:DescribeSecurityGroups

    • ec2:ModifyNetworkInterfaceAttribute

    • ec2:RevokeSecurityGroupEgress

DB インスタンスと EC2 インスタンスが異なるアベイラビリティーゾーンにある場合、アベイラビリティーゾーン間のコストが発生する可能性があります。

EC2 インスタンスへの接続を設定すると、次の表で示されているように、Amazon RDS は、RDS データベースと EC2 インスタンスに関連付けられているセキュリティグループの現在の設定に基づいて動作します。

現在の RDS セキュリティグループの設定 現在の EC2 セキュリティグループの設定 RDS アクション

RDS データベース に関連付けられたセキュリティグループには、パターン rds-ec2-n (n は数字) に一致する名前のセキュリティグループが 1 つまたは複数あります。パターンに一致するセキュリティグループは変更されていません。このセキュリティグループには、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが 1 つのみ存在します。

パターン ec2-rds-n (n は数字) に一致する名前の EC2 インスタンスに関連付けられたセキュリティグループが 1 つまたは複数存在します。パターンに一致するセキュリティグループは変更されていません。このセキュリティグループには、RDS データベース の VPC セキュリティグループをソースとするアウトバウンドルールが 1 つのみ存在します。

RDS は何のアクションも実行しません。

EC2 インスタンスと RDS データベース との接続は、既に自動で設定されています。EC2 インスタンスと RDS データベースの間には既に接続が存在するため、セキュリティグループは変更されません。

次の条件のいずれかが適用されます。

  • RDS データベース には、パターン rds-ec2-n と名前が一致する関連付けられたセキュリティグループはありません。

  • RDS データベース に関連付けられたセキュリティグループには、パターン rds-ec2-n に一致する名前のセキュリティグループが 1 つまたは複数あります。ただし、Amazon RDS は、これらのセキュリティグループのいずれも、EC2 インスタンスとの接続には使用できません。Amazon RDS は、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが 1 つも存在しないセキュリティグループを使用できません。また、Amazon RDS は、変更されたセキュリティグループを使用できません。変更の例としては、ルールの追加や、既存ルールのポート変更などがあります。

次の条件のいずれかが適用されます。

  • EC2 インスタンスに関連付けされた、パターン ec2-rds-n に一致する名前のセキュリティグループは存在しません。

  • EC2 インスタンスに関連付けられた、パターン ec2-rds-n に一致する名前のセキュリティグループが 1 つまたは複数存在します。ただし、Amazon RDS は、これらのセキュリティグループのいずれも、RDS データベースとの接続には使用できません。Amazon RDS は、RDS データベース の VPC セキュリティグループをソースとするアウトバウンドルールが 1 つもないセキュリティグループを使用できません。また、Amazon RDS は、変更されたセキュリティグループを使用できません。

RDS action: create new security groups

RDS データベース に関連付けられたセキュリティグループには、パターン rds-ec2-n に一致する名前のセキュリティグループが 1 つまたは複数あります。パターンに一致するセキュリティグループは変更されていません。このセキュリティグループには、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが 1 つのみ存在します。

EC2 インスタンスに関連付けられた、パターン ec2-rds-n に一致する名前のセキュリティグループが 1 つまたは複数存在します。ただし、Amazon RDS は、これらのセキュリティグループのいずれも、RDS データベースとの接続には使用できません。Amazon RDS は、RDS データベース の VPC セキュリティグループをソースとするアウトバウンドルールが 1 つもないセキュリティグループを使用できません。また、Amazon RDS は、変更されたセキュリティグループを使用できません。

RDS action: create new security groups

RDS データベース に関連付けられたセキュリティグループには、パターン rds-ec2-n に一致する名前のセキュリティグループが 1 つまたは複数あります。パターンに一致するセキュリティグループは変更されていません。このセキュリティグループには、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが 1 つのみ存在します。

接続に有効な EC2 セキュリティグループは存在しますが、EC2 インスタンスに関連付けられていません。このセキュリティグループには、パターン ec2-rds-n に一致する名前が付いています。これは変更されていません。また、これには RDS データベース の VPC セキュリティグループをソースとするアウトバウンドルールが 1 つのみ存在します。

RDS action: associate EC2 security group

次の条件のいずれかが適用されます。

  • RDS データベース には、パターン rds-ec2-n と名前が一致する関連付けられたセキュリティグループはありません。

  • RDS データベース に関連付けられたセキュリティグループには、パターン rds-ec2-n に一致する名前のセキュリティグループが 1 つまたは複数あります。ただし、Amazon RDS は、これらのセキュリティグループのいずれも、EC2 インスタンスとの接続には使用できません。Amazon RDS は、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが 1 つも存在しないセキュリティグループを使用できません。また、Amazon RDS は、変更されたセキュリティグループを使用できません。

EC2 インスタンスに関連付けられた、パターン ec2-rds-n に一致する名前のセキュリティグループが 1 つまたは複数存在します。パターンに一致するセキュリティグループは変更されていません。このセキュリティグループには、RDS データベース の VPC セキュリティグループをソースとするアウトバウンドルールが 1 つのみ存在します。

RDS action: create new security groups
RDS アクション: 新しいセキュリティグループを作成する

Amazon RDS は以下のアクションを実行します。

  • パターン rds-ec2-n に一致する新しいセキュリティグループを作成します。このセキュリティグループには、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが存在します。このセキュリティグループでは、RDS データベース に関連付けられており、EC2 インスタンスが RDS データベースへのアクセスを許可します。

  • パターン ec2-rds-n に一致する新しいセキュリティグループを作成します。このセキュリティグループには、RDS データベースの VPC セキュリティグループをターゲットとするアウトバウンドルールが存在します。このセキュリティグループには EC2 インスタンスに関連付けられ、EC2 インスタンスが RDS データベース にトラフィックの送信を許可します。

RDS アクション: EC2 セキュリティグループを関連付ける

Amazon RDS は、有効な既存の EC2 セキュリティグループを EC2 インスタンスに関連付けます。このセキュリティグループにより、EC2 インスタンスは RDS データベース にトラフィックの送信を許可します。

EC2 インスタンスと RDS データベースを自動的に接続する

EC2 インスタンスと RDS データベース との接続を設定する前に、「EC2 インスタンスとの自動接続の概要」で説明されている要件を満たしていることを確認してください。

接続の設定後にこれらのセキュリティグループを変更すると、EC2 インスタンスと RDS データベース との接続に影響する可能性があります。

注記

AWS Management Console を使用することでのみ、EC2 インスタンスと RDS データベース との接続を自動で設定できます。AWS CLI または RDS API を使用して自動で接続を設定することはできません。

EC2 インスタンスと RDS データベース を自動的に接続するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/ を開きます。

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

  3. [アクション] から [EC2 接続の設定] を選択します。

    [Set up EC2 connection] (EC2 接続の設定) ページが表示されます。

  4. [Set up EC2 connection] (EC2 接続の設定) ページで、[EC2 instance] (EC2 インスタンス) を選択します。

    EC2 接続の設定ページ。

    同じ VPC に EC2 インスタンスが存在しない場合は、[Create EC2 instance] (EC2 インスタンスの作成) を選択します。この場合、新しい EC2 インスタンスが RDS データベース と同じ VPC にあることを確認してください。

  5. [Continue] (続行) をクリックします。

    [Review and confirm] (確認と確定) ページが表示されます。

    EC2 接続の確認と確定ページ。
  6. [Review and confirm] (確認と確定) ページで、EC2 インスタンスとの接続を設定するために RDS が行う変更を確認します。

    変更が正しければ、[確認とセットアップ] を選択します。

    変更内容が正しくない場合は、[Previous] (前へ) または [Cancel] (キャンセル) を選択します。

接続中のコンピューティングリソースを表示する

AWS Management Console を使用して、RDS データベースに接続されているコンピューティングリソースを表示できます。表示されるリソースには、自動的に設定されたコンピューティングリソース接続が含まれます。コンピューティングリソースとの接続は、次の方法で自動的に設定できます。

コンピューティングリソースリストには、手動でデータベースに接続されたものは含まれていません。例えば、データベースに関連付けられた VPC セキュリティグループにルールを追加することで、コンピューティングリソースがデータベースに手動でアクセスできるようになります。

コンピューティングリソースをリスト化するには、次の条件を満たしている必要があります。

  • コンピューティングリソースに関連付けられているセキュリティグループの名前がパターン ec2-rds-n (n は数字) と一致する。

  • コンピューティングリソースに関連付けられたセキュリティグループには、ポート範囲が RDS データベースが使用するポートに設定されたアウトバウンドルールがあります。

  • コンピューティングリソースに関連付けられたセキュリティグループには、ソースが RDS データベース に関連付けられたセキュリティグループに設定されたアウトバウンドルールがある。

  • RDS データベースに関連付けられたセキュリティグループの名前が、パターン rds-ec2-n (n は数字) に一致する。

  • RDS データベースに関連付けられたセキュリティグループには、ポート範囲が RDS データベースが使用するポートに設定されたインバウンドルールがあります。

  • RDS データベース に関連付けられたセキュリティグループには、ソースがコンピューティングリソースに関連付けられたセキュリティグループに設定されたインバウンドルールがある。

RDS データベースに接続されているコンピューティングリソースを表示するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/ を開きます。

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

  3. [Connectivity & security] (接続とセキュリティ) タブの [Connected compute resources] (接続されたコンピューティングリソース) にコンピューティングリソースが表示されます。

    接続中のコンピューティングリソース。

特定の DB エンジンを実行している DB インスタンスに接続する

特定の DB エンジンを実行している DB インスタンスへの接続については、DB エンジンの指示に従ってください。