株式会社シンプルウェイ Advent Calendar 2020 の8日目です。
昨日はCloudflareのキャッシュをコマンドからパージする方法を書きましたが、今日はCloudFrontでの方法を書きたいと思います。
マネージメントコンソールでAPIユーザーの作成
ポリシーの作成
まずキャッシュパージのみが実行できる権限を作成しておきます。
「ポリシーの作成」ボタンを選択します。
[サービス]で「CloudFront」を選択、[アクション]で「CreateInvalidation」を選択を選択します。[リソース]は「すべて」にしてしまいましたが、可能であれば制限しておいたほうがいいでしょう。
設定したら「ポリシーの確認」ボタンを選択します。
確認画面で[名前]を入力して「ポリシーの作成」ボタンを選択します。
ユーザーの作成
続いて、API実行用のユーザーを作成します。
「ユーザーを追加」ボタンを選択します。
[ユーザー名]で適当な名前を入力、[アクセスの種類]で「プログラムによるアクセス」を選択を選択し、「次のステップ: アクセス権限」ボタンを選択します。
「既存のポリシーを直接アタッチ」を選択して、ポリシーの一覧から先程作成したポリシーを選択します。
「次のステップ: タグ」ボタンを選択、「次のステップ: 確認」ボタンを選択、「ユーザーの作成」ボタンを選択してウィザードを完了させます。
完了画面で表示される[アクセスキー ID]と[シークレットアクセスキー]をメモしておきます。
ディストリビューションIDの確認
CloudFrontのディストリビューションIDを確認しておきます。
CloudFrontへアクセスして、パージしたいディストリビューションのIDをメモしておきます。
プロファイルの作成
コマンドを実行したいマシンにクレデンシャルを登録しておきます。
コンソールでaws configure
コマンドを実行します。
$ aws configure
AWS Access Key ID [None]: [アクセスキー ID]
AWS Secret Access Key [None]: [シークレットアクセスキー]
Default region name [None]: ap-northeast-1
Default output format [None]: json
[アクセスキー ID]と[シークレットアクセスキー]は上でメモしたものを入力します。
パージコマンド
おもむろに下記コマンドを実行します。
aws cloudfront create-invalidation --distribution-id [ディストリビューションID] --paths '/*'
[ディストリビューションID] は上でメモした値に置き換えてください。