AWS CLI v2で、CloudWatch Logs の以下操作をするコマンドを記載しています。
- ロググループの作成とタグ設定
- ログ保持期間の設定
- 後からタグだけを追加する
- ロググループの削除
- 大量のロググループを一気に作成する時のコマンド例
目次
検証環境
- 検証日: 2022/04/18
- PC環境:
- Windows10 Home Ver21H1
- PowerShell: Ver7.1.5
- AWS CLI:
aws-cli/2.1.34 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
-- profile default
: 読み取り専用-- profile aws_RW
: 書き込み権限あり- ※ 誤操作防止のため、変更操作時のみ
-- profile
オプション付与。
- ※ 誤操作防止のため、変更操作時のみ
- Windows10 Home Ver21H1
注意事項
- 本記事の内容は
Windows PowerShell
で検証しています。 - AWS CLIは
バージョン2
を使用しています。- 本記事のコマンド出力で
YAML
を使用してますが、これはバージョン2の機能です。
- 本記事のコマンド出力で
- コマンド内の変数やパラメータやは検証で使用したものを記載しています。ご自身の環境に合わせ、書き換えて使用してください。
- 個人で検証しているため実行結果に責任は持てません。必ずご自身でも検証してから使用してください。
- ★特に注意したいことは赤字で記載★。
1. CloudWatch Logs ロググループ
1.1. ロググループの作成とタグ設定
AWS CLI v2マニュアル: create-log-group
# 変数の指定 ${profile} = "aws_RW" ${cwl_name} = "Test_loggroup" ${tag1} = "tag1-Contents" ${tag2} = "tag2-Contents" # ロググループの作成とタグ設定 aws logs create-log-group ` --profile ${profile} ` --log-group-name ${cwl_name} ` --tags "Name=${cwl_name}, ` Tag1=${tag1}, ` Tag2=${tag2}"
1.2. ログ保持期間の設定
ログ保持期間はロググループの作成と同時にできないため、後から別コマンドで設定します。
AWS CLI v2マニュアル: put-retention-policy
# 変数の指定 ${profile} = "aws_RW" ${cwl_name} = "Test_loggroup" ${retention_days} = "14" # 選択値: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653 # ログの保持期間(Retention Policy)の設定 aws logs put-retention-policy ` --profile ${profile} ` --log-group-name ${cwl_name} ` --retention-in-days ${retention_days}
1.3. 設定の確認
AWS CLI v2マニュアル: describe-log-groups
# すべてのロググループを表示する aws logs describe-log-groups # ロググループ名を指定して表示する aws logs describe-log-groups --log-group-name-prefix ${cwl_name}
1.4. 後からタグだけを追加する
AWS CLI v2マニュアル: tag-log-group
AWS CLI v2マニュアル: list-tags-log-group
# 変数の指定 ${profile} = "aws_RW" ${cwl_name} = "Test_loggroup" ${tag3} = "tag3-Contents" # タグ(Tag3)の追加 aws logs tag-log-group ` --log-group-name ${cwl_name} ` --tags "Tag3=${tag3}" # 確認 aws logs list-tags-log-group --log-group-name ${cwl_name}
1.5. ロググループの削除
# 変数の指定 ${profile} = "aws_RW" ${cwl_name} = "Test_loggroup" # ロググループの削除 aws logs delete-log-group ` --profile ${profile} ` --log-group-name ${cwl_name}
2. 大量のロググループを一気に作成する時のコマンド例
# 変数の指定 ${cwl_name_01} = "LogGroup01" ${cwl_name_02} = "LogGroup02" ${cwl_name_03} = "LogGroup03" ${cwl_name_04} = "LogGroup04" ${cwl_name_05} = "LogGroup05" # ロググループの作成とNameタグの付与 ${profile} = "aws_RW" aws logs create-log-group --profile ${profile} --log-group-name ${cwl_name_01} --tags "Name=${cwl_name_01}" aws logs create-log-group --profile ${profile} --log-group-name ${cwl_name_02} --tags "Name=${cwl_name_02}" aws logs create-log-group --profile ${profile} --log-group-name ${cwl_name_03} --tags "Name=${cwl_name_03}" aws logs create-log-group --profile ${profile} --log-group-name ${cwl_name_04} --tags "Name=${cwl_name_04}" aws logs create-log-group --profile ${profile} --log-group-name ${cwl_name_05} --tags "Name=${cwl_name_05}" # ログの保管期間(Retention)設定 ${profile} = "aws_RW" ${retention_days} = "14" aws logs put-retention-policy --profile ${profile} --log-group-name ${cwl_name_01} --retention-in-days ${retention_days} aws logs put-retention-policy --profile ${profile} --log-group-name ${cwl_name_02} --retention-in-days ${retention_days} aws logs put-retention-policy --profile ${profile} --log-group-name ${cwl_name_03} --retention-in-days ${retention_days} aws logs put-retention-policy --profile ${profile} --log-group-name ${cwl_name_04} --retention-in-days ${retention_days} aws logs put-retention-policy --profile ${profile} --log-group-name ${cwl_name_05} --retention-in-days ${retention_days} # 作成後の確認 aws logs describe-log-groups --log-group-name-prefix ${cwl_name_01} aws logs describe-log-groups --log-group-name-prefix ${cwl_name_02} aws logs describe-log-groups --log-group-name-prefix ${cwl_name_03} aws logs describe-log-groups --log-group-name-prefix ${cwl_name_04} aws logs describe-log-groups --log-group-name-prefix ${cwl_name_05}