VPC の DB クラスターにアクセスするシナリオ
Amazon Aurora は、VPC の DB クラスターにアクセスするための以下のシナリオをサポートします。
VPC 内の DB クラスターに同じ VPC 内の EC2 インスタンスからアクセスする
VPC 内の DB クラスターの一般的な用途は、同じ VPC 内の EC2 インスタンスで実行されるアプリケーションサーバーとデータを共有することです。
以下の図に、このシナリオを示しています。
![パブリックウェブサーバーとプライベートデータベースを使用する VPC シナリオ](images/con-VPC-sec-grp-aurora.png)
同じ 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 セキュリティグループにルールを作成するには、以下を実行します。
-
AWS Management Console にサインインして、Amazon VPC コンソール (https://console.aws.amazon.com/vpc
) を開きます。 -
ナビゲーションペインで、[Security groups] (セキュリティグループ) を選択します。
-
他のセキュリティグループのメンバーからのアクセスを許可するセキュリティグループを、選択または作成します。前述のシナリオで、これは DB クラスター向けに使用するセキュリティグループです。[インバウンドルール] タブを選択してから、[インバウンドルールの編集] を選択します。
-
[インバウンドルールの編集] ページで、[ルールの追加] を選択します。
-
[Type] (タイプ) から、DB クラスターの作成時に使用したポートに対応するエントリ ([MYSQL/Aurora] など) を選択します。
-
[ソース] ボックスで、セキュリティグループの ID の入力をスタートすると、一致するセキュリティグループが一覧表示されます。このセキュリティグループによって保護されているリソースへのアクセスを許可するメンバーが所属しているセキュリティグループを選択します。前述のシナリオで、これは EC2 インスタンス向けに使用するセキュリティグループです。
-
必要に応じて、[タイプ] に [すべての TCP] を、[ソース] ボックスにお客様のセキュリティグループを指定してルールを作成することで、TCP プロトコルのステップを繰り返します。UDP プロトコルを使用する場合は、[All UDP] (すべての UDP) を [Type] (タイプ) と [Source] (送信元) のセキュリティグループとして使用してルールを作成します。
-
[Save Rules] (ルールの保存) を選択します。
次の画面には、ソース用のセキュリティグループを含むインバウンドルールが表示されます。
![他のセキュリティグループのルールにセキュリティグループを追加する](images/con-vpc-add-sg-rule.png)
EC2 インスタンスから DB クラスターに接続する方法の詳細については、「Amazon Aurora DB クラスターへの接続」を参照してください。
VPC 内の DB クラスターに別の VPC 内の EC2 インスタンスからアクセスする
DB クラスターがアクセスに使用している EC2 インスタンスとは異なる VPC にある場合、VPC ピア接続を使用してその DB クラスターにアクセスできます。
以下の図に、このシナリオを示しています。
![VPC 内の DB インスタンスに別の VPC 内の EC2 インスタンスがアクセスする](images/RDSVPC2EC2VPC-aurora.png)
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 クラスターにアクセスする](images/GS-VPC-network-aurora.png)
次の構成をお勧めします。
-
サイズ /16 (例えば CIDR: 10.0.0.0/16) の VPC。このサイズでは 65,536 個のプライベート IP アドレスが提供されます。
-
サイズ /24 (例えば CIDR: 10.0.0.0/24) のサブネット。このサイズでは 256 個のプライベート IP アドレスが提供されます。
-
VPC およびサブネットに関連付けられている Amazon Aurora DB クラスター。Amazon RDS は、サブネット内の IP アドレスを DB クラスターに割り当てます。
-
VPC をインターネットと他の AWS 製品に接続するインターネットゲートウェイ。
-
DB クラスターに関連付けられたセキュリティグループ。セキュリティグループのインバウンドルールにより、クライアントアプリケーションは DB クラスターにアクセスできます。
VPC での DB クラスターの作成方法に関する詳細は、「VPC に DB クラスターを作成する」を参照してください。
プライベートネットワークによってアクセスされる VPC 内の DB クラスター
DB クラスターがパブリックにアクセスできない場合は、プライベートネットワークからアクセスするための次のオプションがあります。
AWS Site-to-Site VPN 接続。詳細については、「AWS Site-to-Site VPN とは」を参照してください。
AWS Direct Connect 接続。詳細については、「AWS Direct Connect とは?」を参照してください。
AWS Client VPN 接続。詳細については、「AWS Client VPN とは?」を参照してください。
次の図は、AWS Site-to-Site VPN 接続のシナリオを示しています。
![プライベートネットワークによってアクセスされる VPC 内の DB クラスター](images/site-to-site-vpn-connection-aurora.png)
詳細については、「インターネットトラフィックのプライバシー」を参照してください。