Elastic Disaster Recovery (DRS) を利用してリージョン間レプリケートをプライベート通信で実現する方法を教えてください
はじめに
Elastic Disaster Recovery (DRS) を利用して東京リージョンから大阪リージョンに EC2 のレプリケートを行いたいと考えています。
要件上、通信を AWS のネットワーク内に閉じる構成としたいのですが、実現可能でしょうか。
どう対応すればいいの?
はい、VPC ピアリングや TransitGateway などで東京リージョンと大阪リージョンの VPC が接続されていれば実現可能です。
構成図としては以下になり、VPC エンドポイントは大阪リージョン(レプリケート先リージョン)に作成する構成となります。
※ Elastic Disaster Recovery network diagrams より引用
この際、東京リージョン上のソースサーバから、大阪リージョンに作成した以下の VPC エンドポイントの名前解決および 443 ポートでのネットワークアクセスが可能な状態にしておく必要がある点にはご注意ください。
- DRS Interface endpoint
- S3 Interface endpoint
「ソースサーバからレプリケーション先リージョン上に存在する VPC エンドポイントの名前解決を可能な状態にする」というのがポイントで、これを実現するには、Route53 のプライベートホストゾーンを利用した名前解決環境を合わせて用意しておく必要があります。
具体的には以下二つの Route53 プライベートホストゾーンを用意し、ソースサーバが存在するリージョンの VPC とレプリケーション先リージョンの VPC それぞれに関連付けを行ってください。
- DRS エンドポイント用ホストゾーン
- ドメイン名:com.amazonaws.<REGION>.drs
- 大阪リージョン上の DRS エンドポイントの DNS 名をエイリアス先として指定したレコードを A レコードで作成
- S3 エンドポイント用ホストゾーン
- ドメイン名:com.amazonaws.<REGION>.s3
- 大阪リージョン上の S3 エンドポイントの DNS 名をエイリアス先として指定したレコードを A レコードで作成
上記の名前解決環境を用意しなくても、DRS エージェントのインストール時に --endpoint オプションを利用して DRS エンドポイントを直接指定することで、レプリケーションを動作させること自体は可能です、
しかし、ドキュメントに記載があるように、EC2 環境で当該オプションを利用した場合、フェイルバックが正常に実行できなくなる可能性がありますので、VPC エンドポイントを自動的に名前解決できる環境を事前に用意し、当該オプションでの明示的な指定を不要な状況にしておく必要があります。
--endpoint
Use this parameter to specify the Private Link endpoint you created for Elastic Disaster Recovery if you do not wish to open your firewall ports to access the default AWS Elastic Disaster Recovery endpoint. Learn more about installing the agent on a blocked network.Note
We do not recommend using this flag when installing the AWS Elastic Disaster Recovery Agent on an EC2 Instance, as it can prevent successful failback from occuring. We recommend ensuring DNS automatically resolves the {region}.drs.amazonaws.com entry to the Private Link endpoint rather than leveraging this parameter.
なお、オンプレミス環境から DirectConnect 経由などで AWS にサーバのレプリケーションを行う場合は当該オプションが問題無く利用できるので、今回のような名前解決環境の構築は不要です。
補足
他 VPC 上にある VPC エンドポイントを利用するためのプライベートホストゾーンの具体的な設定方法としては、以下のブログ記事が参考になるかと思いますので、合わせてご参照いただければと思います。