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

AWS公式ドキュメントにきちんと向き合っていますか?~ECSの最新アップデートから見てみた、ド...

 AWS公式ドキュメントにきちんと向き合っていますか?~ECSの最新アップデートから見てみた、ドキュメント検証の重要性~

AWS公式ドキュメントにきちんと向き合っていますか?~ECSの最新アップデートから見てみた、ドキュメント検証の重要性~

2024/8/28 豊洲会 2023-2024 AWS Jr.Champions LT大会

Transcript

  1. 1 Copyright © SCSK Corporation プロフィール紹介 名前:福地孝哉(ふくちーぬ) 所属:SCSK株式会社 クラウドサービス事業本部 対応案件:

    Webシステムの運用保守,クラウドへのサーバ移行,API基盤構築 経歴: 2023 Japan AWS All Certifications Engineers 2024 Japan AWS All Certifications Engineers 2024 Japan AWS Jr. Champions 好きなAWSサービス:Amazon Event Bridge 趣味:テニス,サウナ,熱波師
  2. 7 Copyright © SCSK Corporation 用語解説 • ECS: AWSのコンテナ管理サービス •

    Task: ECSで動作するコンテナ • コンテナイメージ: アプリの実行環境を含むファイル • タグ: イメージのバージョン識別子(latest,dev,prd,v1) • イメージダイジェスト: イメージの一意のSHA256ハッシュ値 Amazon Elastic Container Service (Amazon ECS) Task タスク定義 Service コンテナイメージ イメージタグ:latest イメージダイジェスト:sha256:d4d72・・・4abf4fa
  3. 9 Copyright © SCSK Corporation 従来のECSのダイジェスト解決方式 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest Task ①タスク定義に記述されたイメージ タグの提供 (latestタグのイメージダイジェスト は何ですか?)
  4. 10 Copyright © SCSK Corporation 従来のECSのダイジェスト解決方式 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest Task ①タスク定義に記述されたイメージ タグの提供 (latestタグのイメージダイジェスト は何ですか?) ②イメージダイジェストの返却 (latestタグのイメージダイジェス トはこちらです)
  5. 11 Copyright © SCSK Corporation 従来のECSのダイジェスト解決方式 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest Task Image Digest 各タスク内でその都度コンテナイメージタグの イメージダイジェスト解決をする (イメージタグ⇒イメージダイジェスト) ①タスク定義に記述されたイメージ タグの提供 (latestタグのイメージダイジェスト は何ですか?) ②イメージダイジェストの返却 (latestタグのイメージダイジェス トはこちらです) 他のタスクも 同様に①,②の流れ
  6. 12 Copyright © SCSK Corporation 新方式のECSのダイジェスト解決方式 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Task ①タスク定義に記述されたイメージ タグの提供 (latestタグのイメージダイジェスト は何ですか?) New
  7. 13 Copyright © SCSK Corporation 新方式のECSのダイジェスト解決方式 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Task ①タスク定義に記述されたイメージ タグの提供 (latestタグのイメージダイジェスト は何ですか?) ②最初のデプロイ時に提供された イメージタグをイメージダイジェスト に解決し保存 New
  8. 14 Copyright © SCSK Corporation 新方式のECSのダイジェスト解決方式 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest Task ①タスク定義に記述されたイメージ タグの提供 (latestタグのイメージダイジェスト は何ですか?) ③イメージダイジェストの返却 (latestタグのイメージダイジェス トはこちらです) ②最初のデプロイ時に提供された イメージタグをイメージダイジェスト に解決し保存 New
  9. 15 Copyright © SCSK Corporation 新方式のECSのダイジェスト解決方式 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest Task Image Digest 最初にイメージタグをイメージダイジェストに解決し 保存しておく 一連のデプロイメントにおいて、タスク間で同一のイ メージダイジェストを参照するようにする(イメージ タグ⇒イメージダイジェスト) ①タスク定義に記述されたイメージ タグの提供 (latestタグのイメージダイジェスト は何ですか?) ③イメージダイジェストの返却 (latestタグのイメージダイジェス トはこちらです) 他のタスクも 同様に①,③の流れ ②最初のデプロイ時に提供された イメージタグをイメージダイジェスト に解決し保存 New
  10. 16 Copyright © SCSK Corporation 従来の挙動 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest:a Task Image Digest:a Amazon Elastic Container Registry (Amazon ECR) Hello,World! Hello,World! ①タスク定義内のlatestタグに従い,2つのタスクが起動 Developer User ※Fargateプラットフォームバージョン:1.3.0 コンテナイメージタグ イメージダイジェスト latest a
  11. 17 Copyright © SCSK Corporation 従来の挙動 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest:a Task Image Digest:a Amazon Elastic Container Registry (Amazon ECR) Hello,World! Hello,World! コンテナイメージタグ イメージダイジェスト latest b ②開発者がlatestタグを更新(latestタグを新しいコンテナイメージへ参照先を変更する) Developer User ※Fargateプラットフォームバージョン:1.3.0
  12. 18 Copyright © SCSK Corporation 従来の挙動 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest:a Task Image Digest:a Amazon Elastic Container Registry (Amazon ECR) Hello,World! Hello,World! コンテナイメージタグ イメージダイジェスト latest b ③タスクのスケールアウトが発生し,タスク定義内のlatestタグに従い,1つのタスクが新規起動 Developer User Task Image Digest:b Hello,World! Welcome ※Fargateプラットフォームバージョン:1.3.0
  13. 20 Copyright © SCSK Corporation 新方式の挙動 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest:a Task Image Digest:a Amazon Elastic Container Registry (Amazon ECR) Hello,World! Hello,World! コンテナイメージタグ イメージダイジェスト latest a ①タスク定義内のlatestタグに従い,2つのタスクが起動 Developer User イメージダイジェストを保存 ※Fargateプラットフォームバージョン:1.4.0 New
  14. 21 Copyright © SCSK Corporation 新方式の挙動 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest:a Task Image Digest:a Amazon Elastic Container Registry (Amazon ECR) Hello,World! Hello,World! コンテナイメージタグ イメージダイジェスト latest b ②開発者がlatestタグを更新(latestタグを新しいコンテナイメージへ参照先を変更する) Developer User ※Fargateプラットフォームバージョン:1.4.0 New
  15. 22 Copyright © SCSK Corporation 新方式の挙動 AWS Cloud Amazon Elastic

    Container Service (Amazon ECS) Task Image Digest:a Task Image Digest:a Amazon Elastic Container Registry (Amazon ECR) Hello,World! Hello,World! コンテナイメージタグ イメージダイジェスト latest b ③タスクのスケールアウトが発生し,タスク定義内のlatestタグに従い,1つのタスクが新規起動 Developer User Task Image Digest:a Hello,World! 保存しておいたイメージダイジェストを参照 ※Fargateプラットフォームバージョン:1.4.0 New
  16. 23 Copyright © SCSK Corporation 検証結果 Fargateプラットフォームバージョン:1.4.0 新方式でイメージダイジェストが解決されており、タスクのデプロイの挙動も 確認できた Fargateプラットフォームバージョン:1.3.0

    想定していた従来の挙動では動かなくなっていた。新方式でイメージダイジェ ストが解決されており、タスクのデプロイの挙動も確認できた ⇒AWSサポートへ問い合わせ、AWS公式ドキュメントに誤り がある旨を回答済み 1.4.0 AWS公式ドキュメントの内容:
  17. 24 Copyright © SCSK Corporation まとめ • ECSのソフトウェアの一貫性は、Fargateプラットフォーム バージョン1.3.0以上でサポートされます。 •

    AWS公式ドキュメントには誤りがあるかもしれないこと を念頭に置き、ちゃんと裏取りした上でAWSサービスを 利用することが大切です。(特に、今回のようなバージョン の誤記がある印象です。) ※2024/8/26に、日本語公式ドキュメントでも修正されていることを無事確認できました AWS公式ドキュメントの内容:
  18. 26 Copyright © SCSK Corporation 参考資料 • whats-new: https://aws.amazon.com/jp/about-aws/whats-new/2024/07/amazon-ecs-software- version-consistency-containerized-applications/

    • AWSブログ記事: https://aws.amazon.com/jp/blogs/news/announcing-software-version-consistency-for- amazon-ecs-services/ • AWS公式ドキュメント: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/deployment- type-ecs.html • 本発表に関する私のブログ記事: https://blog.usize-tech.com/ecs-software-version-consistency/