VPC 外から Amazon Aurora DB クラスターに接続するにはどうすればよいですか?

最終更新日: 2021 年 1 月 28 日

VPC 外から Amazon Aurora DB クラスターに接続したいと考えています。また、外部接続から Aurora DB クラスターを保護することも考えています。これを行うにはどうすればよいですか?

簡単な説明

VPC の外部から Amazon Aurora DB クラスターに直接接続するには、クラスター内のインスタンスが次の要件を満たしている必要があります。

  • DB インスタンスにはパブリック IP アドレスが必要です
  • DB インスタンスは、パブリックにアクセス可能なサブネットで実行されている必要があります

VPC 外から接続できるように DB インスタンスを設定するだけでなく、Transport Layer Security (TLS) (以前の名称は Secure Sockets Layer (SSL)) を使用して、接続を保護することもできます。

解決方法

DB インスタンスの [Publicly Accessible] (パブリックアクセス可能) 設定を [Yes] (はい) に設定します

Amazon Relational Database Service (Amazon RDS) DB インスタンスの [ Publicly Accessible] (パブリックアクセス可能) 設定は、DB インスタンスへのパブリック IP アドレスの割り当てを制御します。

  • これを [No] (いいえ) に設定すると、DB インスタンスにはパブリック IP アドレスが割り当てられません
  • これが [Yes] に設定されている場合、DB インスタンスにはパブリック IP アドレスとプライベート IP アドレスの両方が割り当てられます。

DB インスタンスの [Publicly Accessible] (パブリックアクセス可能) 設定を [Yes] (はい) に変更するには、次の手順に従います。

  1. Amazon RDS コンソールを開きます。
  2. ナビゲーションペインで、[Databases] (データベース) を選択し、DB インスタンスを選択します。
  3. [Modify] (変更) を選択します。
  4. [Connectivity] (接続) で、[Additional configuration] (追加の構成) セクションを展開し、[Publicly accessible] (パブリックアクセス可能) を選択します。
  5. [Continue] (続行) を選択します。
  6. [Modify DB Instance] (DB インスタンスを変更) を選択します。

注意: [Apply Immediately] (すぐに適用) を選択する必要はありません。[Apply Immediately] (すぐに適用) がダウンタイムに与える影響については、「[すぐに適用] 設定を使用する」を参照してください。

パブリックサブネットで DB インスタンスを実行する

パブリックサブネットは、インターネットゲートウェイへのルート (一般的に 0.0.0.0/0 のデフォルトルート) があるルートテーブルに関連付けられたサブネットです。このルートにより、サブネット内の DB インスタンスが VPC 外のリソースと通信できるようになります。

Amazon Aurora DB インスタンスの場合、特定のサブネットを選択することはできません。代わりに、インスタンスの作成時に DB サブネットグループを選択します。

DB サブネットグループは、VPC に属するサブネットのコレクションです。基盤となるホストを作成すると、Amazon RDS は DB サブネットグループからサブネットをランダムに選択します。通常、VPC にはパブリックサブネットとプライベートサブネットの両方があります。DB サブネットグループにもパブリックサブネットとプライベートサブネットの両方が含まれている場合は、基盤となるホストは、パブリックサブネットまたはプライベートサブネットのいずれかで起動できます。基盤となるホストがプライベートサブネットで起動されている場合、VPC 外から DB インスタンスに接続することはできません。

その場合、同様のネットワーク構成のサブネットを持つ DB サブネットグループを作成します。例えば、パブリックサブネット用の DB サブネットグループやプライベートサブネット用の 2 番目の DB サブネットグループなどです。詳細については、「VPC の DB インスタンスの使用」を参照してください。

DB インスタンスが使用するサブネットにインターネットアクセスがあることを確認するには、次の手順に従います。

  1. VPC にインターネットゲートウェイがアタッチされていることを確認してください。
  2. DB サブネットグループ内のすべてのサブネットで、インターネットゲートウェイのルートテーブルが使用されていることを確認します。
    • サブネットが VPC のメインルートテーブルを使用する場合は、インターネットゲートウェイのルートを追加します (送信先は 0.0.0.0/0)。
    • 必要に応じて、インターネットゲートウェイへのルートを含むカスタムルートテーブルを作成し、サブネットに関連付けます。
  3. セキュリティグループのインバウンドルールで、DB インスタンスに接続するソースパブリック IP アドレスを追加します。
  4. ルールの [Type] (タイプ) で、エンジンのタイプに応じて [MySQL/Aurora] または [PostgreSQL] を選択します。
  5. [Source] (ソース) で CIDR 範囲を手動で入力するか、[My IP] (マイ IP) を選択して同じワークステーションから DB インスタンスに接続します。

VPC 外からの接続から DB クラスターを保護する

データ転送はインターネット経由で行われるため、TLS を使用して VPC 外からの接続を暗号化できます。最高レベルのセキュリティを使用していることを確認するには、ssl-ca パラメーターを使用して CA 証明書を渡し、ホスト名の検証を有効にします。使用している Aurora のバージョンに応じて、TLS 接続で次のコマンドの例を使用します。

Aurora MySQL 5.6 以降:

mysql -h test-aurora-56.cluster-xxxxxxxxxxxx.us-east-1.rds.amazonaws.com -u master_user --ssl-ca=rds-combined-ca-bundle.pem --ssl-verify-server-cert

Aurora MySQL 5.7 以降:

mysql -h test-aurora-57.cluster-xxxxxxxxxxxx.us-east-1.rds.amazonaws.com -u master_user --ssl-ca=rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY

Aurora PostgreSQL:

psql -h test-aurora-pg.cluster-xxxxxxxxxxxx.us-east-1.rds.amazonaws.com -p 5432 "dbname=postgres user=master_user sslrootcert=rds-combined-ca-bundle.pem sslmode=verify-full"

注意: DB クラスターに TLS を適用することもできます。Aurora MySQL の場合は、データベースユーザーレベルで TLS を適用する必要があります。Aurora PostgreSQL の場合は、パラメータ rds.force_ssl1 に設定します。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?