LoginSignup
4
2

ログコンテナのバージョン管理の為に、ecspresso v2のSSMパラメータストア参照を利用してみた

Last updated at Posted at 2023-04-11

はじめに

コンテナデプロイツールであるecspressoですが、ecspresso v2が昨年末にリリースされました!

ecspresso handbookでも紹介されているecspresso v1とv2の変更点の中でも、今回はSSMパラメータストア参照を利用しました。

https://zenn.dev/fujiwara/books/ecspresso-handbook-v2/viewer/v1-v2

何のために利用したか?

ECSのログコンテナ用fluent-bitのイメージですが、

  • 検証環境でstableタグ指定で運用し、ログ転送に問題が無いかをテスト
    • 具体的にはpublic.ecr.aws/aws-observability/aws-for-fluent-bit:stableの形で指定
  • ログ転送に問題が無い場合、動作環境用のSSMパラメータストアの値をstableタグのイメージURIに変更
  • ecspressoで動作環境にデプロイする際に、SSMパラメータストアのfluent-bitの新規イメージURIを取得し、デプロイ

といった形式をとる事で、お手軽に実現可能なfluent-bitのバージョンアップの仕組みを構築しました。
ecspressoを元々デプロイ時に利用している事もあり、今回のアップデートは非常に助かりました!

パラメータの作成

  • 以下の形でパラメータを作成します。

image.png

ecspressoの設定ファイルにSSMを利用する為の設定を追記

  • ecspresso.ymlにssmについての設定を追記します。
ecspresso.yml
region: ap-northeast-1
cluster: cluster-name
service: service-name
service_definition: ecs-service-def.json
task_definition: ecs-task-def.json
timeout: "10m0s"
plugins:
  - name: ssm
  • ecs-taskdef.jsonのlogrouterコンテナのimage指定をSSMパラメータストア参照に変更
ecs-taskdef.json
"image": "{​​{​​ ssm `/ecs/log-agent/fluent-bit-image-uri` }​​}​​"

デプロイ実行用のIAMロールの記載

  • 以下ポリシーをecspressoでのデプロイ実行用IAMロールへと付与します。
Policy
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:Get*"
            ],
            "Resource": "arn:aws:ssm:XXXXXXXXXX:XXXXXXXXXX:parameter/ecs/log-agent/fluent-bit-image-uri"
        }
    ]
}

おわりに

  • SSMパラメータストア参照&ecspressoのおかげで、便利にログコンテナのバージョン管理が出来そうです。
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2