CloudFrontの設定を一括で取得・更新したい

CloudFrontの設定を取得するにはget-distribution-configを使用します。

設定を更新するにはupdate-distributionを使用します。

CloudFrontの設定を取得する

AWS CLIで一括取得することができます。

aws cloudfront get-distribution-config --id DISTRIBUTIONID

“DISTRIBUTIONID”には取得したいCloudFrontのディストリビューションIDを指定します。

以下のようなJSON形式で設定値が得られます。

{
    "ETag": "E2QWRUHEXAMPLE",
    "DistributionConfig": {
        "Aliases": {
            "Quantity": 0
        },
        "DefaultRootObject": "index.html",
        "Origins": {
            "Quantity": 1,
...

Cloudfrontの設定を一括更新する

取得したCloudFrontの設定情報を修正して、Cloudfrontの設定を更新することができます。

aws cloudfront update-distribution \
--id DISTRIBUTIONID \
--if-match ETAGID \
--distribution-config file://config.json

“DISTRIBUTIONID”には更新したいCloudFrontのディストリビューションIDを指定します。

“ETAGID”にはCloudFrontの設定を取得した際にJSON内で定義されていた”ETag”の値を指定します。上の例では”E2QWRUHEXAMPLE”が該当します。この値はCloudFront更新毎に変わるので注意が必要です。

“config.json”にはCloudFrontのディストリビューション設定値を格納します。上記の設定JSONのうち、”DistributionConfig”で定義されていた部分を抜き出し、修正をして、config.jsonファイルに書き込みます。

{
    "Aliases": {
        "Quantity": 0
    },
    "DefaultRootObject": "index.html",
    "Origins": {
        "Quantity": 1,
...

参考

https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/example_cloudfront_GetDistributionConfig_section.html