CloudFrontの設定をコマンドラインから作成する
の続き。前回は更新で今回は作成です。
準備
ツールの設定周りは
と同じなので参照してください。
Distribution 設定ファイルを新規作成する
新規作成するか、既存からコピーするかの 2 択になるかと思います。
新規作成
AWS CLI に skeleton(雛形)作成オプションがあるので叩きます。
aws cloudfront create-distribution --generate-cli-skeleton > $jsonPath
既存からコピー
の “Distribution 設定ファイルを取得する” で取得したものから作成します。
取得用 json と作成用 json はフォーマットが違うので編集します。
aws cloudfront get-distribution --id ${SRC_DISTRIBUTION_ID} | \
jq -r ".Distribution
| { DistributionConfig: .DistributionConfig }
| .DistributionConfig.CallerReference = \"${callerReference}\"" > $jsonPath
$callerReference
の値ですが、distribution 間で一意にする必要があります。ミリ秒のタイムスタンプを入れつつ、被る場合は調整するのがオススメ。
CloudFront に設定ファイルを反映する
コマンド一発です。ミスってもエラーが出るだけなので怖くない。
aws cloudfront create-distribution --cli-input-json file://$jsonPath
以上
新環境作成時に使いまわせるので非常に便利。
追記:
一連のコマンドをスクリプト化して管理ツールっぽくしました