Hori Blog

フリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。
最近はテック系記事より雑記ブログ気味。

CloudFrontの設定をコマンドラインから作成する

CloudFront の設定をコマンドラインから更新する

の続き。前回は更新で今回は作成です。

準備

ツールの設定周りは

CloudFront の設定をコマンドラインから更新する

と同じなので参照してください。

Distribution 設定ファイルを新規作成する

新規作成するか、既存からコピーするかの 2 択になるかと思います。

新規作成

AWS CLI に skeleton(雛形)作成オプションがあるので叩きます。

aws cloudfront create-distribution --generate-cli-skeleton > $jsonPath

既存からコピー

CloudFront の設定をコマンドラインから更新する

の “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

以上

新環境作成時に使いまわせるので非常に便利。

追記:

一連のコマンドをスクリプト化して管理ツールっぽくしました

CloudFront の awscli で json 管理できる環境を整備した