はじめに こんにちは。大阪オフィスの林です。 EC2 AutoScalling環境下でEC2インスタンスがターミネートする際のログ退避についてライフサイクルフックを使用したアーキテクチャーを検討したのでまとめておきたいと思います。 今回検討したアーキテクチャーはザックリ下図のイメージです。 よくあるログ管理(退避)のアーキテクチャとして、CloudWatchAgentを使用しCloudWatchLogsにログを転送し、Kinesisを挟んでS3に転送するといった方法もありますが、CloudWatchLogs自体の料金がネックとなり採用を見送るケースもあったりします。かと言ってOS上で定期的な間隔でログ転送バッチを回したりするのも良いのですが、その定期的な間隔とEC2インスタンスのターミネートのタイミング次第では直近のログが欠陥してしまうことも十分考えられます。今回のアーキテクチャはその折衷