0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AssociateAlias APIを使ってCloudFrontの代替ドメインを付け替える

Last updated at Posted at 2023-10-23

■概要
業務の中で、次のような作業が発生しました。

・CloudFront Aに設定している代替ドメインを、CloudFront Bに付け替えたい。
・ただし、付け替え中に発生するサイトのダウンは避けたい。

この要件を満たすために、AssociateAlias APIを使用して付け替えを実施しました。

AssociateAlias APIは、ダウンタイム無しでCloudFrontの代替ドメインを、他のCloudFrontに付け替えることができるAPIです。

本記事では、その手順を紹介します

以下、公式ドキュメントに沿って作業しています。

事前作業

API実行に必要な権限があるか確認

APIを実行するIAMユーザに、以降元と移行先のCloudFrontの操作の権限が付与されているか確認します。

具体的には以下権限

cloudfront:GetDistribution
cloudfront:ListConflictingAliases
cloudfront:AssociateAlias
cloudfront:UpdateDistribution

移行するドメインのSSL証明書を発行する

ドメインのSSL証明書がAWS内に無いと、そもそもCloudFrontに代替ドメインを設定できないため
事前にAWS ACMで証明書を発行しておく必要があります。

CNAMEの登録

APIを実行するユーザがドメインの変更権限を持っているかを確認するためのレコードを、当該ドメインを管理しているDNSに追加します。

レコード名には「_. + ドメイン名」を
値には付け替え先となるcloudfrontのドメインを設定する

例えばsample.comというドメインだった場合は以下のようなレコードを追加する

_.sample.com         900   IN   TXT     d2wrpwcohquu42.cloudfront.net	

# サブドメインの場合は_sub.sample.comになる
_sub.sample.com      900   IN   TXT     d2wrpwcohquu42.cloudfront.net	

AWS CLIのインストール

AssociateAlias APIを使うにはAWS CLIをインストールします。
インストール方法は下記参照

切り替え実行

準備ができたらAPIを実行します。

例えば
・移行先のCloudFrontのIDが「A123BCDEFG」
・移行したいドメイン名が「sample.com」
だった場合は以下コマンドになります。

aws cloudfront associate-alias --target-distribution-id A123BCDEFG --alias sample.com

APIのドキュメントは以下です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?