運用はもちろんのこと、Lambda デバッグでもお世話になる CloudWatch Logs です。
基礎知識
CloudWatch は全体像の把握が難しいぐらい増えている。
CloudWatch の全体像
API | 対応するサービス名 |
---|---|
cloudwatch | CloudWatch メトリックス CloudWatch アラーム CloudWatch ダッシュボード CloudWatch Contributor Insights |
application-insights | CloudWatch Application Insight |
logs | CloudWatch Logs |
synthetics | CloudWatch Synthetics |
events | 旧 CloudWatch Events |
CloudWatch Logs の概要
イベントログの記録、保存、取得。
料金もこの3箇所で綺麗に別れている。
統合CloudWatchエージェント
を利用すればEC2だけじゃなくてオンプレでも Logs に保存できる。
CloudWatch Logs の要素概要
イベントログ保存の3要素が親子関係になっている。
- ロググループ
- ログストリーム
- ログイベント
- ログストリーム
これらを メトリックフィルター
で抽象化して CloudWatch に飛ばせる。
サブスクリプションフィルター
利用で生ログを Kinesis に飛ばせるけど、お金かかるので注意。
記録は細かく、ログストリームで。
取得はざっくり、ロググループで。
公式ドキュメント
160 ページで少ないほう。 全部ちゃんと読むと丸一日ぐらいのボリューム。 AWS はドキュメントに答えがあるのでコツがいるけど必要に応じて読むほうがいい。
ログの保持期間
保持期間はデフォルト無制限で、ほっとくとお金がかかるので気をつける。
法律的なものは7年間がおすすめ。
13ヶ月、33日とか切りが良いものより、ちょっと伸ばすのがコツ。
中途半端な期間は、マネジメントコンソールからできないので、CLI で対応する。
CludFormation についての余談
- 2階建ての知識なので(初心者には?)おすすめしない
- 引き継ぎが辛い
- 30回使うならいいけど、作るのが目的になりがち
(;^ω^)
ハンズオン
資料は connpass からリンクされている こちら 。
いつもどおりポチポチコピペで進むので、マネジメントコンソールで確認しながら行うとわかりやすい。
CloudWatch もリージョンサービスなので、東京リージョンに切り替えて確認する。
2件目以降に aws logs put-log-events
する場合は、結果整合性など優先順位も大事だから --sequence-token
が必須になると思われるとのこと。
所感
CloudWatch と CloudWatch Logs は別物だけど自分の中では一緒くたになりがちでした。
AWS について会話してても、意識的に使い分けができず、どちらも CloudWatch と呼んでました。
CloudWatch Logs についての基礎知識の話を聞いて、今更ながらちゃんと理解できた気がしました。
概念としては理解できたものの、AWS リソース構築する時にデフォルトで出力される CloudWatch Logs しか使ってない気がします。
この辺りちゃんと考えるようにしないと...あと無制限保存は見直し必須!