ここでは、アクティブノードを指すDNSエントリーを作成して、Route53を使用してノードを切り替える方法について説明します。
作成するRoute 53のレコードセット
node-a | A-IPv4 Address | 10.20.1.10 |
node-b | A-IPv4 Address | 10.20.2.10 |
node-active | A-IPv4 Address | 10.20.1.10 (node-a と同じ) |
ホストゾーンを作成する
まず、ホストゾーンが必要です(これはexample.comなど、DNSドメインのようなものです)。
- AWSのマネジメントコンソールで、Route53に移動します。
- ホストゾーン を選択します。
- 「ホストゾーンの作成」を選択します。
- 以下の値を入力します。
ドメイン名 | test.local |
タイプ | Private hosted zone |
VPC の関連付け | VPCのリージョンと名前を選択(例:LK-VPC) |
- これでホストゾーンが作成されました。この時点では、2つのエントリー(NSとSOA)しか作成されていません。
- 別のVPCから接続するには、他のVPCを関連付ける必要があります。
VPCの設定に移動し、この2つの値が有効(enabled)になっていることを確認します。
ホストゾーンにエントリーを作成する
- 以下に示すようにレコードを作成します。
- ホストを名前で解決できることを確認します。
IPリソースを作成する
これで、IPリソースを作成できます。なお、リソースのIPアドレスはアクティブノードである必要があります (node-active.test.cl のIPアドレス: 10.20.1.10). 詳細については、 IPリソースの作成 を参照してください。アクティブノード (10.20.1.10) のIPアドレスが選択されると、「IPリソースタグ」フィールドが「realip」に設定され、ノードb(セカンダリー)のIPアドレスは 10.20.2.10 2番目のノードの実際のIPアドレス)に設定されています。これらは、1番目のノードの「realip」idを選択することで自動的に選択されます。
IPリソースが作成されると、LifeKeeperユーザーインターフェースは以下のように表示されます。
インスタンスにRoute 53のエントリーを更新する権限を割り当てる
EC2インスタンス上で動作するLifeKeeperがRoute53のエントリーを更新できるようにするには、インスタンスにDNS更新を許可するロールが必要です。
- route53:ListHostedZones
- route53:GetChange
- route53:ChangeResourceRecordSets
- route53:ListResourceRecordSets
これを実現するには、以下に示すようなポリシーを作成し(アクセスできるリソースを制限する必要がある場合があることに注意してください)、それをロールに割り当てます。
ロールを定義したら、それをEC2インスタンスに割り当てます。
Route53リソースを作成する
Route53リソースは、IPリソースを作成した後であれば簡単に作成できます。
- Recovery KitにRoute53を選択します。
- 「Create Resource Wizard @ node-a」で、以下の値を指定します。
Switchback Type | Intelligent |
Server | node-a |
Domain Name (Route53 hosted zone) | test.local |
Host Name | node-active |
IP Resource | realip |
Route53 Resource Tag | reoute53-node-active |
- 「Pre-Extend Wizard」で、以下の値を指定します。
Target Server | node-b |
Switchback Type | Intelligent |
Template Priority | 1 |
Target Priority | 10 |
- Pre-Extend が完了したら、「Extend comm/route53 Resource」に進みます。「route53-node-active」を選択します。
- 「Hierarchy successfully extended」と表示されたら、リソースの作成は完了です。
- これで、下図のようにRoute53リソースが作成されました。
realipはroute53-node-activeの下にあることに注意してください。これは、「route53-node-active」リソースが「realip」リソースに依存することを示しています。
このトピックへフィードバック