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

はじめてのコンテナワークロード ~コンテナと AWS のコンテナサービスが解決する課題とは~

はじめてのコンテナワークロード ~コンテナと AWS のコンテナサービスが解決する課題とは~

こちらのAWS Builders Online Seriesでの登壇内容です。
https://aws.amazon.com/jp/events/aws-builders-online-series-archive/2022-Q1/

More Decks by kashinoki38 - Yasuhiro Horiuchi

Other Decks in Technology

Transcript

  1. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. AWS Builders Online Series はじめてのコンテナワークロード ~コンテナと AWS のコンテナサービスが解決する課題とは~ 堀内 保大 アマゾン ウェブ サービス ジャパン 合同会社 技術統括本部 インターネットメディアソリューション部 ソリューションアーキテクト
  2. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders 自己紹介 堀内 保大 (Yasuhiro Horiuchi) AWS Japan, Solutions Architect 主に Web 系のお客様の支援 前職:SIer で性能関連の技術支援 好きなAWSサービス Amazon EKS AWS Fargate Amazon Managed Service for Prometheus (AMP) @ka_shino_ki
  3. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders 本セッションの想定聴講者とゴール 本セッションの対象となる方 • コンテナに興味がある開発者 • コンテナという言葉を知っているが、仕組みやメリットを知らない • AWS のコンテナサービスがどういうときに使われるものなのかわからない 本セッションのゴール • コンテナが解決できる課題を理解する • AWS のコンテナサービスが解決する課題を理解する • 自身のワークロードをコンテナで動かす際に必要な AWS サービスを選択できる ようになる
  4. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders • なぜコンテナか? ~コンテナの技術的特性~ • コンテナオーケストレーションとは? • AWS におけるコンテナサービス • まとめ・次の一歩 アジェンダ
  5. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. なぜコンテナか? ~コンテナの技術的特性~ Hello, W orld!
  6. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders アプリケーションを構成するコンポーネント ランタイム、エンジン ライブラリなどの依存物 コード 設定
  7. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders 異なる複数の環境 ローカルPC ステージング / QA 本番 アプリケーションコード (Git, 共有ストレージ, etc)
  8. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders ローカルでは動いたけど、本番で動かない? ローカルPC ステージング / QA 本番 v6.0.0 v7.0.0 v4.0.0
  9. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders コンテナが実現すること ランタイム/エンジン アプリケーションコード ライブラリなどの依存物 パ ッ ケ ー ジ ン グ
  10. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders コンテナが実現すること ローカルPC ステージング / QA 本番 パッケージングされたアプリケーション (コンテナ) 設定 設定 設定
  11. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders Docker とは? ◆ コンテナのライフサイクル管理・デプロイツール ✓ Docker 社が開発、2013年3月にオープンソース化 ✓ Apache 2.0 ライセンス ◆ Docker の革新 ✓ アプリケーションのパッケージング(コンテナ化) ✓ コンテナ化、コンテナ実行を実現する統一的なコマンド群、エコシステム
  12. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders Docker を利用した基本ワークフロー - コンテナイメージ作成 - $ docker push … # yum update … # yum install … # echo ‘Hey, Yo!’ Dockerfile $ docker build … コンテナイメージ $ docker run … コンテナ内作業 $ docker commit … イメージレジストリ
  13. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders Docker を利用した基本ワークフロー - コンテナ実行 -
  14. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders リソースが隔離されたOS上のプロセス (仮想マシンと同様に「起動・停止・削除」などのライフサイクルを持つ) コンテナ 仮想マシン Bins/Libs App2 Process Infrastructure Guest OS Docker Infrastructure Hypervisor Guest OS Bins/Libs App2 Guest OS Bins/Libs App1 VM VM App1 Bins/Libs Process 仮想マシンとコンテナの違いって? Hypervisor
  15. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders なぜコンテナか? ▪ コンテナの技術的特性 ✓ アプリケーションの依存物全てを一つにパッケージング可能 ✓ パッケージの統一的なデリバリ方法を実現するコマンド群 ✓ コンテナを実行するための統一的なコマンド群 ▪ 技術的特性を活かすことで次のような効果が期待できる ✓ 複数環境にわたる一貫した実行可能性 ✓ アプリケーションの可搬性 ✓ 高速な開発とリリースサイクルの実現
  16. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. コンテナオーケストレーションとは?
  17. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders Docker の基本ワークフローにおける課題
  18. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders オーケストレータ コンテナオーケストレーションによる解決 リソース(CPUやメモリ)が 空いているインスタンスへの コンテナ配置 コンテナ障害時の再デプロイ APIによるコンテナデプロイ 作業の受付
  19. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders オーケストレータ コンテナオーケストレーションによる解決 「この EC2 インスタンスの クラスタでコンテナを 実行したいです」 「このコンテナを3つのAZに 分散させて10個デプロイして、 このロードバランサーに つないでください」
  20. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS におけるコンテナサービス
  21. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders AWS におけるコンテナサービス オーケストレーション コンテナのデプロイ、スケジューリング、スケーリング イメージレジストリ コンテナイメージの格納 ホスティング コンテナ実行環境 AWS App Runner Amazon Elastic Container Service (Amazon ECS) Amazon Elastic Kubernetes Service (Amazon EKS) Amazon Elastic Container Registry (Amazon ECR) Amazon Elastic Compute Cloud (Amazon EC2) 手軽にコンテナワーク ロードを実行 AWS Fargate
  22. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders オーケストレータ イメージレジストリ AWS のコンテナサービスによる解決
  23. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders Amazon ECS Amazon ECS パワフル&シンプル
  24. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders Amazon EKS Amazon EKS: オープン&フレキシブル Kubernetes をオーケストレータとして使いたい方へ
  25. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders オーケストレータ イメージレジストリ AWS のコンテナサービスによる解決
  26. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders フルマネージドなコンテナイメージレジストリ Amazon ECR Amazon ECR
  27. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders オーケストレータ イメージレジストリ AWS のコンテナサービスによる解決
  28. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders 安全でサイズ変更可能な仮想マシン 多様なインスタンスタイプ • GPU等の特殊なハードウェアが必要なワー クロード • CPUやメモリが潤沢に必要なワークロード Amazon EC2 Amazon EC2 ホストのカスタマイズ性 (カーネルチューニング等)
  29. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders コンテナ実行環境における課題 課題 • OS やエージェント類へのパッチ当てや更新 • インスタンスタイプの選択 • EC2 インスタンス数のスケーリング(コンテナ 数や使用状況に応じた) ECS on EC2 (コンテナを仮想サーバー上で動作) ECS Agent Docker OS
  30. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders AWS マネージド EC2 インスタンスのプロビジョン、スケール、管理不要 大半のワークロード(4vCPU, 30GBメモリ以下)をカバー コンテナネイティブ 仮想マシンを意識しないシームレスなスケーリング コンテナの起動時間・使用リソースに応じた料金設定 AWS サービスとの連携 VPC ネットワーキング、Elastic Load Balancing、 IAM、CloudWatch、etc. AWS Fargate AWS Fargate
  31. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders AWS Fargate AWS Fargate によるホスティングイメージ
  32. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders AWS におけるコンテナサービス オーケストレーション コンテナのデプロイ、スケジューリング、スケーリング イメージレジストリ コンテナイメージの格納 ホスティング コンテナ実行環境 AWS App Runner Amazon Elastic Container Service (Amazon ECS) Amazon Elastic Kubernetes Service (Amazon EKS) Amazon Elastic Container Registry (Amazon ECR) Amazon Elastic Compute Cloud (Amazon EC2) 手軽にコンテナワーク ロードを実行 AWS Fargate
  33. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders クラウドインフラストラクチャには 多様なサービスが存在 AWS Fargate ECS Elastic Load Balancing AWS Auto Scaling AWS CodeBuild フロントエンドアプリケーション バックエンドアプリケーション
  34. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders AWS App Runner クラウドインフラストラクチャには 多様なサービスが存在 フロントエンドアプリケーション バックエンドアプリケーション
  35. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders ネットワーク、サーバ、デプロイパイプライン、 コンテナオーケストレーションツールの管理が不要 コンテナレジストリまたは Git リポジトリから 直接デプロイ アプリケーションの実行時間に対して秒単位での 課金体系 AWS App Runner - 手軽にコンテナワークロードを実行する AWS App Runner 小規模から大規模まであらゆるスケールの Web アプリケーションを素早く展開
  36. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. まとめ・次の一歩
  37. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders AWS におけるコンテナサービス オーケストレーション コンテナのデプロイ、スケジューリング、スケーリング イメージレジストリ コンテナイメージの格納 ホスティング コンテナ実行環境 AWS App Runner Amazon Elastic Container Service (Amazon ECS) Amazon Elastic Kubernetes Service (Amazon EKS) Amazon Elastic Container Registry (Amazon ECR) Amazon Elastic Compute Cloud (Amazon EC2) 手軽にコンテナワーク ロードを実行 AWS Fargate
  38. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders アプリケーション 共通サービス プラットフォーム エンタープライズ app のマイグレーション 機械学習 (ML) .NET Classic Windows app Linux app 3rd party app Web アプリケーション モバイルアプリケーション IoT データ処理 CI/CD IaaS マネジメント、セキュリティ 、ガバナンス ロギング、モニタリング 自動運転車 レコメンデーションエンジン 不正検出 Chatbots コンテナを利用してサービスを開発しましょう!
  39. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders 次の一歩 – ワークショップにチャレンジ - • ECS Workshop : https://ecsworkshop.com/ • EKS Workshop : https://www.eksworkshop.com/ • App Runner Workshop : https://www.apprunnerworkshop.com/
  40. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders 次の一歩 – 参考となる資料リンク - • BlackBelt (資料一覧 | Youtube Playlist) ※以下は一部抜粋。今後も増えていきます! • なぜ今コンテナなのか (資料 | Youtube) • AWSコンテナ全体概要 (資料 | Youtube) • Docker 入門 (資料 | Youtube) • ECS 入門 (資料 | Youtube) • ECS Fargate 入門 (資料 | Youtube) • EKS 入門 (資料 | Youtube) • コンテナとサーバレスの使い分け (資料 | Youtube) • 2020 AWS Dev Day Online Japan • そのコンテナでサービスインできますか?(資料) • 第2回 AWS Fargate かんたんデプロイ選手権 (資料) • 2020 AWS re:Invent • 202現実世界で活用するAWS サーバーレス・コンテナサービ ス (資料) • 2021 AWS Summit Online • コンテナ・サーバーレスを使えばモダンアプリケーションに なりますか? (資料 | Youtube) • AWS でのコンテナワークロードにおける多様なビルディン グブロックの選択肢 (資料 | Youtube) • 2021 AWS Dev Day Online Japan • アプリケーション開発者は Amazon ECS あるいは Kubernetes のどこまでを知っていればいいのか (資料 | Youtube) • AWS コンテナサービスの公開ロードマップ • https://github.com/aws/containers-roadmap
  41. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders aws.amazon.com/training おすすめのコース • AWS Cloud Practitioner Essentials (Japanese) このコースは、特定の技術領域ではなく、アマゾン ウェブ サービス (AWS) クラウドを全体的に理解した い方を対象としています。受講者は、AWS クラウドの概念、AWS のサービス、セキュリティ、アーキテ クチャ、料金、サポートについて学習し、AWS クラウドについての知識を深めます。このコースは、 AWS Certified Cloud Practitioner 試験の準備にも役立ちます。 • Getting Started with AWS Security, Identity, and Compliance (Japanese) このコースでは、AWS のセキュリティテクノロジー、ユースケース、メリット、サービスの概要につい て説明します。AWS のセキュリティ、アイデンティティ、コンプライアンスのカテゴリにおけるさまざ まなサービスを紹介します。このコースを修了すると、クラウド内のセキュリティの重要性を理解し、 データの保護に使用する AWS のサービスを選択できるようになります。 • Moving to Managed Databases on AWS (Japanese) リフトアンドシフト戦略は、クラウドを利用しようとする組織が一般的に採用する方法です。このコー スでは、AWS ヒーローである Alex DeBrie が、アマゾン ウェブ サービス (AWS) においてセルフマネージ ドデータベースからフルマネージドデータベースソリューションに移行することのメリットについて説 明します。また、AWS クラウドに移行する際に考慮すべき重要な要素についても学習します。最後に、 この Moving to Managed Databases on AWS の 8 つのコースのカリキュラムの一環として、一般的な データベースの移行に関するユースケースのコースをご紹介します。 学習方法を柔軟に選ぶこと ができます。 550以上の無料デジタルト レーニングでクラウドのス キルを身につけることがで き、クラスルームトレーニ ングでさらに深く学ぶこと もできます。 AWS デジタルトレーニング
  42. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. #AWSBuilders AWS Builders Online Series に ご参加いただきありがとうございます 楽しんでいただけましたか? ぜひアンケートにご協力ください。 本日のイベントに関するご意見/ご感想や今後のイベントについての ご希望や改善のご提案などがございましたら、ぜひお聞かせください。 [email protected] twitter.com/awscloud_jp facebook.com/600986860012140 https://www.youtube.com/user/AmazonWebServicesJP https://www.linkedin.com/showcase/aws-careers/ twitch.tv/aws
  43. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Thank you! © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. 堀内 保大 (Yasuhiro Horiuchi) [email protected] @ka_shino_ki