Share
Embed
Transcript
38 slides
-
© 2021, Amazon Web Services, Inc. or its Affiliates. 2024/2/27
JAWS-UG 名古屋 AWS コンテナサービス 概要 / Amazon EKS 成分多めに紹介します -
© 2021, Amazon Web Services, Inc. or its Affiliates. オーケストレータ
イメージレジストリ Amazon ECR Amazon ECS Amazon EKS Amazon EC2 AWS Fargate -
© 2021, Amazon Web Services, Inc. or its Affiliates. 4
AWSのコンテナ関連サービス オーケストレーション (コントロールプレーン) デプロイ、スケジューリング、 スケーリング、クラスタ管理 実⾏基盤 (データプレーン) コンテナ実⾏ イメージレジストリ コンテナイメージのリポジトリ Elastic Container Registry Elastic Container Service EC2 (Elastic Compute Cloud) Fargate Elastic Kubernetes Service CloudWatch Container Insights コンテナ監視 メトリクス、ダッシュボード -
© 2021, Amazon Web Services, Inc. or its Affiliates. 5
AWS 上での基本的な EC サイト構成例 ※ NW やセキュリティのコンポーネントは省略しています AZ1 AZ2 VPC ユーザー Amazon Route 53 Elastic Load Balancing https://ec.example.co.jp Amazon CloudFront Amazon S3 Amazon ElastiCache Cluster Amazon RDS or Aurora Elastic Container Service Elastic Container Registry CloudWatch Logs / Container Insights RDS Proxy App Server DB Server コンテナ AP Serv 製品 Framework アプリ -
© 2021, Amazon Web Services, Inc. or its Affiliates. Amazon
Elastic Container Service (ECS) フルマネージド型のコンテナオーケストレーションサービス グローバル展開 強⼒なスケジュールエンジン オートスケーリング CloudWatch 連携 (ログ/メトリクス/イベント) Elastic Load Balancing 連携 コンテナレベルの ネットワーク構成 ⾼度なタスク配置 戦略 他の AWS サービス との連携 SLA 99.99% … { } Linux & Windows -
© 2021, Amazon Web Services, Inc. or its Affiliates. Amazon
ECS と各種AWSサービスの⾼度な連携 Elastic Load Balancing(ELB) AWS App Mesh AWS Cloud Map Amazon VPC ネットワーキング AWS Secrets Manager Amazon Simple Storage Service(S3) AWS Systems Manager Parameter Store Secrets/Configs Amazon CloudWatch AWS X-Ray モニタリング AWS CodePipeline AWS CodeCommit AWS CodeBuild AWS CodeDeploy CI/CD Amazon GuardDuty AWS Identity and Access Management(IAM) AWS CloudTrail セキュリティ Amazon ECS AWS Step Functions Amazon EventBridge Job実⾏ AWS CloudFormation IaC Amazon Elastic File System(EFS) NFS -
© 2021, Amazon Web Services, Inc. or its Affiliates. Amazon
ECS Anywhereを発表 • お客様の管理するインフラストラクチャ(e.g. オンプレミス環境)へコンテナをデ プロイさせることが可能に • デプロイ先がAWSクラウドでもオンプレミスでも今までのECSとオペレーション の操作性は同じ • Amazon ECS Anywhereを利⽤すればオンプレミスにコンテナオーケストレーショ ンの仕組みを構築する必要がなくなる Corporate data center Traditional server Traditional server Traditional server Amazon Elastic Container Service AWS Cloud -
© 2021, Amazon Web Services, Inc. or its Affiliates. Amazon
ECS によるデプロイオプション デプロイメント、スケジュー リング、スケーリングとコン テナアプリケーションの管理 コンテナ実⾏環境 Amazon Elastic Container Service Amazon EC2 in AWS regions AWS Local Zones AWS Wavelength AWS Fargate オーケストレーション コンピューティングエンジン Fully Managed on-premises cloud Amazon EC2 in AWS Outposts On-premises including customer-owned Virtual Machines and bare metal servers -
© 2021, Amazon Web Services, Inc. or its Affiliates. •
たくさんのお客様が EC2 上にセルフマネージドな Kubernetes を動か していました • Kubernetes の周りにある OSS のエコシステムやその拡張性の⾼さを 望まれていました -
© 2021, Amazon Web Services, Inc. or its Affiliates. Amazon
Elastic Kubernetes Service (EKS) AWS での Kubenetes の実⾏を容易にするマネージドサービス • Kubernetes のリリース(=Upstream)を改変なく利⽤ • CNCF による Kubernetes 準拠の認定を取得 • 既存の Kubernetes エコシステムが完全に動作 • AWS サービスとの連携も OSS で実装 • 既存の Kubernetes エコシステムが完全に動作 • EKS サービスチーム、OSS チームによる Kubernetes コミュニティへの貢献 • “Pod”、”Deployment”、“Service”、“Job” などのリ ソースに代表される⾼い表現⼒ -
© 2021, Amazon Web Services, Inc. or its Affiliates. Amazon
Elastic Kubernetes Service (Amazon EKS) Kubernetes環境をマネージドサービスとして提供 -
© 2021, Amazon Web Services, Inc. or its Affiliates. ©
2021, Amazon Web Services, Inc. or its Affiliates. 67% の Kubernetes ユーザーが AWS 上で ワークロードを動かしている ̶CNCF survey, 2017 -
© 2021, Amazon Web Services, Inc. or its Affiliates. Kubernetesの運⽤は難易度が⾼い
CRI対応 Container Runtime CRI Docker (dockershim) kubelet -
© 2021, Amazon Web Services, Inc. or its Affiliates. ©
2021, Amazon Web Services, Inc. or its Affiliates. Amazon Elastic Kubernetes Service -
© 2021, Amazon Web Services, Inc. or its Affiliates. Amazon
Elastic Kubernetes Service (EKS) AWS での Kubenetes の実⾏を容易にするマネージドサービス • Kubernetes のリリース(=Upstream)を改変なく利⽤ • CNCF による Kubernetes 準拠の認定を取得 • 既存の Kubernetes エコシステムが完全に動作 • AWS サービスとの連携も OSS で実装 • 既存の Kubernetes エコシステムが完全に動作 • EKS サービスチーム、OSS チームによる Kubernetes コミュニティへの貢献 • “Pod”、”Deployment”、“Service”、“Job” などのリ ソースに代表される⾼い表現⼒ -
© 2021, Amazon Web Services, Inc. or its Affiliates. ©
2021, Amazon Web Services, Inc. or its Affiliates. -
© 2021, Amazon Web Services, Inc. or its Affiliates. ©
2021, Amazon Web Services, Inc. or its Affiliates. -
© 2021, Amazon Web Services, Inc. or its Affiliates. Amazon
EKS Anywhere 既存のハードウェアに Kubernetes 環境 を作成し、かつ EKS としての ⼀貫した運⽤体験を提供する 標準的に利⽤されている オープンソースのツール でクラスターを管理 プロダクションレディな クラスターを迅速に⽤意 既存のハードウェアを 活⽤ Amazon EKS で運⽤されている セキュアで安定したテスト済み のコンポーネントを実⾏ EKS Distroをオンプレミスにデプロイし、ライフサイクルを管理 -
© 2021, Amazon Web Services, Inc. or its Affiliates. 既存の
VMware vSphere に Kubernetes 環境 を作成し、かつ EKS と しての⼀貫した運⽤体験を提供する 標準的に利⽤されている オープンソースのツール でクラスターを管理 プロダクションレディな クラスターを迅速に⽤意 既存の VMware vSphere 環境を活⽤ Amazon EKS で運⽤されている セキュアで安定したテスト済み のコンポーネントを実⾏ EKS Distro を VMware vSphere にデプロイし、ライフサイクルを管理 Amazon EKS Anywhere -
© 2021, Amazon Web Services, Inc. or its Affiliates. EKS
と EKS Distro、EKS Anywhere Amazon EKS Distro AWS が バージョンの⼀貫性を担保 (アップグレード、依存関係、セキュリティパッチ) Amazon EKS in AWS Provisioning Scaling Upgrade Node OS CNI Flux Console … Web Service APIs Vanilla Kubernetes Amazon EKS Anywhere Offline Tools AWS が運⽤ AWS がサポートする API で管理 お客様が運⽤ AWS がサポートする ツールで管理 Provisioning Scaling Upgrade Node OS CNI Flux Console … Amazon EKS Anywhere は VMware vSphere をサポートしています。 詳細はこちら -
© 2021, Amazon Web Services, Inc. or its Affiliates. イメージレジストリ:Amazon
ECR (Elastic Container Registry) フルマネージドなコンテナイメージレジストリ コンテナ イメージ(群) • リージョンサービスであり、 スケーラブル かつ ⾼い可⽤性 を提供 • セキュリティ(IAMで制御、クロスアカウント利 ⽤、イメージセキュリティスキャン、暗号化) • OCI準拠。ECS/EKS/k8s等から利⽤可能 • ライフサイクルポリシーにより、 イメージの⾃動クリーンアップも可能 (「タグなしイメージはpush登録からn⽇経過したも のは削除」や「n個以上は削除」といったルールを複 数定義可能) -
© 2021, Amazon Web Services, Inc. or its Affiliates. Amazon
ECR - コンテナイメージスキャン機能 CoreOS社 Clairプロジェクト (ツール*) の脆弱性データベースを利⽤した コンテナイメージスキャン機能を提供 (無償でご利⽤可能) Amazon ECR (Privateレジストリ) Amazon Elastic Container Service(ECS) Amazon Elastic Kubernetes Service(EKS) イメージPULL イメージPULL コンテナイメージ コンテナイメージ 脆弱性スキャン この領域の機能を提供 (静的イメージスキャン) ビルドツール・ CI/CDパイプライン イメージPUSH (*) https://github.com/quay/clair イメージスキャン 完了イベント … Amazon CloudWatch Events CodePipeline -
© 2021, Amazon Web Services, Inc. or its Affiliates. 28
ECS で EC2をデータプレーンに使⽤する上での悩み EC2 インスタンス OS Docker engine ecs-agent Task Task l 脆弱性対応のパッチ当てやOS更新 l EC2インスタンス上のエージェント類の更新 l 状態異常が発⽣したEC2インスタンスの再起動や ⼊れ替え l インスタンスレベルのスケーリング管理 l アプリの開発 & デプロイ l コンテナのAuto Scaling設定 l コンテナのセキュリティ管理 本来やりたいこと (やるべきこと) アプリケーションの開発と運⽤に集中したいのに EC2インスタンスの運⽤作業 (OS, ECSエージェント, …) が発⽣する -
© 2021, Amazon Web Services, Inc. or its Affiliates. 29
データプレーン:AWS Fargate EC2インスタンスの管理不要でコンテナを実⾏可能 ( = ECSにおける “サーバーレスな” データプレーン) • タスクのスケーリングのみを管理 • 使⽤リソースに対しての秒単位料⾦ • 各種AWSサービスとの連携 • ユーザーVPCにENIにて接続 • 接続するサブネットを指定 • SLA 99.99 % (ECSと同じ) EC2インスタンス 管理不要 タスク ネイティブAPI リソース ベース価格 簡素で使いやすく 強⼒なリソース消費モデル (※EC2と共存可能) -
© 2021, Amazon Web Services, Inc. or its Affiliates. Amazon
ECS AWS Fargate -
© 2021, Amazon Web Services, Inc. or its Affiliates. AWS
上でのコンテナ実⾏における幅広い選択肢 Amazon ECS Amazon EKS Amazon EC2 AWS Fargate -
© 2023, Amazon Web Services, Inc. or its affiliates. 34
AWS App Runner - 概要 AWSを活⽤するお客様のねらい → 「スケール性⾼く、セキュアに素早くサービスを開発したい」 Innovate Scale Secure スケール性を確保 (素早くシームレスに) セキュリティの確保 (設計による分離) アプリ構築に注⼒ (基盤ではなく) -
© 2023, Amazon Web Services, Inc. or its affiliates. 35
AWS App Runner - 概要 コントロールプレーンやデータプレーンなどを意識させない シンプル かつ 抽象度の⾼い コンテナ実⾏⽤のコンピューティングサービス AWS Fargate ECS Elastic Load Balancing AWS Auto Scaling AWS CodeBuild 開発チーム Webアプリケーション バックエンドサーバー -
© 2023, Amazon Web Services, Inc. or its affiliates. 36
AWS App Runner - 概要 コントロールプレーンやデータプレーンなどを意識させない シンプル かつ 抽象度の⾼い コンテナ実⾏⽤のコンピューティングサービス AWS App Runner Webアプリケーション バックエンドサーバー 開発チーム