Amazon Relational Database Service (Amazon RDS) のマルチ AZ 配置を使用しています。フェイルオーバー後に RDS DB インスタンスと通信できないのはなぜですか? これを防ぐにはどうすればよいですか?
簡単な説明
マルチ AZ 配置を使用する場合には、Amazon RDS はサブネットに関連付けられている 1 つのアベイラビリティーゾーンでプライマリ 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 コンソールを開きます。
- ナビゲーションペインで、[お客様の VPC] を選択します。
- [VPC の作成] を選択します。
- [名前タグ] で、VPC の名前を入力します。
- [IPv4 CIDR ブロック] で、CIDR ブロックを入力します。
- [IPv6 CIDR ブロック] で、[IPv6 CIDR ブロックなし] を選択します。
- [テナンシー] で、[デフォルト] を選択します。
- [はい、作成する] を選択します。
インターネットゲートウェイを作成して、VPC にアタッチする
「インターネットゲートウェイの作成とアタッチ」の以下の手順に従います。
各アベイラビリティーゾーンにサブネットを作成する
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで、[Subnets] (サブネット) を選択します。
- [Create Subnet] (サブネットの作成) を選択します。
- [名前タグ] で、サブネットの名前を入力します。
- [VPC] で、作成した VPC を選択します。
- [アベイラビリティーゾーン] で、VPC 内のアベイラビリティーゾーンのいずれかを選択します。
- [IPv4 CIDR ブロック] で、VPC の CIDR の CIDR ブロックサブセットを入力します。
- [はい、作成する] を選択します。
- VPC の各アベイラビリティーゾーンで、ステップ 2 〜 8 を繰り返します。
インターネットゲートウェイへのルートを作成する
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで、[Route Tables] (ルートテーブル) を選択します。
- リソースのリストから、作成した VPC に関連付けられたルートテーブルを選択します。
- [Routes] (ルート) タブを選択します。次に、[Edit] (編集) を選択します。
- [別のルートを追加] を選択します。
- [送信先] に、0.0.0.0/0 と入力します。
- [Target] (ターゲット) で、作成したインターネットゲートウェイを選択します。
- [Save] (保存) を選択します。
サブネットをルートテーブルに関連付ける
- ルートテーブルを選択し、[サブネットの関連付け] タブを選択します。
- [編集] を選択します。
- VPC 内のすべてのサブネットの [関連付け] を選択します。
- [Save] (保存) を選択します。
VPC に関連付けられた DB サブネットグループを作成する
- Amazon RDS コンソールを開きます。
- ナビゲーションペインで、[サブネットグループ] を選択します。
- [DB サブネットグループの作成] を選択します。
- [名前] に、DB サブネットグループの名前を入力します。
- [説明] に、DB サブネットグループの説明を入力します。
- [VPC] で、作成した VPC を選択します。
- [アベイラビリティーゾーン] で、アベイラビリティーゾーンを 1 つ選択します。
- [サブネット ID] で、以前に選択したアベイラビリティーゾーンに対応するサブネットを選択します。
- [追加] を選択します。
- サブネットは、ステップ 7 ~ 9 を繰り返します。
注: 当該 VPC のすべてのサブネットをサブネットグループに追加する場合は、ステップ 7~9 はスキップできます。代わりに、[Add all subnets related to this VPC] (この VPC に関連するすべてのサブネットを追加) を選択して、この VPC のすべてのサブネットをサブネットグループに追加します。
- [Create] (作成) を選択します。
DB サブネットグループを作成したら、関連付けられた VPC でマルチ AZ DB インスタンスを起動します。これでインスタンスには整合するルーティングルールができました。DB サブネットグループ内のサブネットが同じルートテーブルに関連付けられているためです。
関連情報
High Availability (Multi-AZ) for Amazon RDS (Amazon RDS の高可用性 (マルチ AZ))