EC2インスタンスとRDS DBインスタンスを自動接続してみた。

2023.05.26

概要

RDS の作成時に [Connect to an EC2 Compute resource] オプションを使用するか、既存の RDS/Aurora の場合に [Set up EC2 connection] オプションを使用して RDS と EC2 を自動的に接続できます。これにより、EC2 インスタンスと RDS データベース間の接続を許可するために必要なネットワーク設定が自動的に設定されます。この機能により、EC2インスタンスとRDSデータベース間の接続を数分でシームレスに確立することができます。

この記事では、EC2 Linux インスタンスと RDS for MySQL DB インスタンス間の自動接続の設定を試してみました。

やってみた

EC2の作成

  • この設定で EC2インスタンスを作成しておきます。
    • AMI : Amazon Linux 2 AMI
    • インスタンスタイプ : t2.micro
    • サブネット:パブリックサブネット
    • IAM ロール : Session Manager が EC2 にアクセスできるようにするロール。

 

RDS DB インスタンスの作成中に接続を設定する

  • RDS DB インスタンスの作成中に、[Connectivity] で [Connect to an EC2 compute resource] を選択し、接続する EC2 インスタンスを選択しておきます。
  • [Connect to an EC2 compute resource]を選択すると、RDS DB インスタンスが作成される VPC (EC2 と同じ) が自動的に選択されます。 VPC 設定は変更できません。
  • この自動接続により、EC2 インスタンスと RDS にセキュリティ グループが追加され、両者間の接続が可能になります。

 

 

  • ただし、既存のサブネット グループを選択することも、[Automatic setup] を選択することもできます。[Automatic setup] を選択すると、RDS に新しいサブネットとサブネット グループが作成されます。

 

EC2 インスタンスと既存の RDS 間の接続を構成する

  • RDS コンソールのナビゲーションペインで [Databases] を選択しておきます。
  • EC2に接続したいデータベースを選択して、[Actions] で [Set up EC2 connection] を選択しておきます。

 

 

  • 接続する EC2 インスタンスを選択しておきます。

 

  • 接続を確認して設定しておきます。
  • この自動接続により、EC2 インスタンスと RDS にセキュリティ グループが追加され、両者間の接続が可能になります。

 

 

セキュリティグループを確認する

RDS DBインスタンスのセキュリティグループを確認する

  • RDS DBインスタンスに、名前 [rds-ec2-1] のセキュリティグループが追加されました。このセキュリティ グループには、ポート 3306 とソースとしての EC2 セキュリティ グループを持つ受信ルールが含まれています。

 

 

EC2インスタンスのセキュリティグループを確認する

  • EC2 インスタンスに、名前 [ec2-rds-1] のセキュリティグループが追加されました。このセキュリティ グループには、ポート 3306 と送信先としての RDS セキュリティ グループを持つアウトバウンドルールが含まれています。

 

 

EC2とRDS間の接続を確認する

  • RDS データベース の [Connectivity & security] タブの [Connected compute resources] に接続されている EC2 インスタンスが表示されます。

 

 

  • EC2インスタンスからRDS DBインスタンスに接続することができました。

 

まとめ

EC2インスタンスとRDS DBインスタンスを自動接続してみました。RDSの [Connect to an EC2 Compute resource/Set up EC2 connection] オプションで、EC2インスタンスとRDS DBインスタンスを素早く接続することができます。

ReferenceConnect an EC2 Instance and an RDS database automatically.