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 インスタンスと同じ 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 インスタンスと RDS データベース との接続は、既に自動で設定されています。EC2 インスタンスと RDS データベースの間には既に接続が存在するため、セキュリティグループは変更されません。 |
次の条件のいずれかが適用されます。
|
次の条件のいずれかが適用されます。
|
RDS action: create new security groups |
RDS データベース に関連付けられたセキュリティグループには、パターン |
EC2 インスタンスに関連付けられた、パターン |
RDS action: create new security groups |
RDS データベース に関連付けられたセキュリティグループには、パターン |
接続に有効な EC2 セキュリティグループは存在しますが、EC2 インスタンスに関連付けられていません。このセキュリティグループには、パターン |
RDS action: associate EC2 security group |
次の条件のいずれかが適用されます。
|
EC2 インスタンスに関連付けられた、パターン |
RDS action: create new security groups |
RDS アクション: 新しいセキュリティグループを作成する
Amazon RDS は以下のアクションを実行します。
-
パターン
rds-ec2-
に一致する新しいセキュリティグループを作成します。このセキュリティグループには、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが存在します。このセキュリティグループでは、RDS データベース に関連付けられており、EC2 インスタンスが RDS データベースへのアクセスを許可します。n
-
パターン
ec2-rds-
に一致する新しいセキュリティグループを作成します。このセキュリティグループには、RDS データベースの VPC セキュリティグループをターゲットとするアウトバウンドルールが存在します。このセキュリティグループには EC2 インスタンスに関連付けられ、EC2 インスタンスが RDS データベース にトラフィックの送信を許可します。n
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 データベース を自動的に接続するには
AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 -
ナビゲーションペインで、[Databases] (データベース) を選択し、RDS データベース のリンクを選択します。
-
[アクション] から [EC2 接続の設定] を選択します。
[Set up EC2 connection] (EC2 接続の設定) ページが表示されます。
-
[Set up EC2 connection] (EC2 接続の設定) ページで、[EC2 instance] (EC2 インスタンス) を選択します。
同じ VPC に EC2 インスタンスが存在しない場合は、[Create EC2 instance] (EC2 インスタンスの作成) を選択します。この場合、新しい EC2 インスタンスが RDS データベース と同じ VPC にあることを確認してください。
-
[Continue] (続行) をクリックします。
[Review and confirm] (確認と確定) ページが表示されます。
-
[Review and confirm] (確認と確定) ページで、EC2 インスタンスとの接続を設定するために RDS が行う変更を確認します。
変更が正しければ、[確認とセットアップ] を選択します。
変更内容が正しくない場合は、[Previous] (前へ) または [Cancel] (キャンセル) を選択します。
接続中のコンピューティングリソースを表示する
AWS Management Console を使用して、RDS データベースに接続されているコンピューティングリソースを表示できます。表示されるリソースには、自動的に設定されたコンピューティングリソース接続が含まれます。コンピューティングリソースとの接続は、次の方法で自動的に設定できます。
-
データベースを作成するときに、コンピューティングリソースを選択できます。
詳細については、Amazon RDS DB インスタンスの作成およびAmazon RDS 用のマルチ AZ DB クラスターの作成を参照してください。
-
既存のデータベースとコンピューティングリソース間の接続を設定できます。
詳細については、「EC2 インスタンスと RDS データベースを自動的に接続する」を参照してください。
コンピューティングリソースリストには、手動でデータベースに接続されたものは含まれていません。例えば、データベースに関連付けられた VPC セキュリティグループにルールを追加することで、コンピューティングリソースがデータベースに手動でアクセスできるようになります。
コンピューティングリソースをリスト化するには、次の条件を満たしている必要があります。
-
コンピューティングリソースに関連付けられているセキュリティグループの名前がパターン
ec2-rds-
(n
は数字) と一致する。n
-
コンピューティングリソースに関連付けられたセキュリティグループには、ポート範囲が RDS データベースが使用するポートに設定されたアウトバウンドルールがあります。
-
コンピューティングリソースに関連付けられたセキュリティグループには、ソースが RDS データベース に関連付けられたセキュリティグループに設定されたアウトバウンドルールがある。
-
RDS データベースに関連付けられたセキュリティグループの名前が、パターン
rds-ec2-
(n
は数字) に一致する。n
-
RDS データベースに関連付けられたセキュリティグループには、ポート範囲が RDS データベースが使用するポートに設定されたインバウンドルールがあります。
-
RDS データベース に関連付けられたセキュリティグループには、ソースがコンピューティングリソースに関連付けられたセキュリティグループに設定されたインバウンドルールがある。
RDS データベースに接続されているコンピューティングリソースを表示するには
AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 -
ナビゲーションペインで、[Databases] (データベース) を選択し、RDS データベース の名前を選択します。
-
[Connectivity & security] (接続とセキュリティ) タブの [Connected compute resources] (接続されたコンピューティングリソース) にコンピューティングリソースが表示されます。
特定の DB エンジンを実行している DB インスタンスに接続する
特定の DB エンジンを実行している DB インスタンスへの接続については、DB エンジンの指示に従ってください。