チュートリアル: DB インスタンス用の VPC を作成する (デュアルスタックモード)
一般的なシナリオには、Amazon VPC サービスに基づく仮想プライベートクラウド (VPC) 内の DB インスタンスが含まれます。この VPC は、同じ VPC で実行しているパブリック Amazon EC2 インスタンスとデータを共有します。
このチュートリアルでは、デュアルスタックモードで実行されているデータベースで動作する VPC を、このシナリオで作成します。IPv6 アドレッシングプロトコルを介した接続を可能にするデュアルスタックモード。IP アドレスの割り当てについては、「Amazon RDS IP アドレス指定」を参照してください。
デュアルスタックのネットワークインスタンスは、ほとんどのリージョンでサポートされています。詳細については、「リージョンとバージョンの可用性」を参照してください。デュアルスタックモードの制限については、「デュアルスタックネットワーク DB インスタンスの制限」を参照してください。
以下の図に、このシナリオを示しています。
![デュアルスタックモードの VPC シナリオ](images/con-VPC-sec-grp-dual-stack.png)
その他のシナリオについては、VPC の DB インスタンスにアクセスするシナリオ を参照してください。
DB インスタンスは、Amazon EC2 インスタンスでのみ使用でき、パブリックインターネットから使用できないようにする必要があります。したがって、パブリックサブネットとプライベートサブネットを持つ VPC を作成します。Amazon EC2 インスタンスは、パブリックインターネットにアクセスできるようにパブリックサブネットでホストされます。DB インスタンスはプライベートサブネットでホストされます。Amazon EC2 インスタンスは同じ VPC 内でホストされているため、DB インスタンスに接続できます。ただし、DB インスタンスはパブリックインターネットからは使用できないため、セキュリティが向上します。
このチュートリアルでは、別のアベイラビリティーゾーンに追加のパブリックサブネットとプライベートサブネットを設定します。これらのサブネットはチュートリアルでは使用されません。RDS DB サブネットグループは、少なくとも 2 つのアベイラビリティーゾーン内のサブネットを必要とします。サブネットが追加されたことで、将来的にマルチ AZ DB インスタンス配置に簡単に切り替えることができるようになります。
デュアルスタックモードを使用する DB インスタンスを作成するには、[Network type] (ネットワークタイプ) 設定として [Dual-stack mode] (デュアルスタックモード) を指定します。DB インスタンスを同じ設定で変更することもできます。詳細については、Amazon RDS DB インスタンスの作成およびAmazon RDS DB インスタンスを変更するを参照してください。
このチュートリアルでは、Amazon RDS DB インスタンス 用に VPC を設定する方法について説明します。Amazon VPC の詳細については、「Amazon VPC ユーザーガイド」を参照してください。
プライベートサブネットおよびパブリックサブネットを持つ VPC を作成する
以下の手順で、パブリックサブネットとプライベートサブネットを持つ VPC を作成します。
VPC とサブネットを作成するには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
AWS Management Console の右上隅で、VPC を作成するリージョンを選択します。この例では、米国東部 (オハイオ) リージョンを使用します。
-
左上隅の [VPC dashboard] (VPC ダッシュボード) を選択します。VPC の作成を開始するには、[Create VPC] (VPC の作成) を選択します。
-
[VPC Settings] (VPC 設定) の [Resources to create] (作成するリソース) で、[VPC and more] (VPC など) を選択します。
-
残りの [VPC settings] (VPC 設定) で、これらの値を設定します。
-
[Name tag auto-generation] (ネームタグ自動生成) –
tutorial-dual-stack
-
[IPv4 CIDR block] (IPv4 CIDR ブロック) –
10.0.0.0/16
-
[IPv6 CIDR block] (IPv6 CIDR ブロック) – [Amazon-provided IPv6 CIDR block] (Amazon 提供の IPv6 CIDR ブロック)
-
[Tenancy] (テナンシー) – デフォルト
-
[Number of Availability Zones (AZs)] (アベイラビリティーゾーンの数 (AZ)) – 2
-
[Customize AZs] (AZ をカスタマイズする) – デフォルト値を維持します。
-
[Number of public subnet] (パブリックサブネット数) – 2
-
[Number of private subnets] (プライベートサブネット数) – 2
-
[Customize subnets CIDR blocks] (サブネット CIDR ブロックをカスタマイズ) — デフォルト値を維持します。
-
[NAT gateways ($)] (NAT ゲートウェイ ($)) – なし
-
[Egress only internet gateway] (Egress-only インターネットゲートウェイ): [No] (なし)
-
[VPC endpoints] (VPC エンドポイント) – なし
-
[DNS options] (DNS オプション) — デフォルト値を維持します。
注記
Amazon RDS では、マルチ AZ DB インスタンス配置をサポートするために、2 つの異なるアベイラビリティーゾーン内のサブネットを少なくとも 2 つ含んでいる必要があります。このチュートリアルではシングル AZ 配置を作成しますが、この要件により将来的に マルチ AZ DB インスタンス配備に簡単に変換できます。
-
-
[Create VPC(VPC の作成)] を選択します。
パブリック Amazon EC2 インスタンスの VPC セキュリティグループを作成する
次に、パブリックアクセスのためのセキュリティグループを作成します。VPC 内のパブリック EC2 インスタンスに接続するには、インターネットから接続するトラフィックを許可するインバウンドルールを VPC セキュリティグループに追加します。
VPC セキュリティグループを作成するには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
[VPC ダッシュボード]、[セキュリティグループ]、[セキュリティグループの作成] の順に選択します。
-
[セキュリティグループの作成] ページで、以下の値を設定します。
-
セキュリティグループ名:
tutorial-dual-stack-securitygroup
-
説明:
Tutorial Dual-Stack Security Group
-
[VPC ID]: 前に作成した VPC を選択します (例: [vpc-
identifier
(tutorial-dual-stack-vpc)])。
-
-
インバウンドルールをセキュリティグループに追加します。
-
Secure Shell (SSH) を使用して VPC の EC2 インスタンスへの接続に使用する IP アドレスを決定します。
インターネットプロトコルバージョン 4 (IPv4) アドレスの例は
203.0.113.25/32
です。インターネットプロトコルバージョン 6 (IPv6) のアドレス範囲の例は2001:db8:1234:1a00::/64
です。多くの場合、インターネットサービスプロバイダー (ISP) 経由、またはファイアウォールの内側から静的 IP アドレスなしで接続することがあります。この場合は、クライアントコンピュータが使用する IP アドレスの範囲を検索します。
警告
IPv4 の
0.0.0.0/0
または IPv6 の::0
を使用している場合は、すべての IP アドレスが SSH を使ってパブリックインスタンスにアクセスできるようにします。この方法は、テスト環境で短時間なら許容できますが、実稼働環境では安全ではありません。実稼働環境では、特定の IP アドレスまたは特定のアドレス範囲にのみ、インスタンスへのアクセスを許可します。 -
[インバウンドルール] セクションで、[ルールの追加] を選択します。
-
新しいインバウンドルールに次の値を設定して、Amazon EC2 インスタンスへの Secure Shell (SSH) アクセスを許可します。このようにした場合、EC2 インスタンスに接続して SQL クライアントやその他のアプリケーションをインストールできます。EC2 インスタンスへのアクセスできるように IP アドレスを指定します。
-
[Type] (タイプ):
SSH
-
[Source] (ソース): ステップ a で指定した IP アドレスまたは範囲。IPv4 IP アドレスの例は
203.0.113.25/32
です。IPv6 IP アドレスの例は2001:DB8::/32
です。
-
-
-
セキュリティグループを作成するには、[Create security group] (セキュリティグループの作成) を選択します。
セキュリティグループ ID を書き留めます。このチュートリアルで後に必要になります。
プライベート DB インスタンスの VPC セキュリティグループを作成する
DB インスタンスをプライベートのままにするには、プライベートアクセス用の第 2 のセキュリティグループを作成します。VPC 内のプライベート DB インスタンスに接続するには、VPC セキュリティグループにインバウンドルールを追加します。これにより、Amazon EC2 インスタンスからのトラフィックのみを許可します。
VPC セキュリティグループを作成するには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
[VPC ダッシュボード]、[セキュリティグループ]、[セキュリティグループの作成] の順に選択します。
-
[セキュリティグループの作成] ページで、以下の値を設定します。
-
セキュリティグループ名:
tutorial-dual-stack-db-securitygroup
-
説明:
Tutorial Dual-Stack DB Instance Security Group
-
[VPC ID]: 前に作成した VPC を選択します (例: [vpc-
identifier
(tutorial-dual-stack-vpc)])。
-
-
インバウンドルールをセキュリティグループに追加します。
-
[インバウンドルール] セクションで、[ルールの追加] を選択します。
-
新しいインバウンドルールに次の値を設定して、Amazon EC2 インスタンスからポート 3306 への MySQL トラフィックを許可します。その場合、EC2 インスタンスから DB インスタンスに接続できます。これにより、EC2 インスタンスからデータベースにデータを送信できるようになります。
-
[Type] (タイプ): MySQL/Aurora
-
[Source] (ソース): このチュートリアルで以前に作成した tutorial-dual-stack-securitygroup セキュリティグループの ID (例: sg-9edd5cfb)。
-
-
-
セキュリティグループを作成するには、[セキュリティグループの作成] を選択します。
DB サブネットグループを作成する
DB サブネットグループは VPC に作成するサブネットのコレクションで、DB インスタンス用に指定します。DB サブネットグループを使用することにより、DB インスタンスを作成するときに、特定の VPC を指定することができます。DUAL
互換の DB サブネットグループを作成するには、すべてのサブネットが DUAL
互換である必要があります。DUAL
互換であるためには、サブネットに IPv6 CIDR が関連付けられている必要があります。
DB サブネットグループを作成するには
-
VPC 内のデータベースのプライベートサブネットを特定します。
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
[VPC Dashboard] (VPC ダッシュボード) を選択してから、[Subnets] (サブネット) を選択します。
-
tutorial-dual-stack-subnet-private1-us-west-2a と tutorial-dual-stack-subnet-private2-us-west-2b という名前のサブネット ID に注意してください。
サブネット ID は、DB サブネットグループを作成するときに必要になります。
-
Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 Amazon VPC コンソールではなく、Amazon RDS コンソールに接続してください。
-
[Navigation] ペインで、[Subnet groups] を選択します。
-
[Create DB subnet group] (DB サブネットグループの作成) を選択します。
-
[DB サブネットグループを作成する] ページで、[サブネットグループの詳細] に値を設定します。
-
名前:
tutorial-dual-stack-db-subnet-group
-
説明:
Tutorial Dual-Stack DB Subnet Group
-
VPC: tutorial-dual-stack-vpc (vpc-
identifier
)
-
-
[Add subnets] (サブネットの追加) セクションで、[Availability Zones] (アベイラビリティーゾーン) オプションと [Subnets] (サブネット) オプションの値を選択します。
このチュートリアルでは、[Availability Zones] (アベイラビリティーゾーン) として [us-east-2a] と [us-east-2b] を選択します。[Subnets] (サブネット) では、前のステップで特定したプライベートサブネットを選択します。
-
[Create] (作成) を選択します。
RDS コンソールの DB サブネットグループリストに新しい DB サブネットグループが表示されます。DB サブネットグループを選択して詳細を表示できます。これには、サポートされているアドレス指定プロトコルと、そのグループに関連付けられたすべてのサブネット、DB サブネットグループによってサポートされるネットワークタイプが含まれます。
デュアルスタックモードの Amazon EC2 インスタンスを作成する
Amazon EC2 インスタンスを作成するには、「Amazon EC2 ユーザーガイド」の「新しいインスタンス起動ウィザードを使用してインスタンスを起動する」の指示に従います。
次に示すように、[Configure Instance Details] (インスタンスの詳細の設定) ページで次の値を設定し、他の値はデフォルトのままにします。
-
ネットワーク – パブリックサブネットとプライベートサブネットの両方を持つ既存の VPC を選択します (プライベートサブネットおよびパブリックサブネットを持つ VPC を作成する で作成した tutorial-dual-stack-vpc (vpc-
identifier
) など)。 -
[Subnet] (サブネット): 既存のパブリックサブネットを選択します (パブリック Amazon EC2 インスタンスの VPC セキュリティグループを作成する で作成した subnet-
identifier
| tutorial-dual-stack-subnet-public1-us-east-2a | us-east-2a など)。 -
[Auto-assign Public IP] (パブリック IP の自動割り当て)]: [Enable] (有効化) を選択します。
-
[Auto-assign IPv6 IP]: [Enable] (有効化) を選択します。
-
[Firewall (security groups)] (ファイアウォール (セキュリティグループ)) — [Select an existing security group] (既存のセキュリティグループを選択する) を選択します。
-
[Common security groups] (共通セキュリティグループ) —
tutorial-securitygroup
で作成された パブリック Amazon EC2 インスタンスの VPC セキュリティグループを作成する などの既存のセキュリティグループを選択します。選択するセキュリティグループに、Secure Shell (SSH) および HTTP アクセスのインバウンドルールが含まれていることを確認します。
デュアルスタックモードの DB インスタンスを作成する
このステップでは、デュアルスタックモードで実行する DB インスタンスを作成します。
DB インスタンスを作成するには
-
AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 コンソールの右上隅で、DB インスタンスを作成する AWS リージョン を選択します。この例では、米国東部 (オハイオ) リージョンを使用します。
-
ナビゲーションペインで、[データベース] を選択します。
-
[データベースの作成] を選択します。
[Create database] (データベースの作成) ページで、[Standard create] (スタンダード作成) オプションがオンになっていることを確認し、 MySQL DB を選択します。
-
[接続] セクションで、次の値を設定します。
-
[Network type] (ネットワークタイプ): [Dual-stack mode] (デュアルスタックモード) を選択します。
-
[Virtual private cloud (VPC)] (仮想プライベートクラウド (VPC)): パブリックサブネットとプライベートサブネットの両方を持つ既存の VPC を選択します (プライベートサブネットおよびパブリックサブネットを持つ VPC を作成する で作成した tutorial-dual-stack-vpc (vpc-
identifier
) など)。VPC の各サブネットは異なるアベイラビリティーゾーンに存在している必要があります。
-
[DB Subnet group] (DB サブネットグループ): VPC の DB サブネットグループ (DB サブネットグループを作成する で作成した tutorial-dual-stack-db-subnet-group など)。
-
[Public access] (公開アクセス) — [No] (いいえ) を選択します。
-
[VPC security group (firewall)] (VPC セキュリティグループ (ファイアウォール)) — [Choose existing] (既存を選択) を選択します。
-
[Existing VPC security groups] (既存の VPC セキュリティグループ) – プライベートアクセス用に設定されている既存の VPC セキュリティグループを選択します ( プライベート DB インスタンスの VPC セキュリティグループを作成する で作成した tutorial-dual-stack-db-securitygroup など)。
他のセキュリティグループ (デフォルトのセキュリティグループなど) は、それぞれの対応する [X] を選択して削除します。
-
[Availability zone] (アベイラビリティーゾーン): us-west-2a を選択します。
AZ 間のトラフィックを回避するには、DB インスタンスと EC2 インスタンスが同じアベイラビリティーゾーンにあることを確認してください。
-
-
残りのセクションで、DB インスタンス設定を指定します。各設定の詳細については、「DB インスタンスの設定」を参照してください。
Amazon EC2 インスタンスと DB インスタンスに接続する
Amazon EC2 インスタンスと DB インスタンスをデュアルスタックモードで作成した後、IPv6 プロトコルを使用して各インスタンスに接続できます。IPv6 プロトコルを使用して Amazon EC2 インスタンスに接続するには、「Amazon EC2 ユーザーガイド」の「Linux インスタンスに接続する」の指示に従ってください。
Amazon EC2 インスタンスから RDS for MySQL DB インスタンスに接続するには、「MySQL DB インスタンスに接続する」の手順に従ってください。
VPC の削除
このチュートリアルの VPC およびその他のリソースを作成後、不要になった場合は、削除できます。
このチュートリアルで作成した VPC にリソースを追加した場合は、VPC を削除する前にこれらを削除しなければならない場合があります。リソースの例としては、Amazon EC2 インスタンスや DB インスタンスなどがあります。詳細については、Amazon VPC ユーザーガイドの「VPC の削除」を参照してください。
VPC と関連リソースを削除する方法
-
DB サブネットグループを削除するには、次のようにします。
-
Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 -
[ナビゲーション] ペインで、[サブネットグループ] を選択します。
-
削除する DB サブネットグループを選択します ([tutorial-db-subnet-group] など)。
-
[削除] を選択してから、確認ウィンドウの [削除] を選択します。
-
-
次のようにして、VPC ID をメモします。
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
[VPC ダッシュボード] を選択してから、[VPC] を選択します。
-
リストで、作成した VPC を特定します ([tutorial-dual-stack-vpc] など)。
-
作成した VPC の [VPC ID] の値をメモします。後続のステップで、この VPC ID が必要になります。
-
セキュリティグループを削除するには、次のようにします。
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
[VPC ダッシュボード] を選択してから、[セキュリティグループ] を選択します。
-
Amazon RDS DB インスタンスのセキュリティグループを選択します ([tutorial-dual-stack-db-securitygroup] など)。
-
[Actions] (アクション) で、[Delete security groups] (セキュリティグループの削除) を選択してから、確認ページで [Delete] (削除) を選択します。
-
[Security Groups] (セキュリティグループ) ページで、Amazon EC2 インスタンスのセキュリティグループを選択します ([tutorial-dual-stack-securitygroup] など)。
-
[Actions] (アクション) で、[Delete security groups] (セキュリティグループの削除) を選択してから、確認ページで [Delete] (削除) を選択します。
-
次のようにして、NAT ゲートウェイを削除します。
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
[VPC ダッシュボード] を選択してから、[NAT ゲートウェイ] を選択します。
-
作成した VPC の NAT ゲートウェイを選択します。VPC ID を使用して、適切な NAT ゲートウェイを識別します。
-
[Actions] (アクション) で、[Delete NAT gateway] (NAT ゲートウェイの削除) を選択します。
-
確認ページで、「
delete
」を入力してから、[削除] を選択します。
-
VPC の削除
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
[VPC ダッシュボード] を選択してから、[VPC] を選択します。
-
削除する VPC を選択します ([tutorial-dual-stack-vpc] など)。
-
[アクション] で、[VPC の削除] を選択します。
確認ページには、VPC に関連付けられたサブネットを含め、削除される VPC に関連付けられているその他のリソースが表示されます。
-
確認ページで、「
delete
」を入力してから、[Delete] (削除) を選択します。
-
次のようにして、Elastic IP アドレスを解放します。
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
[EC2 ダッシュボード] を選択してから、[Elastic IP] を選択します。
-
解放する Elastic IP アドレスを選択します。
-
[Actions] (アクション) で、[Release Elastic IP addresses] (Elastic IP アドレスの解放) を選択します。
-
確認ページで、[リリース] を選択します。