Amazon Relational Database Service (Amazon RDS) のマルチ AZ 配置を使用しています。フェイルオーバー後に RDS DB インスタンスと通信できなくなる理由および、 この問題の回避方法を教えてください。
簡単な説明
マルチ AZ 配置を使用する際、Amazon RDS はサブネットに関連付けられた単一のアベイラビリティーゾーンにプライマリ DB インスタンスを作成します。次に、Amazon RDS は、別のサブネットに関連付けられた別のアベイラビリティーゾーンにスタンバイ DB インスタンスを作成します。
プライマリインスタンスのサブネットにおけるトラフィックルーティングルールがスタンバイ DB インスタンスのサブネットにおけるルールとは異なる場合、フェイルオーバー後に接続の問題が発生する可能性があります。このような接続の問題を回避するには、DB サブネットグループのサブネットには、ルートテーブルで定義された、一貫したルーティングルールがあることを確認してください。
DB サブネットグループのサブネットにおいて、一貫したルーティングルールを確保するには、サブネットを 1 つのルートテーブルに関連付けます。同じルートテーブルに関連付けられたサブネットを含む DB サブネットグループを作成するには、次の手順を実行します。
- Amazon Virtual Private Cloud (Amazon VPC) を作成します。
- インターネットゲートウェイを作成し、VPC にアタッチします。
- 各アベイラビリティーゾーンにサブネットを作成します。
- インターネットゲートウェイへのルートを作成します。
- サブネットをルートテーブルに関連付けます。
- VPC に関連付けられた DB サブネットグループを作成します。
注: 他の要因でも、DB インスタンスとの接続に問題が発生する可能性があります。Amazon RDS 接続の問題をトラブルシューティングする他の方法については、「Amazon RDS DB インスタンスに接続する際の問題を解決する方法を教えてください」を参照してください。
解決策
VPC を作成する
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [Your VPC] を選択します。
- [VPC を作成] を選択します。
- [名前タグ] に VPC の名前を入力します。
- [IPv4 CIDR ブロック] に CIDR ブロックを入力します。
- [IPv6 CIDRブロック] では、[IPv6 CIDRブロックを使用しない] を選択します。
- [テナンシー] で [デフォルト] を選択します。
- [作成する] を選択します。
インターネットゲートウェイを作成し、VPC にする
「インターネットゲートウェイを作成し、アタッチする」の手順を実行します。
各アベイラビリティーゾーンにサブネットを作成する
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [サブネット] を選択します。
- [サブネットの作成] を選択します。
- [名前タグ] にサブネットの名前を入力します。
- [VPC] では、作成した VPC を選択します。
- [アベイラビリティーゾーン] では、VPC 内の 1 つのアベイラビリティーゾーンを選択します。
- [IPv4 CIDR ブロック] には、VPC の CIDR の CIDR ブロックサブセットを入力します。
- [作成する] を選択します。
- VPC の各アベイラビリティーゾーンでステップ 2 から 8 を繰り返します。
インターネットゲートウェイへのルートを作成する
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [ルートテーブル] を選択します。
- リソースリストから、作成した VPC に関連するルートテーブルを選択します。
- [ルート] タブを選択します。次に、[編集] を選択します。
- [別のルートを追加] を選択します。
- [宛先] に 0.0.0.0/0 と入力します。
- [宛先] では、作成したインターネットゲートウェイを選択します。
- [保存] を選択します。
サブネットをルートテーブルに関連付ける
- ルートテーブルを選択し、[サブネットの関連付け] タブを選択します。
- [編集] を選択します。
- VPC 内のすべてのサブネットで [関連付け] を選択します。
- [保存] を選択します。
VPC に関連付ける DB サブネットグループを作成する
- Amazon RDS コンソールを開きます。
- ナビゲーションペインで [サブネットグループ] を選択します。
- [DB サブネットグループの作成] を選択します。
- [名前] に DB サブネットグループの名前を入力します。
- [説明] に DB サブネットグループの説明を入力します。
- [VPC] では、作成した VPC を選択します。
- [アベイラビリティーゾーン] では、アベイラビリティーゾーンを 1 つ選択します。
- [サブネット ID] では、先ほど選択したアベイラビリティーゾーンに対応するサブネットを選択します。
- [追加] を選択します。
- 各サブネットに対してステップ 7 ~ 9 を繰り返します。
注: VPC のすべてのサブネットをサブネットグループに追加する場合は、ステップ 7 ~ 9 をスキップしてもかまいません。代わりに、[この VPC に関連するすべてのサブネットを追加] を選択し、この VPC 内のすべてのサブネットをサブネットグループに追加します。
- [作成] を選択します。
DB サブネットグループを作成した後は、関連する VPC でマルチ AZ DB インスタンスを起動できるようになります。DB サブネットグループ内の各サブネットが同じルートテーブルに関連付けられているため、インスタンスには一貫したルーティングルールが適用されます。
関連情報
Amazon RDS 用の高可用性 (マルチ AZ)