Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ECSのCanaryリリースをExternalデプロイタイプで実現する方法

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 ECSのCanaryリリースをExternalデプロイタイプで実現する方法

Avatar for Tetsuya Kikuchi

Tetsuya Kikuchi

August 03, 2024
Tweet

More Decks by Tetsuya Kikuchi

Other Decks in Programming

Transcript

  1. Tetsuya Kikuchi 3 @t-kikuc @t_kikuc • PipeCDのメンテナ @ (株)サイバーエージェント ◦

    PipeCD: OSSのデプロイツール ◦ 主にAWS関連機能(ECS,Lambda)の開発を担当 • 関心領域: CI/CD、DevOps • 今年度AWS認定10個ぐらい失効します
  2. PipeCDとは • PipeCD: OSSのデプロイツール ◦ ECS, Lambda, Kubernetes, Terraform, CloudRunに対応

    ◦ CanaryやBlue/Greenが強み ◦ Gitと実環境とで差分があった場合、自動で再デプロイ • CNCFのSandboxプロジェクトの一つ • 先月GitHubのStar⭐が 1,000到達 4
  3. Service-A 1/5. CanaryのTaskSetを作成する (CreateTaskSet) TaskSet-Primary Task Task Task v1 11

    TaskSet-Canary Task Task Task v2 ECS ELB Listener Rule port: XX
  4. 補足 • Externalデプロイタイプには制約も多いので注意 ◦ https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-external.html#deployment -type-external-considerations • PipeCDはService Discoveryでも一部異なる仕組みでCanary対応済 ◦

    仕組み: https://qiita.com/t-kikuc/items/25bd032606d878229ed7 ◦ 肝:ELBがいない ◦ Service Connect、App Meshは未対応 • PipeCDでの主な該当コード ◦ https://github.com/pipe-cd/pipecd/blob/master/pkg/app/piped/executor/ecs/deploy.go ◦ https://github.com/pipe-cd/pipecd/blob/master/pkg/app/piped/platformprovider/ecs/client.go 18