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
- 事前作業
===========
1.1. ロググループ名の決定
ロググループ名を決めます。
CloudWatch Logsでは、各種エンティティをprefixで指定するので、prefixを適宜決めておくのがオススメです。
ここでは、prefixを"test/"とします。
コマンド
LOG_GROUP_NAME='test/sample'
1.2. 同名のロググループ名の不存在確認
同名のロググループが存在しないことを確認します。
コマンド
aws logs describe-log-groups \
--log-group-name-prefix ${LOG_GROUP_NAME}
結果
{
"logGroups": []
}
1.3. ログ保持期間の決定
ログの保持期間を決めます。
指定しない場合、無期限に保存されます。
コマンド(10年保存の場合)
LOG_RETENTION_DAYS='3653'
- ロググループの作成
======================
2.1. ロググループの作成
ロググループを作成します。
変数の確認
cat << ETX
LOG_GROUP_NAME ${LOG_GROUP_NAME}
ETX
コマンド
aws logs create-log-group \
--log-group-name ${LOG_GROUP_NAME}
結果
(戻り値なし)
2.2. ロググループの確認
作成したロググループを確認します。
コマンド
aws logs describe-log-groups \
--log-group-name-prefix ${LOG_GROUP_NAME}
結果(例)
{
"logGroups": [
{
"arn": "arn:aws:logs:ap-northeast-1:XXXXXXXXXXXX:log-group:test/sample:*",
"creationTime": 1430092395471,
"metricFilterCount": 0,
"logGroupName": "test/sample",
"storedBytes": 0
}
]
}
- ログ保持期間の設定
======================
3.1. ログ保持期間設定の確認
コマンド
LOG_RETENT_DAYS=`aws logs describe-log-groups --log-group-name-prefix ${LOG_GROUP_NAME} --query 'logGroups[].retentionInDays' --output text` \
&& echo ${LOG_RETENT_DAYS}
結果
(戻り値なし)
3.2. 保持期間の設定
変数の確認
cat << ETX
LOG_GROUP_NAME: ${LOG_GROUP_NAME}
LOG_RETENTION_DAYS: ${LOG_RETENTION_DAYS}
ETX
コマンド
aws logs put-retention-policy \
--log-group-name ${LOG_GROUP_NAME} \
--retention-in-days ${LOG_RETENTION_DAYS}
結果
(戻り値なし)
3.3. ログ保持期間設定の確認
設定したログ保持期間を確認します。
コマンド
LOG_RETENT_DAYS=`aws logs describe-log-groups --log-group-name-prefix ${LOG_GROUP_NAME} --query 'logGroups[].retentionInDays' --output text` \
&& echo ${LOG_RETENT_DAYS}
結果
3653
完了
ロググループを作成したら、次はログストリームを作成してみます。
http://qiita.com/tcsh/items/8650180e0e2c15647c3c