aws-cli で AWS 起動中のリソース一覧取得する
備忘録です。
複数 AWS アカウントで起動中のリソース一覧作りたい時によく利用しています。
1 |
|
備忘録です。
複数 AWS アカウントで起動中のリソース一覧作りたい時によく利用しています。
1 |
|
AWS CLI で EC2 に設定されたタグから特定のキーを指定し、その値をリストするスクリプトです。
以下は Key = Name でその値を取得しています。
EC2 インスタンス名の一覧を取得したい意図です。
1 | aws ec2 describe-instances --query 'Reservations[*].Instances[*].Tags[?Key == `Name`].Value' --output text |
以上
参考になれば幸いです。
terraform provider の更新等、 dependabot で Pull Request の作成をしていると
自分がアサインされていないので気づきにくいです。
その為、定期的に見ておく必要があります。
ですが、管理するリポジトリが多いと全て見に行くのは手間なのでまとめてスクリプトで見れる様にします。
terraform はバージョンアップ頻度が高く、
プロジェクトによってバージョン差分が生じるので
複数バージョンを管理できると運用がスムーズです。
SAM プロジェクトで管理する API Gateway について
AWS Config rule: api-gw-execution-logging-enabled
に対応すべく、
アクセスログを有効化した際にハマった話です。
Events.*.Type = Api
で作成した API Gateway では SAM 上でアクセスログ有効化の設定ができません。
どのようにしたら API Gateway のアクセスログ有効化できるか調査しました。
以前は CloudWatch LogGroup をインポートしましたが
今回は IAM Role をインポートの設定例です。
基本手順は CloudWatch LogGroup と同様ですが、
異なる部分だけ記載します。
1 | ... |
API Gateway のアクセスログ管理用ロググループへログを配信する IAM Role をインポートします。
既にデプロイ済みの SAM プロジェクトは CloudFormation に Stack が作成されています。
その Template
タグで template の内容をローカル環境で template.yml
で保存しましょう。
保存先はどこでも良いです。
1 | ... |
今回は API Gateway のアクセスログ管理用ロググループをインポートします。DeletionPolicy: Retain
としているのは、リソースを作成せず、Stack にインポートする為です。
RPi 4B で以下エラーで詰まった時の備忘録です。
1 | $ pip3 install xxx |
一時的に tmp ディレクトリを指定してからインストールを再度実行することで回避してみます。
1 | $ mkdir $HOME/tmp |
これでうまくいきました ♪
以上
参考になれば幸いです。
AWS Savings Plans Coverage API 実行時に DataUnavailableException エラーが発生しました。
1 | aws ce get-savings-plans-coverage --time-period Start=2023-05-31,End=2023-06-01 --group-by Type=DIMENSION,Key=INSTANCE_TYPE_FAMILY Type=DIMENSION,Key=REGION Type=DIMENSION,Key=SERVICE |
発生する条件を AWS サポートに確認しました。
「対象期間について Savings Plans 適用対象サービスを使用していない場合、上記エラーが発生する」
とのこと。
Cost Explorer で Savings Plans > Coverage report にも以下メッセージがありました。
No savings plans coverage data was returned for this time period. Please adjust the time period or filters if this seems incorrect.」
Savings Plans カバレッジ取得時に DataUnavailableException エラーが発生する
= Savings Plans 適用対象サービスを使用していない
= Savings Plans を買う必要がない
ということでした。
以上
参考になれば幸いです。