0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CloudFront ディストリビューションで使用しているOAIの確認

Posted at

やりたいこと

CloudFrontのディストリビューションで設定しているOAIを確認したい。
マネコンからでも確認はできるが、一つずつ設定を見るのは大変なので、スクリプトを作成しました。

実践

export AWS_PROFILE="your_profile"

aws cloudfront list-distributions \
--query "DistributionList.Items[*].{CF_ID:Id,OAI_ID:Origins.Items[*].S3OriginConfig.OriginAccessIdentity}"

上記コマンドで、アカウント内のディストリビューションIDと、OAI_IDを値にもつ配列は出力できます。
ただちょっとこのままだと見づらいのと、OAIが複数のディストリビューションで使用されていないか確認したかったので以下スクリプトにします。

export AWS_PROFILE="your_profile"

aws cloudfront list-distributions \
--query "DistributionList.Items[*].{CF_ID:Id,OAI_ID:Origins.Items[*].S3OriginConfig.OriginAccessIdentity}" \
| jq -r '.[] | [.CF_ID, (.OAI_ID[] // "-")] | @csv' \
> ./CloudFront-OAI.csv

jqコマンドで見やすい形に変換して、CSVで出力します。
後はCSVからフィルターかけるなりして使用すれば良いかと思います!

自分のための忘備録

AWS CLIを使用際にjqを使用することが多いのでメモ。

#jsonを読み込み、データをrow形式(プレーンテキスト)で出力する。
jq -r '.[] 
#読み込んだデータの各配列の要素にアクセス。
.[] 
#配列内の、CF_ID,OAI_IDを新しく生成した配列に入れる
#// "-") は、OAIが設定されていない場合に、空文字列ではなく"-"が入るようにしている
[.CF_ID, (.OAI_ID[] // "-")] 
#上記で生成した配列を、CSV形式で出力
@csv

終わりに

マネコンで自力で確認するより、プログラムささっと書いて円滑に仕事を進めていきたい。。
誰かの参考になれば幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?