LoginSignup
15
8

More than 5 years have passed since last update.

aws-cli で CloudFront の設定を変更する。

Last updated at Posted at 2020-10-21

はじめに

CloudFrontは設定変更を誤った場合の影響が大きいです。そのためより安全に正確に変更作業を行うのにaws-cliを使うのが良いと思いました。

設定の確認

まず今回は通信用にサポートされる SSL/TLS プロトコルの変更を行うことにします。

ディストリビューションで現在設定されている内容を確認するには cloudfrontget-distribution-config コマンドで確認できます。
ただ、そのまま出力されると内容が多くて分かりにくいので、TLSの部分だけ抜き出します。

TLS確認
$ aws cloudfront get-distribution-config --id "xxxxxxxxxxxxx" | jq '.["DistributionConfig"]["ViewerCertificate"]["MinimumProtocolVersion"]'
"TLSv1"

現在の設定は TLSv1 が設定されています。

設定変更

それでは設定変更を行います。
まずは現在の設定状況を管理コンソールからも確認して見ます。

スクリーンショット 2018-03-25 15.35.58.png

今回は赤枠の TLSv1TLSv1.1_2016 へ切り替えたいと思います。
まず、先ほどの get-distribution-config で表示される DistributionConfig の部分をテキストへ出力します。

dist.conf
$ aws cloudfront get-distribution-config --id "xxxxxxxxxxxxx" | jq '.DistributionConfig' > dist.conf

出力したらそのファイルを開き TLSv1 の部分を TLSv1.1_2016 へ変更します。
サポートされる SSL/TLS プロトコル はこちらで確認してください。

変更確認
$ cat dist.conf | jq '.["ViewerCertificate"]["MinimumProtocolVersion"]'
"TLSv1"

次に ETag を取得します。このETagの取得が今回のポイントです。

ETag
$ aws cloudfront get-distribution-config --id "xxxxxxxxxxxxx" --profile proudit | jq '.ETag'
"EZLFL1SIXPXTL"

この ETag がマッチしないと設定の変更ができません。
それでは設定を更新します。

update-distribution
$ aws cloudfront update-distribution --id "xxxxxxxxxxxxx" --distribution-config file://dist.conf --if-match EZLFL1SIXPXTL

それでは Security Policy をもう一度確認して見ます。

確認
$ aws cloudfront get-distribution-config --id "xxxxxxxxxxxxx" | jq '.["DistributionConfig"]["ViewerCertificate"]["MinimumProtocolVersion"]'
"TLSv1.1_2016"

管理コンソールからも変更されていることが確認ができました。

スクリーンショット 2018-03-25 15.41.16.png

おわりに

管理コンソールでの設定変更は誤操作を誘発しやすくなります。コマンドの場合、作業ログの保存はもちろん、設定情報の変更前と変更後の差分をdiffなどで確認した上で更新できるのオススメです。

15
8
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
15
8