VPC の DB インスタンスにアクセスするシナリオ - Amazon Relational Database Service

VPC の DB インスタンスにアクセスするシナリオ

Amazon RDS は、VPC の DB インスタンスにアクセスするための以下のシナリオをサポートします。

VPC 内の DB インスタンスに同じ VPC 内の Amazon EC2 インスタンスからアクセスする

VPC 内の DB インスタンスの一般的な用途は、同じ VPC 内の Amazon EC2 インスタンスで実行されるアプリケーションサーバーとデータを共有することです。

以下の図に、このシナリオを示しています。

パブリックウェブサーバーとプライベートデータベースを使用する VPC シナリオ。

同じ VPC 内の EC2 インスタンスと DB インスタンス間のアクセスを管理する方法として最も簡単なのは、次の方法です。

  • DB インスタンスが存在する VPC セキュリティグループを作成します。このセキュリティグループは、DB インスタンスへのアクセスを制限するのに使用できます。たとえば、このセキュリティグループのカスタムルールを作成できます。これにより、DB インスタンスを作成したときに割り当てたポートと、開発またはそのほかの目的で DB インスタンスにアクセスするのに使用する IP アドレスを使用して TCP へのアクセスを許可できます。

  • EC2 インスタンス (ウェブサーバーとクライアント) が属する VPC セキュリティグループを作成します。このセキュリティグループは、必要に応じて、VPC のルーティングテーブルを介したインターネットから EC2 インスタンスへのアクセスを許可できます。例えば、ポート 22 経由で EC2 インスタンスへの TCP アクセスを許可するルールをこのセキュリティグループに設定できます。

  • EC2 インスタンス用に作成したセキュリティグループからの接続を許可する DB インスタンスのセキュリティグループで、カスタムルールを作成します。このルールは、セキュリティグループのメンバーに DB インスタンスへのアクセスを許可します。

別のアベイラビリティーゾーンに、追加のパブリックサブネットとプライベートサブネットがあります。RDS DB サブネットグループには、2 つ以上のアベイラビリティーゾーンにサブネットが必要です。サブネットが追加されたことで、将来的にマルチ AZ DB インスタンス配置に簡単に切り替えることができるようになります。

このシナリオのパブリックとプライベートの両方のサブネットを使用する VPC を作成する方法のチュートリアルについては、「チュートリアル: DB インスタンスで使用する VPC を作成する (IPv4 専用)」を参照してください。

ヒント

DB インスタンスを作成すると自動的に、Amazon EC2 インスタンスと DB インスタンス間のネットワーク接続を設定できるようになります。詳細については、「EC2 インスタンスとの自動ネットワーク接続を設定する」を参照してください。

他のセキュリティグループからの接続を許可する VPC セキュリティグループにルールを作成するには、以下を実行します。
  1. AWS Management Console にサインインして、Amazon VPC コンソール (https://console.aws.amazon.com/vpc) を開きます。

  2. ナビゲーションペインで、[セキュリティグループ] を選択します。

  3. 他のセキュリティグループのメンバーからのアクセスを許可するセキュリティグループを、選択または作成します。前述のシナリオで、これは DB インスタンス向けに使用するセキュリティグループです。[インバウンドルール] タブを選択してから、[インバウンドルールの編集] を選択します。

  4. [インバウンドルールの編集] ページで、[ルールの追加] を選択します。

  5. [Type] (タイプ) から、DB インスタンスの作成時に使用したポートに対応するエントリ ([MYSQL/Aurora] など) を選択します。

  6. [ソース] ボックスで、セキュリティグループの ID の入力をスタートすると、一致するセキュリティグループが一覧表示されます。このセキュリティグループによって保護されているリソースへのアクセスを許可するメンバーが所属しているセキュリティグループを選択します。前述のシナリオで、これは EC2 インスタンス向けに使用するセキュリティグループです。

  7. 必要に応じて、[タイプ] に [すべての TCP] を、[ソース] ボックスにお客様のセキュリティグループを指定してルールを作成することで、TCP プロトコルのステップを繰り返します。UDP プロトコルを使用する場合は、[All UDP] (すべての UDP) を [Type] (タイプ) と [Source] (送信元) のセキュリティグループとして使用してルールを作成します。

  8. [Save Rules] (ルールの保存) を選択します。

次の画面には、ソース用のセキュリティグループを含むインバウンドルールが表示されます。

他のセキュリティグループのルールにセキュリティグループを追加する。

EC2 インスタンスから DB インスタンスに接続する方法の詳細については、「Amazon RDS DB インスタンスへの接続」を参照してください。

VPC 内の DB インスタンスに別の VPC 内の EC2 インスタンスからアクセスする

DB インスタンスがアクセスに使用している EC2 インスタンスとは異なる VPC にある場合、VPC ピア接続を使用してその DB インスタンスにアクセスできます。

以下の図に、このシナリオを示しています。

VPC 内の DB インスタンスに別の VPC 内の Amazon EC2 インスタンスからアクセスします。

VPC ピア接続は、プライベート IP アドレスを使用して 2 つの VPC 間でトラフィックをルーティングすることを可能にするネットワーク接続です。どちらの VPC のリソースも、同じネットワーク内に存在しているかのように、相互に通信できます。VPC ピアリング接続は、自分の VPC 間、別の AWS アカウントの VPC との間、または別の AWS リージョン の VPC との間に作成できます。VPC ピア接続の詳細については、Amazon Virtual Private Cloud ユーザーガイドの「VPC ピア接続」を参照してください。

インターネット経由でクライアントアプリケーションから VPC 内の DB インスタンスにアクセスする

インターネット経由でクライアントアプリケーションから VPC 内の DB インスタンスにアクセスするには、1 つのパブリックサブネットを持つ VPC と、インターネットを介した通信を可能にするインターネットゲートウェイを設定します。

以下の図に、このシナリオを示しています。

インターネット経由でクライアントアプリケーションから VPC 内の DB インスタンスにアクセスします。

次の構成をお勧めします。

  • サイズ /16 (例えば CIDR: 10.0.0.0/16) の VPC。このサイズでは 65,536 個のプライベート IP アドレスが提供されます。

  • サイズ /24 (例えば CIDR: 10.0.0.0/24) のサブネット。このサイズでは 256 個のプライベート IP アドレスが提供されます。

  • VPC およびサブネットに関連付けられている Amazon RDS DB インスタンス。Amazon RDS は、サブネット内の IP アドレスを DB インスタンスに割り当てます。

  • VPC をインターネットと他の AWS 製品に接続するインターネットゲートウェイ。

  • DB インスタンスに関連付けられたセキュリティグループ。セキュリティグループのインバウンドルールにより、クライアントアプリケーションは DB インスタンスにアクセスできます。

VPC での DB インスタンスの作成方法に関する詳細は、「VPC に DB インスタンスを作成する」を参照してください。

プライベートネットワークによってアクセスされる VPC 内の DB インスタンス

DB インスタンスがパブリックにアクセスできない場合は、プライベートネットワークからアクセスするための次のオプションがあります。

次の図は、AWS Site-to-Site VPN 接続のシナリオを示しています。

プライベートネットワークによってアクセスされる VPC 内の DB インスタンス

詳細については、「インターネットトラフィックのプライバシー」を参照してください。