AWS CLIを利用して、CloudWatch Logsのログストリームを削除してみます。
(ロググループを削除すると、一緒に削除されますが、ログストリームを個別に削除するケースを想定した手順です。)
前提条件
CloudWatchLogsへの権限
- CloudWatch Logsに対してフル権限があること。
AWS CLIのバージョン
-
以下のバージョンで動作確認済
- AWS CLI 1.7.24
コマンド
aws --version
結果(例)
aws-cli/1.7.24 Python/2.7.5 Darwin/13.4.0
- 準備
=======
0.1. リージョンの指定
削除するログストリームの存在するリージョンを指定します。
(カレントユーザが利用するカレントリージョンも切り変わります。)
コマンド(東京リージョンの場合)
export AWS_DEFAULT_REGION='ap-northeast-1'
0.2. 変数の確認
プロファイルとリージョンが想定のものになっていることを確認します。
変数の確認
aws configure list
結果(例)
Name Value Type Location
---- ----- ---- --------
profile cloudwatchFull-prjZ-mbp13 env AWS_DEFAULT_PROFILE
access_key ****************LOAQ shared-credentials-file
secret_key ****************I1O1 shared-credentials-file
region ap-northeast-1 env AWS_DEFAULT_REGION
0.3. ロググループの指定
削除するログストリームが存在するロググループを指定します。
コマンド
LOG_GROUP_NAME='<ロググループ名>'
0.4. ロググループの内容確認
削除するログストリームが存在するロググループの内容を確認します。
コマンド
aws logs describe-log-groups \
--log-group-name-prefix ${LOG_GROUP_NAME}
結果(例)
{
"logGroups": [
{
"storedBytes": 0,
"metricFilterCount": 0,
"creationTime": 1430092395471,
"logGroupName": "test/sample",
"retentionInDays": 3653,
"arn": "arn:aws:logs:ap-northeast-1:XXXXXXXXXXXX:log-group:test/sample:*"
}
]
}
- 事前作業
===========
1.1. ログストリーム名の指定
削除するログストリームを指定します。
コマンド
LOG_STREAM_NAME='<ログストリーム名>'
2.2. ログストリームの確認
削除するログストリームの内容を確認します。
コマンド
aws logs describe-log-streams \
--log-group-name ${LOG_GROUP_NAME} \
--log-stream-name-prefix ${LOG_STREAM_NAME}
結果(例)
{
"logStreams": [
{
"firstEventTimestamp": 1430095603000,
"lastEventTimestamp": 1430095603000,
"creationTime": 1430093344032,
"uploadSequenceToken": "49545657805836269406286217727077775152260327876857954450",
"logStreamName": "test-stream",
"lastIngestionTime": 1430095690715,
"arn": "arn:aws:logs:ap-northeast-1:XXXXXXXXXXXX:log-group:test/sample:log-stream:test-stream",
"storedBytes": 0
}
]
}
- ログストリームの削除
=======================
ログストリームを削除します。
変数の確認
cat << ETX
LOG_GROUP_NAME: ${LOG_GROUP_NAME}
LOG_STREAM_NAME: ${LOG_STREAM_NAME}
ETX
コマンド
aws logs delete-log-stream \
--log-group-name ${LOG_GROUP_NAME} \
--log-stream-name ${LOG_STREAM_NAME}
結果(例)
(戻り値なし)
- 事後作業
===========
3.1. ログストリームの不存在確認
削除したログストリームが存在しないことを確認します。
コマンド
aws logs describe-log-streams \
--log-group-name ${LOG_GROUP_NAME} \
--log-stream-name-prefix ${LOG_STREAM_NAME}
結果(例)
{
"logStreams": []
}
3.2. ロググループ内のログストリーム一覧確認
同じロググループ内のログストリームの一覧を確認します。
コマンド
aws logs describe-log-streams \
--log-group-name ${LOG_GROUP_NAME}
結果(例)
{
"logStreams": []
}
完了
ログストリームを削除したら、次はロググループを削除してみます。
http://qiita.com/tcsh/items/1a63629d5b28a9f50b6e