Route 53 のフェイルオーバーで「指定された名前のレコードは既に存在します」が発生したときの対処方法

2021.07.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

Route 53 のフェイルオーバーで、セカンダリレコードを追加すると「指定された名前のレコードは既に存在します。」というエラーが表示されます。 フェイルオーバーのレコードセット(プライマリとセカンダリ)は同じレコード名で登録する必要がある認識ですが、何か間違っているのでしょうか。対処方法を教えてください。

エラーが発生しました
指定された名前のレコードは既に存在します。
(InvalidChangeBatch 400: Tried to create resource record set [name='hato.example.com.', type='A', set-identifier='hato-failover', health check='4370bf91-3db5-4ebc-a0a1-394d570558f2'] but it already exists)

どう対応すればいいの?

レコードIDをご確認ください。

フェイルオーバーレコードは、プライマリとセカンダリのレコードが次の組合せに一致する必要があります。

  • レコード名が同じ
  • レコードタイプが同じ
  • レコードIDが異なる

設定例

そのため、同じレコード名で、ルーティングポリシーをフェイルオーバーに設定し、かつフェイルオーバーレコードタイプで、プライマリとセカンダリをそれぞれ指定していても、レコードIDが同じ場合はファイルオーバーとして設定できません。 フェイルオーバーのレコードを設定する際は、レコードIDが重複しない値になるように設定してください。

なお、ドキュメントによってレコードIDは「セットID」や「記録ID」と表記されている場合があります。

参考資料

レコード ID

ルーティングポリシーが Simple (シンプル) 以外のレコードを作成する場合は、名前とタイプが同じである場合に各レコードを一意に識別するための値を入力します。たとえば、日付/時刻スタンプまたはシーケンシャルカウンターを割り当てることができます。