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

2021年コンテナ最前線〜今AWSでコンテナホストするならなにが現実解なのか?〜

C47bda32c8455a59471cd7e19c32c074?s=47 濱田孝治
October 07, 2021

 2021年コンテナ最前線〜今AWSでコンテナホストするならなにが現実解なのか?〜

AWSにおけるコンテナをホストする手段は、格段に進化を続けています。ECSからはじまり、EKS、Fargate、App Runner、Proton,Lambdaコンテナー。このセッションでは、それら手段を比較し、今あなたが、コンテナをAWS環境にホストするにあたり必要なものを選択するための羅針盤となる情報をお届けします。

C47bda32c8455a59471cd7e19c32c074?s=128

濱田孝治

October 07, 2021
Tweet

Transcript

  1. 2021年コンテナ最前線 今AWSでコンテナホストするなら なにが現実解なのか︖ 2021/10/7 CX事業本部 MAD事業部 濱⽥孝治(ハマコー)

  2. 2 とりあえず いつものアレやりますか

  3. 3 #devio2021

  4. 4

  5. 5 ⾃⼰紹介 濱⽥孝治(ハマコー) • CX事業本部 MAD事業部⻑ • Japan APN Ambassador

    2020 • JAWS-UG コンテナ⽀部運営 • 好きなサービス︓ECS, EKS, CloudFormation • 好きな⾔葉「わっしょい」 • @hamako9999 • 好きなゲームタイトル︓Elder Scrolls Online
  6. 6 MAD (Modern Application Development)

  7. 7 MAD(Modern Application Development) AWSサービス︓Amazon DynamoDB、Amazon API Gateway、AWS IoT、AWS Step

    Functions、AWS Amplify、AWS AppSync、 AWS Glue、Amazon Kinesis、 Amazon Athena Google Cloudサービス︓ Cloud Firestore、Cloud SQL、 Cloud Pub/Sub Infrastructure as Code︓ AWS CDK、AWS CloudFormation、AWS SAM、 Serverless Framework、 Terraform CI/CD︓ Codeシリーズ、CircleCI、 GitHub Actions
  8. +"846(ίϯςφࢧ෦ !LJUUB !UPSJDMT !TFJZBLVCP !IBNBLP !NTZ

  9. 9 今⽇お話することの意義

  10. 10 背景 Amazon ECSのGAが、2015年の4⽉9⽇、そして2017 年のre:Inventでは、EKSとFargateが発表されました。 今現在も機能追加の勢いは全く衰えていないです。 なんかもう、よくわからんの増えましたよね︖すぽっと すぽっととか、なんとかぷろばいだーとか、間にスペー スいれないと刺されるやつとか、ANYWHEREとかとか 他の界隈からここに来た⽅は、ぶっちゃけ途⽅にくれる

    のではと⽇々感じてます。
  11. 11 内容について 対象リスナー • これからAWSでコンテナワークロードをホストしようと検 討されているかた • 現在、AWSでコンテナをプロダクション運⽤しているが、 さらなる最適化に余念が無い⽅ 今⽇のゴール

    • 最初に始めるときに指針としてもらう • コンテナワークロード改善のヒントをなにか掴んでもらう
  12. 12 喋らないこと 今回のセッションは時間の都合もあり、コンテナ実⾏環境とコ スト最適化に絞ってお話します。これら合わせて検討が必要な 内容はほとんど含まれていないので、ご了承ください - デプロイ - セキュリティ -

    ネットワーク - ロギング - 監視
  13. 13 リラックスして 良い時間にできればと思います︕

  14. 14 Agenda(当初想定) • 基礎のおさらい • ECR、ECR Public • ECS、EKS、Fargate •

    インフラ最適化 • Savings Plans • Capacity Provider • Graviton Processor • バッチ処理系 • Step Functions + Fargate • AWS Batch • 次世代系 • Proton • App Runner • Lightsail Container • Anywhere系 • EKS Anywhere • ECS Anywhere • まとめ
  15. 15 Agenda(実際しゃべるやつ) • 基礎のおさらい • ECR、ECR Public • ECS、EKS、Fargate •

    インフラ最適化 • Savings Plans • Capacity Provider • Graviton Processor • バッチ処理系 • Step Functions + Fargate • AWS Batch • 次世代系 • Proton • App Runner • Lightsail Container • Anywhere系 • EKS Anywhere • ECS Anywhere • まとめ
  16. 16 Agenda • 基礎のおさらい • ECR、ECR Public • ECS、EKS、Fargate •

    インフラ最適化 • Savings Plans • Capacity Provider • Graviton Processor • バッチ処理系 • Step Functions + Fargate • AWS Batch • 次世代系 • Proton • App Runner • Lightsail Container • Anywhere系 • EKS Anywhere • ECS Anywhere • まとめ
  17. 17 基礎のおさらい

  18. 18 AWSにおける代表的なコンテナ関連サービス Amazon ECS Amazon ECR Amazon ECR Public AWS

    Fargate Amazon EKS
  19. 19 ECR ECR Public

  20. 20 説明しよう。そしてこれらは別物です。 Amazon ECR Amazon ECR Public

  21. 21 別物であることの証 ユーザーガイドが別 なので APIも別

  22. 22 別物であることの証 AWS CLIも もちろん別

  23. 23 Amazon Elastic Container Registry(ECR)とは • AWSが提供する完全マネージド型のDockerコンテナ レジストリ • ⾃前のコンテナリポジトリの運⽤やインフラ管理が

    不要 • AWSと完全に統合されているので、従来の⽅法 (IAM)でアクセス権の管理が可能 • アクセスするにはAWSアカウントをベースとした認 証情報が必須
  24. 24 ECR Publicとは • 今までAWSの認証情報が必須だったECRに、パブ リックで誰でもアクセス可能に︕︕ • AWSアカウントがあれば、誰でもECRを使ってイ メージを公開可能 •

    単純に⾔うとECR PublicはDocker Hubの代替とし て利⽤が可能になる
  25. 25 ECR Publicはあなたの⼿元で即動く

  26. 26 ECR Public Galleryもいつでも利⽤可能 https://gallery.ecr.aws/

  27. 27 ECR Publicの気になるお値段 イメージホスティング • ストレージ $0.10/GB/month • 無料で⽉50GBまで イメージプル(データ転送)

    • AWS認証なし︓500GB/⽉/source ip • AWS認証あり • AWS外 0.09 USD/GB • AWS内 無料 Docker Hub 匿名ユーザ︓ IPアドレスで6時間100回 認証ユーザ︓ ユーザごとに6時間200回
  28. 28 ECS EKS Fargate

  29. 29 順番に説明しよう Amazon ECS AWS Fargate Amazon EKS

  30. 30 AWSのコンテナサービスを理解するためには 「コントロールプレーン」 「データプレーン」 この違いを知る必要がある

  31. 31 コントロールプレーンとは コンテナの管理をする場所 • 動く場所の管理 • VPC、Subnet、Load Balancer、Security Group •

    コンテナ⽣死の管理 • 監視設定、⾃動復旧 • コンテナ数の管理 • 負荷に応じたコンテナ数のオートスケール
  32. 32 データプレーンとは 実際にコンテナが稼働する場所 • コントロールプレーンからの指⽰にしたがって起動 • コンピューティングリソースを消費(従量課⾦対 象) • 状態をコントロールプレーンに通知

  33. 33 AWSのコンテナ関連サービスをまとめた図 データ プレーン 実際にコンテナが稼働する場所 コントロール プレーン コンテナの管理をする場所 ECS EKS

    EC2 Fargate
  34. 34 現状の呼ばれ⽅とラベリング例 ECS (on EC2) ECS (on Fargate) EKS (on

    EC2) EKS (on Fargate) ECS EC2 EKS EKS ECS Fargate EC2 Fargate
  35. 35 コントロールプレーン⽐較 Amazon ECS

  36. 36 Amazon Elastic Container Service(ECS)とは AWS完全マネージドのコンテナオーケストレーションツール • 簡単なオートスケール設定 • ロードバランサー統合

    • コンテナのIAM権限管理 • コンテナのセキュリティグループ管理 • CloudWatch メトリクス統合 • CloudWatch Logs統合 • スケジュール実⾏機能
  37. 37 Amazon Elastic Container Service(ECS)とは AWS完全マネージドのコンテナオーケストレーションツール • 簡単なオートスケール設定 • ロードバランサー統合

    • コンテナのIAM権限管理 • コンテナのセキュリティグループ管理 • CloudWatch メトリクス統合 • CloudWatch Logs統合 • スケジュール実⾏機能 元がAWSフルマネージドなサービスのため 他のAWSサービスとの連携が簡単 (EKSと⽐べて)
  38. クラスター 38 ECSの構造の階層 サービス タスク定義 コンテナ定義 ECSの構造は結構複雑 😫

  39. タスク定義 39 ECSの構造解説(タスク定義、コンテナ定義) EC2 Fargate タスクメモリ タスクCPU or ⽣成 コンテナ定義

    イメージのURI ポートマッピング ヘルスチェック エントリポイント コマンド 作業ディレクトリ 環境変数 ログ設定 docker runで利⽤す るコマンドは⼀通り 利⽤可能
  40. 40 ECSの構造解説(1タスク複数コンテナ定義) <コンテナを分ける理由> ・改修のプロセスが異なる(例︓Nginxの設 定とアプリケーションの改修)ため、別々 にデプロイしたい ・awslogsにログを区別して出⼒したい(同 ⼀コンテナ上のログは、CloudWatch Logsの グループが同⼀となる)

    同⼀タスク内のコンテナは、同じホストを 共有しポート番号での通信が可能。同⼀ホ ストなので、レイテンシ上の影響は無い。
  41. クラスター サービス定義 サービス定義 サービス 41 ECSの構造解説(クラスター、サービス) 元ネタのタスク定義 タスクの数 デプロイ定義 VPC、サブネット

    セキュリティグループ ALB(or NLB)定義 オートスケール設定 タスク タスク タスク タスク ・ ・ ・ ・ タスク 定義 起動 Amazon ECS Application Load Balancer
  42. 42 ECSの構造解説(サービスの具体例) タスク 定義 起動 443(HTTPS) 80(HTTP) 80(HTTP) 80(HTTP) Application

    Load Balancer
  43. 43 コントロールプレーン⽐較 Amazon EKS

  44. 44 Kubernetesとは コンテナ運⽤⾃動化のための オープンソースプラットフォーム • Googleの⻑年にわたるコンテナ運⽤の知⾒を集約して オープンソース化 • Cloud Native

    Computing Foundation 配下 • ⾃動デプロイ、⾃動スケーリング、スケジューリングの⾃ 動 • 略称は「k8s」
  45. 45 EKSとは AWSマネージドなKubernetesサービス • 正式名称はAmazon Elastic Container Service for Kubernetes

    • Kubernetes正式準拠 • Kubernetesコミュニティが作成した既存のプラグイ ンやツールを利⽤できる
  46. 46 EKSとは AWSマネージドなKubernetesサービス • 正式名称はAmazon Elastic Container Service for Kubernetes

    • Kubernetes正式準拠 • Kubernetesコミュニティが作成した既存のプラグイ ンやツールを利⽤できる 元がオープンソースプロダクトなため、 Kubernetes⽤に開発されたツールを 広く使うことができる
  47. 47 データプレーン⽐較 AWS Fargate

  48. 48 AWS Fargateとは • サーバーを管理することなくコンテナを実⾏ • 仮想マシンのクラスターのプロビジョニングが不要 • ECSおよびEKSに対応したコンピューティングエンジ ン

    →コンソールからEC2が全く⾒えない
  49. 49 AWS Fargateとは(料⾦⾯) • コンピューティングリソースに対しての料⾦として はEC2より割⾼(1割〜2割) • ホストインスタンスの管理が省ける • EC2の余剰リソースが不要

    • セキュリティはAWS側で常にカバー
  50. 50 AWS Fargateとは(運⽤メリット)

  51. 51 Fargateの今 GA後間もない2018年に⽐べてできることは格段に増えた →現在では確実にEC2に⽐べてファーストチョイス やりたいこと 2018年初頭 現在 コンテナ内へのログイン 基本無理 ECS

    Exec ログドライバ awslogs (CloudWatch Logsのみ) Firelensでどこでも出せる EFS 利⽤不可 利⽤可能 スポット系 利⽤不可 Capacity Provider GPUインスタンス 利⽤不可 利⽤不可 Windowsコンテナ 利⽤不可 利⽤不可
  52. 52 データプレーンとして何を使うか(ECSの場合) 特にユースケースで制約がなければ EC2ではなくFargateを使うのが 今のデフォルト

  53. 53 データプレーンとして何を使うか(EKSの場合) EKS on Fargateは考慮事項や制約が 多く有るので慎重に検討したほうが良い 安パイにふるならEKS on EC2

  54. 54 Agenda • 基礎のおさらい • ECR、ECR Public • ECS、EKS、Fargate •

    インフラ最適化 • Savings Plans • Capacity Provider • Graviton Processor • バッチ処理系 • Step Functions + Fargate • AWS Batch • 次世代系 • Proton • App Runner • Lightsail Container • Anywhere系 • EKS Anywhere • ECS Anywhere • まとめ
  55. 55 インフラ最適化

  56. 56 インフラ最適化とは︖ EC2もFargateもデフォルトで使うだけではもった いない︕購⼊⽅法や設定の⼯夫でコストを下げつつ パフォーマンスが出る構成を組むことが可能 ここでは、以下の3点について改めて説明し、皆さ んの現場での採⽤可能性をお伝えします • Savings Plans

    • Capacity Provider • Graviton Processor
  57. 57 Savings Plans

  58. 58 Savings Plansとは︖ • 1年または3年の期間で⼀定量のコンピューティングの利 ⽤を前提に割引できる仕組み。契約量までは、使⽤料⾦が 割引される • Compute Savings

    Plansであれば、FargateやLambdaに も割引が適⽤可能 • オハイオリージョン、3年、全額払いで、52%OFF︕︕ • 構成を⼀切変更すること無く対応可能(コンソールでのポ チポチのみ)
  59. 59 Savings Plansの計算 https://aws.amazon.com/jp/savingsplans/ compute-pricing/ いつでもカリ キュレーターで 計算可能

  60. 60 実環境での利⽤状況を⾒た試算も可能 CostExplorer →Savings Plans →推奨事項

  61. 61 Savings Plansの参考ブログ https://dev.classmethod.jp/articles/sp-2020-spring-youtube/

  62. 62 Savings Plansとの付き合い⽅ ノーリスクでコスト節約できる可能性がある まずはコストエクスプローラーの Savings Plansの推奨事項 確認ぐらいはしましょう︕

  63. 63 Capacity Provider

  64. 64 Capacity Providerとは • ECSにおけるタスク実⾏のインフラをより柔軟に設 定する仕組み • 元々ECS on EC2でもスポットインスタンスを活⽤で

    きていたが、それをもっと柔軟に簡素にできるよう になった • それぞれで使い⽅がぜんぜん違う • ECS on EC2 • ECS on Fargate
  65. 65 Capacity Providerの構造(EC2) Auto Scaling group Capacity Provider Auto Scaling

    group Capacity Provider Auto Scaling group Capacity Provider Capacity Provider Strategy ・ ・ ・ • VPC • サブネット • AMI • インスタンスタイプ • オンデマンド or スポット ECS Cluster Auto Scaling group
  66. 66 Capacity Providerの構造(Fargate) FARGATE Capacity Provider FARGATE_SPOT Capacity Provider Capacity

    Provider Strategy ECS Cluster Fargateで登録できるCapacity Provider はFARGATEとFARGATE_SPOTのみ
  67. 67 FARGATE_SPOTとは • EC2におけるスポットインスタンスのようにスポッ トでFARGATEを使う仕組み • オンデマンドとは違うので、リージョンやAZでの利 ⽤状況に応じて突如終了される • Task

    State Change Events発⾏後SIGTERM • お値段70%OFF(⼀律)
  68. 68 Capacity Provider Strategyとは • 複数のCapacity Providerの組み合わせ⽐率を決定 • Base︓最⼩タスク数(1つのみ指定) •

    Weight︓タスク数⽐率
  69. 69 Spot系利⽤における注意点 中断への対応 • スポットインスタンスでは、事前に ECS_ENABLE_SPOT_INSTANCE_DRAINING=trueに設定 • コンテナ⾃体もSIGTERM発⽣時にGraceful Shutdownができ るように設計

    リソースの再確保 • 基本的にECS側で適切なサービス設定をしておけば、⾃動的にタ スクが起動するが、即時のリソース確保が確約されるわけではな い
  70. 70 Spot系を実際導⼊するときのやりやすさ Fargate Spotを開発環境にいれる • 何も考えずに、該当サービスの全タスクをFargate Spotにしてしまう のもあり • 定期的に落ちるのも開発環境なら許容できる場合もある

    • コンテナをイミュータブルにしていつ落ちても問題なく使える状態を 再現する(Graceful Shutdown含めて)にも有⽤ 本番環境への展開は⼗分な検証をもって • 概念が多く、ECS on EC2の場合は特に複雑 • オートスケールFargateサービスを使っているのであれば、スケーリ ングタスクをFargate Spotにするのが⽐較的取り組みやすい
  71. 71 スポット関連参考資料 https://pages.awscloud.com/rs/112-TZM-766/images/20210826-Cloud-Container-Optimization-Keynote.pdf

  72. 72 ECS on EC2での参考事例 https://pages.awscloud.com/rs/112-TZM-766/images/20210826-Cloud- Container-Optimization-Silveregg.pdf

  73. 73 Capacity Providerとの付き合い⽅ 難しい まずは開発環境のFargateあたりから 徐々に試していきましょう

  74. 74 AWS Graviton Processor

  75. 75 Graviton Processorとは︖ AWSが独⾃に作成したARMアーキテクチャのプロセッサ • 第⼀世代はAmazon EC2 A1インスタンスとして動作 • 第⼆世代のGraviton2プロセッサは第⼀世代に⽐べて⼤幅に改良されたパフォーマン

    スを発揮 x86ベースインスタンスよりハイコストパフォーマンス • 最⼤40%のパフォーマンス向上 • 20%安い • 電⼒あたりのパフォーマンス向上(2〜3.5倍) 幅広いエコシステムをサポート • Amazon Linux2, Red Hat, SUSE, Ubuntu, その他Linux • ECS, EKS, ECR, CodeBuild, CodeCommit, CodePipeline, CodeDeploy, CloudWatch
  76. 76 コンテナワークロードでGraviton2を使うには︖ • ARMアーキテクチャでのコンテナビルド • コンテナレジストリへの格納 • Graviton2プロセッサ搭載EC2インスタンス(M6g) 上でコンテナを起動

  77. 77 参考ブログ https://dev.classmethod.jp/articles/docker-on-graviton2/

  78. 78 CI/CD含めた構成要素でのARMコンテナの利⽤ コンテナビルド(マルチアーキテクチャ) • CodeBuild • GitHub Actions コンテナレジストリへの格納(マルチアーキテクチャ対応) •

    Docker Hub • ECR • ECR Public コンテナコンピューティングリソースの利⽤ • EC2インスタンス(M6g) • Fargateは未対応
  79. 79 コンテナビルド環境でのマルチアーキテクチャ対応 コンテナビルド環境においてPlatformを設定すること で、それぞれのアーキテクチャに応じたコンテナをビル ドすることが可能 CodeBuildの場合 • コンピューティングタイプにARMを指定 • ビルド環境のコンピューティングタイプ

    - AWS CodeBuild GitHub Actionsの場合 • PlatForm指定でビルド可能 • [DOCKER_TARGET_PLATFORM: linux/arm/v7]
  80. 80 コンテナレジストリへのプッシュ コンテナレジストリへマルチアーキテクチャの コンテナイメージをプッシュする場合、専⽤の Manifestリストを⽤意する必要あり • 現状、以下の3種共にマルチアーキテクチャのコンテナイ メージをサポート • Docker

    Hub • ECR • ECR Public
  81. 81 コンテナレジストリへのプッシュ 実⾏⽅法はそれぞれのマニュアルを参照 • Docker Hub︓(Multi-arch build and images, the

    simple way - Docker Blog) • ECR︓(amazon-ecr-user-guide/docker-push-multi- architecture-image.md) • ECR Public︓(Pushing a multi-architecture image - Amazon ECR Public)
  82. 82 コンピューティングリソースでの利⽤ ECS、EKS共に、EC2インスタンス(M6g)を サポート • EKSのマネージドノードグループでARMアーキテクチャ対 応済み(Amazon EKS 最適化 Amazon

    Linux AMI - Amazon EKS) • ECSではAmazon ECS-optimized Amazon Linux2 (arm64)AMIを利⽤ FargateはGraviton2未対応
  83. 83 皆さん、先⽇こんな アップデートがあったのをご存知ですか︖

  84. 84 LabmdaのランタイムでGraviton2が利⽤可能に https://dev.classmethod.jp/articles/lambda-support-graviton2-processor/ 9⽉30⽇ピッ チピチのアッ プデート

  85. 85 超絶乱暴に予測すると FireCracker Lambda Fargate

  86. 86 超絶乱暴に予測すると FireCracker Lambda Fargate Graviton2 対応済み

  87. 87 超絶乱暴に予測すると FireCracker Lambda Fargate Graviton2絶対来る よね︕︖コレ︕︕ Graviton2 対応済み

  88. 88 Graviton2がFargateにやってくる⽇も近い︖ FargateのGraviton2対応はAWSの最近の潮 流として必然の流れ 2021年のre:Invent前後で発表されるのでは︖ おそらく最初は、Fargate Spotが使えなかったりある 程度の制約はありそうだが、今の内にマルチアーキテク チャでのビルドを試してM6gインスタンスで動かして みると即利⽤できるのでウォーミングアップしておくと

    良いよ︕
  89. 89 ツイートしよう︕のコーナー 皆さんが勝⼿に予測する FargateのGraviton2対応⽇を つぶやきましょう︕ #devio2021

  90. 90 参考資料(絶対参考になります) Dockerの「マルチCPUアーキテクチャ」に対応したイ メージをビルドする | DevelopersIO [AWS Black Belt Online

    Seminar] CON437 AWS Graviton2 でマルチアーキテクチャのデリバリーパイ プラインを作成する
  91. 91 Agenda • 基礎のおさらい • ECR、ECR Public • ECS、EKS、Fargate •

    インフラ最適化 • Savings Plans • Capacity Provider • Graviton Processor • バッチ処理系 • Step Functions + Fargate • AWS Batch • 次世代系 • Proton • App Runner • Lightsail Container • Anywhere系 • EKS Anywhere • ECS Anywhere • まとめ
  92. 92 AWS App Runner

  93. 93 AWS App Runnerとは • 2021年5⽉18⽇にリリースされた、AWSの新しいコ ンテナホスティング環境(フルマネージド型) • ECSでもEKSでもFargateでもない、完全新規の環境 •

    様々なAWSリソースをユーザーから完全に隠蔽する ことで、開発者がコンテナのホスティングに注⼒す ることを意図したサービス
  94. 94 ECSの場合のAWSリソース ECSでコンテナ環境を構築 するときに、意識する必要 があるサービス群 https://speakerdeck.com/iselegant/20210628-jawsug-container-19-final?slide=37

  95. 95 App Runnerの場合のAWSリソース App Runnerの時に意識する AWSリソース もろもろ隠蔽されているた め、ユーザーが意識する AWSリソースが圧倒的にす くない

    https://speakerdeck.com/iselegant/20210628-jawsug-container-19-final?slide=38
  96. 96 AWS App Runnerでできること • オートスケール設定(同時実⾏数、最⼤/最⼩サイ ズ) • カスタムドメイン(含証明書管理) •

    ロギング(CloudWatch Logs) • CI/CD(コンテナ or コードベース) • 監視(CloudWatch Alarm)
  97. 97 AWS App Runnerでできないこと • VPCリソースへのアクセス • AuroraなどVPCが必須なサービスに通信する⽅法が無 い •

    ロードマップに載っている • WAFが利⽤できない • ALBも⾒えないのでWAFも使えない • ロードマップに載っている
  98. 98 AWS App Runnerとの付き合い⽅ 基本的には できないことを機能不⾜と捉えるのではなく 考えなくて良い=メリット という付き合い⽅をオススメする

  99. 99 Agenda • 基礎のおさらい • ECR、ECR Public • ECS、EKS、Fargate •

    インフラ最適化 • Savings Plans • Capacity Provider • Graviton Processor • バッチ処理系 • Step Functions + Fargate • AWS Batch • 次世代系 • Proton • App Runner • Lightsail Container • Anywhere系 • EKS Anywhere • ECS Anywhere • まとめ
  100. 100 Amazon ECS Anywhere

  101. 101 Amazon ECS Anywhereとは • ⼀般提供開始︓2021年5⽉27⽇ • ECSのうちコントロールプレーンはAWS環境で利⽤ し、データプレーンをAWSの外側(いわゆるオンプ レミス)でホストすることが可能

    • 無料で使える(︕)ECSオーケストレーターの機能 を、コンテナ実⾏環境に関わらず展開することで、 運⽤上のオーバーヘッドを無くす
  102. 102 Amazon ECS Anywhereのアーキテクチャ ref:[祝GA︕] ECS Anywhere を「M1 Mac」の仮想マシンを使って動かしてみた |

  103. 103 Amazon ECS Anywhereのアーキテクチャ https://aws.amazon.com/jp/blogs/news/building-an-amazon-ecs-anywhere-home-lab- with-amazon-vpc-network-connectivity/

  104. 104 Amazon ECS Anywhereのユースケース フルマネージドなコントロールプレーンの利⽤ • 基本的に落ちないECSコントールプレーンをだいたい無料で利⽤可能 • AWS、オンプレミス、Google Cloudなどで、⼀環したコンテナオー

    ケストレーションを実現可能 エッジ環境でのデータ処理 • クラウドに持っていくには⼤変な既存の⼤量データ(TB以上)をエッ ジ領域で処理することで、クラウド課⾦や処理実⾏中のレイテンシー を削減 既存環境からの移⾏ • 既存のオンプレミス環境を利⽤しながら、ECSを導⼊することで導⼊ の⼿間を減らしながら、将来のAWSへの移⾏を準備する
  105. 105 Amazon ECS Anywhereの実⾏⽅法 1.ECSクラスターの作成 • ネットワーキングのみで作成 2.クラスター専⽤アクティベーションキーの取得 • ECSクラスターのExternalインスタンス登録ボタンから、専⽤

    コマンドを取得 3.Externalインスタンスの登録 • コマンドにはアクティベーションコードが含まれており、イン スタンスがインターネット接続できる状態になっていれば、そ のコマンドを実⾏するだけで、クラスターにインスタンスとし て登録される
  106. 106 Amazon ECS Anywhereのリファレンス Amazon VPC と接続可能なおうち Amazon ECS Anywhere

    クラスターの構築 | Amazon Web Services ブログ Amazon ECS Anywhere のよくある質問– ア マゾン ウェブ サービス Getting Started with Amazon ECS Anywhere – Now Generally Available | AWS News Blog
  107. 107 Amazon ECS Anywhereとの付き合い⽅ ECSのコントロールプレーンとしての 便利さを利⽤しながら オンプレ資産を活かしたい⼈向け (いきなりこれでECSデビューするのは さすがにやめましょう)

  108. 108 Amazon EKS Anywhere

  109. 109 Amazon EKS Anywhereとは • ⼀般提供開始︓2021年9⽉8⽇ • Amazon EKSのための新しいデプロイオプション •

    AWS関係ないところ(オンプレミスだけ)での利⽤ が可能 • EKS Distroを利⽤ • AWSが開発したKubernetesディストリビューション • EKS Connectorを利⽤することで、全ての Kubernetesクラスターを確認可能
  110. 110 Amazon EKS Anywhereのドキュメント • https://anywhere.eks.amazonaws.com/ • ドキュメントは既存AWSドキュメントドメイン (docs.aws.amazon.com)とは別

  111. 111 Amazon EKS Anywhereのアーキテクチャ

  112. 112 Amazon EKS Anywhereと他のやつのサマリー https://anywhere.eks.amazonaws.com/docs/concepts/eksafeatures/

  113. 113 Amazon EKS AnywhereとEKSの⽐較 • https://anywhere.eks.amazonaws.com/docs/co ncepts/eksafeatures/

  114. 114 Amazon EKS Anywhereの全体構成 https://aws.amazon.com/jp/blogs/news/amazon-eks-anywhere-now-generally-available- to-create-and-manage-kubernetes-clusters-on-premises/

  115. 115 Amazon EKS Anywhereの実⾏⽅法 1.EKS Anywhereのインストーラダウン ロード 2.EKS Anywhereクラスタの検査 •

    アップグレード、スケーリング、ネットワーク、リポジト リ統合をテスト 3.EKS Connectorのインストール • EKSコンソールを通じて、全ての管理対象Kubernetesクラ スターを表⽰し検査
  116. 116 EKS Connectorとは • 2021年10⽉7⽇現在、パブリックプレビュー • Kubernetes準拠のクラスターをAWSに接続し、EKSコンソールで視覚化可 能 • 接続可能なクラスター例

    • EKS Anywhere • Anthos • GKE • AKS • OpenShift • Tanzu • Rancher • EC2
  117. 117 EKS Connectorとは

  118. 118 EKS Connectorとは

  119. 119 Amazon EKS Anywhereのリファレンス Amazon EKS Anywhere ̶ オンプレミス で

    Kubernetes クラスターの作成と管理が 広く利⽤可能になりました | Amazon Web Services ブログ Amazon EKS Connector - Amazon EKS
  120. 120 Amazon EKS Anywhereとの付き合い⽅ EKSを気にいっている⼈が オンプレ環境でKubernetesを 展開したい⼈向け

  121. 121 まとめ

  122. 122 AWS コンテナ関連サービスの選び⽅(基本) App Runnerを触ったこ とがある? App Runnerを触って何 ができるか理解する No

    Yes App Runnerでコンテナ ワークロードの要件を 満たしているか? App RunnerでPOCを 実施、問題ないか? App Runnerで 本番運用する ECS on Fargateがコン テナワークロードの要 件を満たしているか? Yes No ECS on Fargateで 本番運用する Kubernetesのエコシス テムを利用する必要が あるか? EKS on EC2/Fargateで 本番運用する No Yes No Yes Yes 他の選択肢を探す (ECS on EC2など) No
  123. 123 AWS コンテナ関連サービスの選び⽅(追加) Savings Plans検討した ? いますぐやりなはれ! No Yes 今はFargate?

    Capacity Provider検討 した? Fargate Spotを開発環 境でためしてみよう Yes No
  124. 124 AWS コンテナ関連サービスの選び⽅(必須) Graviton2 Processor 興奮する? 今のうちにARMアーキ テクチャビルドを試そ う!! もういちどこの資料

    最初から読む No Yes
  125. 125 最後に 今⽇の私の話が 皆さんのコンテナ環境の改善に 少しでも役⽴てば幸いです

  126. セッション後は、チャット欄のURL、または下記QRコードより アンケートへのご協力をお願いいたします。 SNS投稿にはこちらをお使いください:#devio2021 https://forms.gle/LxRfW6GeYWZNmMkx6 13:05-13:35 「2021年コンテナ最前線 〜今AWSでコンテナホストするならなにが現実解なのか?〜」 Q&A Q&A