created: 2024-01-15T01:29:10.063Z

CloudFront の ID とドメインを一覧する

CloudFront のキャッシュをご破産にするのに、コマンドライン引数でリソースの ID を指示する必要があるが、この ID は E949NH1234567 みたいな形式の文字列なのでこれは憶えていられない。さりとてコマンドライン引数は --distribution-id しかないので、それ(ID)を調べて指定するしかなさそう。毎回こんなコマンドを叩いている。という記録。

$ aws cloudfront create-invalidation help | head -20
CREATE-INVALIDATION()                                    CREATE-INVALIDATION()

NAME
       create-invalidation -
...

          --distribution-id <value>
          [--invalidation-batch <value>]
          [--paths <value>]

CloudFront の ID とドメインを一覧する

aws cloudfront list-distributions | jq -r '
  .DistributionList.Items[]
  | [.Id, .Aliases.Items[0]]
  | @tsv'

出力はこんな塩梅

E39UWG4JPA1234	static.n-t.jp
E3P7V3CYUV1234	blog.n-t.jp
...

キャッシュのご破算

aws cloudfront create-invalidation \
  --distribution-id E3P7V3CYUV1234 \
  --paths '/*'

その他

本当はプロジェクトの package.json なり .envrc とかでマメに変数にしておくとよいかもしれないが、CDN を作り直したりすること考えると絶妙に億劫。(マメでない)

export CLOUDFRONT_ID__ABCD_CO_JP=E949NH1234567
{
  "scripts": "aws cloudfront create-invalidation\
    --distribution-id $CLOUDFRONT_ID__ABCD_CO_JP\
    --paths '/*'"
}
パシフィック・リム [Blu-ray]
[ad] パシフィック・リム [Blu-ray]
出演 チャーリー・ハナム, イドリス・エルバ (Blu-ray)