Zenn
👏

[Trusted Advisor]IAM Access Analyzer - 外部アクセス をマネコンから全リージョンやるのは面倒くさい

2025/03/21に公開

[Trusted Advisor]IAM Access Analyzer - 外部アクセス をマネコンから全リージョンやるのは面倒くさい

以下に対応したい。


使ってないリージョン無効化すればOKか


https://dev.classmethod.jp/articles/tsnote-aws-console-regions-disable/

手(マネコン)でやると

IAMと検索して移動


IAMはダッシュボード見てる時点ではグローバル。
「Access Anlyzer」→目的の「外部アクセス」へ。


「アナライザーはリージョン毎。
「アナライザーを作成」を押下。


「アナライザーを作成」を押下。

×17リージョンはキツイっす(泣)

ので生成AI様に作成依頼。

# すべての有効なリージョンを取得
REGIONS=($(aws ec2 describe-regions --query "Regions[].RegionName" --output text))
 
# 各リージョンに対して IAM Access Analyzer を作成
for REGION in "${REGIONS[@]}"; do
  echo "Creating analyzers in $REGION..."
 
  # 外部アクセス用アナライザー(目的)
  aws accessanalyzer create-analyzer \
    --analyzer-name "ExternalAccessAnalyzer-$REGION" \
    --type ACCOUNT \
    --region $REGION
 
  # 未使用アクセス用アナライザー(ついでに)
  aws accessanalyzer create-analyzer \
    --analyzer-name "UnusedAccessAnalyzer-$REGION" \
    --type UNUSED_ACCESS \
    --region $REGION
 
  echo "✅ IAM Access Analyzers created in $REGION"
done
 
echo "🎉 IAM Access Analyzers created in all regions!"


CloudShell上から実行。


やったね

※追記(冒頭にも注意文を書いておりますが)

夜中バジェットを見て、異常に気がつきました。
4万近くかかってる、、何だコレ。

実はこの記事を書くために一部「合ってるよね」という確認の為に久しぶりに個人のアカウントを開き、上記スクリプトを実行したのですが、それがこれだけの金額を産んでいたようでした。

調べてみると他にも同じくらいの請求があった方がいらっしゃる様子。https://www.sunnycloud.jp/column/20240621-02/

  # 未使用アクセス用アナライザー(ついでに)
  aws accessanalyzer create-analyzer \
    --analyzer-name "UnusedAccessAnalyzer-$REGION" \
    --type UNUSED_ACCESS \
    --region $REGION

(ついでに)で244.80ドルが飛んで行きました。

今回は私は事前に、AWSのプログラムを通じていただいていた500ドルのクレジットの残高に救われ、高い勉強代を払わずに済みましたが、ご覧になっている方は私のニノ轍は踏まないよう、確りとコスト影響を確認の上、必要な設定いただければ幸いです。

以上でした

有り難うございました。

Discussion

ログインするとコメントできます