20180220 AWS Black Belt Online Seminar - Amazon Container Services

Amazon Web Services Japan
Amazon Web Services JapanAmazon Web Services Japan
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
【AWS Black Belt Online Seminar】
Amazon Container Services
Ryosuke Iwanaga, Solutions Architect
Amazon Web Services Japan K.K.
2018.02.20
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
自己紹介
Ryosuke Iwanaga (岩永 亮介)
• Twitter/GitHub @riywo
Amazon Web Services Japan K. K.
Solutions Architect
• Containers / DevOps / Serverless / Mobile / Developers
Before Amazon
• Software Engineer / Ops Engineer / DBA / etc.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
内容についての注意点
• 本資料では2018年2月14日時点のサービス内容および価格についてご説明しています。最新の情報は
AWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。
• 資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相違が
あった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。
• 価格は税抜表記となっています。日本居住者のお客様が東京リージョンを使用する場合、別途消費
税をご請求させていただきます。
• AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change
in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/.
Any pricing information included in this document is provided only as an estimate of usage charges
for AWS services based on certain information that you have provided. Monthly charges will be
based on your actual use of AWS services, and may vary from the estimates provided.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Agenda
• コンテナを利用した開発の実際
• Amazon Container Services 解説
• Amazon Elastic Container Registry (ECR)
• Amazon Elastic Container Service (ECS)
• Amazon Elastic Container Service for Kubernetes (EKS)
• AWS Fargate
• コンテナCI/CDパイプラインの構築
• コンテナのAuto Scaling
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナを利用した開発の実際
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
なぜコンテナが愛されているのか?
パッケージング 配布 イミュータブル
インフラストラクチャ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナのユースケース
マイクロサービスアーキテクチャ
多数のマイクロサービスを同じ様に管理
非同期ジョブ実行 (バッチコンピューティング)
ジョブのリクエストに応じた柔軟なスケール
継続的インテグレーション、継続的デプロイ(CI/CD)
開発〜テスト〜本番まで一貫したイメージを利用
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナを利用した開発に必要な技術要素
• アプリのステートレス化
• レジストリ
• コントロールプレーン / データプレーン
• CI/CDパイプライン
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アプリのステートレス化
コンテナの中に入れるのはステートレスなアプリに
コンテナのメリットを最大限活かせる
ステートが必要なものはコンテナの外に置く
例: RDBMSが必要 → Amazon RDS
例: オブジェクトの保存 → Amazon S3
参考: Twelve-factor Application – IV. Backing services
https://12factor.net/ja/backing-services
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
レジストリ
コンテナの起動元となるイメージの置き場所
アプリ+実行環境をpush / 実行時にpullして起動
高い可用性、スケーラビリティが求められる
落ちたらデプロイ不能、同時に大量にpullされることも
自前で持つとその管理コストがかかる
→ Amazon ECR
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コントロールプレーン / データプレーン
コントロールプレーン = コンテナの管理をする場所
どこでコンテナを動かす?生死は?いつ止める?
デプロイ時にどういう風に配置する?
→ Amazon ECS / Amazon EKS
データプレーン = 実際にコンテナが稼働する場所
コントロールプレーンからの指示に従って起動
各種状態をコントロールプレーンにフィードバック
→ AWS Fargate / Amazon EC2
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CI/CDパイプライン
アプリのコード変更〜コンテナのデプロイを管理する
自動化することで誰がやっても同じようにデプロイ可能
ビルドはもちろん、単体テストや統合テスト、負荷テストも
カナリアデプロイやリージョンデプロイなども
途中にマニュアルでの承認を挟んでも良い
→ AWS CodePipeline / AWS CodeBuild
コントロールプレーンの違いを吸収することもできる
例: 同じコードから、AWSはECS / オンプレはKubernetesへ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon EC2
AWS
CodePipeline
Source Build Deploy
AWS
CodeCommit
AWS
CodeBuild
Amazon RDS Amazon S3
Developer
Control plane
Data plane
Backing
service
Registry
CI/CD pipeline
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Container Services 解説
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Container Services
レジストリ
Amazon ECR
コントロールプレーン
Amazon ECS
Amazon EKS
データプレーン
AWS Fargate
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elastic Container Registry (ECR)
フルマネージドの高可用性・スケーラブルなレジストリ
エンドポイントにアクセスできるならAWS外からでも利用可能
AWS IAMによる強力な認証管理機構
pullのみの権限、クロスアカウントアクセスも可能
ライフサイクルポリシーでイメージの自動クリーンアップ
何日以前や何個以上は自動削除といったルールを組み合わせて設定
NEW!!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS上の本番環境のコンテナを支える
AWS VPCネット
ワークモード
タスク配置
他のAWSサービス
との深い連携
ECS CLI…{ }
グローバル展開
強力なスケジューラ
オートスケーリング
CloudWatch メトリクス
ロードバランサ
Linux & Windows
NEW!!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
450+%
年間アクティブユーザの成長
(2016年と比較)
数億コンテナ
が毎週起動
数百万もの
インスタンス上で
Amazon Elastic Container Service
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Task: コンテナ(群)の実行単位
Task Definitionの情報から起動される
family:revisionで指定
1つ以上のコンテナを実行しているリソース
Task内のコンテナ群は同じホスト上で実行
CPUとメモリの上限を指定する
それを元にスケジュールされる
{
"family": “scorekeep",
"containerDefinitions": [
{
"name":“scorekeep-frontend",
"image":"xxx.dkr.ecr.us-east-1.amazonaws.com/fe"
},
{
"name":“scorekeep-api",
"image":"xxx.dkr.ecr.us-east-1.amazonaws.com/api"
}
]
}
Task Definition – scorekeep:10
scorekeep-frontend
scorekeep-api
Task
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Service: ロングランニングアプリ用スケジューラ
Taskの数を希望数に保つ
Task Definitionを新しくすると
Blue/Greenデプロイ
ELBと連携することも可能
メトリクスに応じてTask数の
Auto Scalingも可能(後述)
Servic
e
app:1
app:2
Elastic
Load Balancing
desiredCount: 2
maximumPercent: 200
minimumHealthyPercent: 100
Application
Auto Scaling
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
IAM Role: Task毎に異なる権限のAWS認証が可能
IAM RoleをTask毎に設定可能
AWS SDKを利用していれば自
動的に認証情報が得られる
アクセス鍵等の埋め込み不要
自分のRoleにない権限は当然
利用不可なので、セキュア
AWS IAM
Amazon
DynamoDB
Amazon S3
AWS IAM
DynamoDBRole
S3Role
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS VPC ネットワークモード
Task毎にENIを自動割り当て
Security GroupをTask毎に設定可能
Task内のコンテナはlocalhostを共
有
Link不要で互いにアクセス可能
VPC内の他のリソースへPrivate IP
で通信が可能
FargateではPublic IPの割当も可能
172.31.0.0/16
Subnet
172.31.1.0/24
Internet
Other Entities in VPC
EC2 ELB RDS etc.
Elastic Network Interface (ENI)
Public IP / Private IP
208.57.73.13 / 172.31.1.164
us-east-1a
us-east-1b
us-east-1c
NEW!!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
その他のAmazon ECSの特徴
Amazon CloudWatch Logsと簡単に連携
Amazon CloudWatch Eventsに各種イベントが流れる
[Coming soon] Service Discovery by Route 53
EC2へのTask配置を柔軟に設定可能
NEW!!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
63% のKubernetes利用者が
AWSを今日利用している
—CNCF アンケートより
https://www.cncf.io/blog/2017/06/28/survey-shows-kubernetes-leading-orchestration-platform/
https://www.cncf.io/blog/2017/12/06/cloud-native-technologies-scaling-production-applications/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elastic Container Service for Kubernetes
(EKS)
Tenet 1
EKSはエンタープライズ企業が本番
のワークロードを実行するためのプ
ラットフォームであること
Tenet 2
EKSはネイティブで最新の
Kubernetesの体験を提供すること
Tenet 3
EKSユーザが他のAWSサービスを使
う時、シームレスな連携を実現し不
要な作業を取り除くこと
Tenet 4
EKSチームは積極的にKubernetesプ
ロジェクトに貢献していくこと
NEW!! (Preview)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
kubectl
3) AWSアイデンティティをRBACで認可する
k8s API
1) AWSアイデンティティを渡す
2) AWSアイデンティティ
を検証する
4) k8sのアクションが許
可・拒否される
AWS Auth
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アプリケーションの開発に集中したい
Amazon EC2
• アプリ開発してデプロイ
• コンテナのAuto Scale
• コンテナのセキュリティ管理
• OSのプロビジョン
• OSのセキュリティ管理
• インスタンスのAuto Scale
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
計算リソースの使い方を根本的に変える
簡素で、使いやすく、
強力な
新しいリソース利用モデル
=インスタンス
管理不要
タスク
ネイティブAPI
リソース
ベースの価格
NEW!!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling and Orchestration
Cluster Manager Placement Engine
ECS
AMI
Docker
agent
ECS
agent
EC2 Instance
ECS
AMI
Docker
agent
ECS
agent
EC2 Instance
ECS
AMI
Docker
agent
ECS
agent
EC2 Instance
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
タスクに割り当てるCPUとメモリの設定
柔軟な設定の選択肢
– 50 のCPU/メモリ設定から
CPU Memory
256 (.25 vCPU) 512MB, 1GB, 2GB
512 (.5 vCPU) 1GB to 4GB (1GB 刻み)
1024 (1 vCPU) 2GB to 8GB (1GB 刻み)
2048 (2 vCPU) 4GB to 16GB (1GB 刻み)
4096 (4 vCPU) 8GB to 30GB (1GB 刻み)
1 vCPU = $0.00001406/秒
1 GB Mem = $0.00000353/秒
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Fargateの料金計算例
• 0.25 vCPU + 1 GB MemのTask
• 10個のTaskが毎日1時間実行
30日分のCPU料金
10 x 0.25 x 0.00001406 x 3600 x 30 = $3.80
30日分のMemory料金
10 x 1 x 0.00000353 x 3600 x 30 = $3.81
30日分のトータル料金
$3.80 + $3.81 = $7.61
• 実際にTaskを起動していた
vCPUとMemoryに対する秒
単位の計算
• ストレージ料金は不要
• データ転送料は標準
• その他に利用するサービス
は追加料金が発生
• 例: CloudWatch Logs
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サービスレベルアグリーメント
99.99
NEW!!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナCI/CDパイプラインの構築
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
なぜCI/CDパイプラインが重要なのか?
• 誰がやっても同じ様にデプロイできること
• イメージがどうやって作られどこで使われてるか把握
• アプリ毎に統一された手法を利用する
しかし、CI/CDパイプラインの実装や構築自体は、典型的
な差別化を産まない重労働
→ AWS CodePipeline / AWS CodeBuild
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS CodePipeline
柔軟なCI/CDパイプラインをフルマネージド
Source, Build, Test, Deployを複雑に組合せ
並列実行や、手動承認も設定可能
Deploy TargetにECS Serviceも対応
ユースケース
テスト環境にデプロイ後、各種テスト実行
カナリア、リージョンデプロイ
NEW!!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS CodeBuild
マネージドの実行環境
ビルドやテスト等が主な目的
実行環境はDockerイメージ
各種言語対応の環境
Dockerイメージのビルドも可能
CodePipelineとも連携可能
もちろん単体でも利用可能
version: 0.2
phases:
pre_build:
commands:
- $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email)
- REPOSITORY_URI=0123456789.dkr.ecr.us-east-1.amazonaws.com/fargate-demo
- IMAGE_TAG=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
build:
commands:
- docker build -t $REPOSITORY_URI:latest .
- docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG
post_build:
commands:
- docker push $REPOSITORY_URI:latest
- docker push $REPOSITORY_URI:$IMAGE_TAG
- printf '[{"name":"app","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imageDefinition.json
artifacts: files: imageDefinition.json
buildspec.yaml
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS
CodePipeline
AWS
CodeCommit
AWS
CodeBuild
Developer
Application
Load Balancer
Servic
e
パイプライン確認、手動承認
コードのチェックイン
ビルド済
イメージの確認
デプロイ後の
状態確認
registerTaskDefinition & updateService
docker build & push
imageDefinition.json
source code
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナのAuto Scaling
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コンテナの数をAuto Scalingさせる
何らかのメトリクスに応じて、コンテナの数を自動スケールさせたい
コンテナのCPUやメモリ使用率、リクエスト数
コントロールプレーンの課題
メトリクスの変化に対して、コンテナ数をどの程度変化させれば良い?
データプレーンの課題
コンテナのスケールに応じて、インスタンス数もスケールが必要
→ ECSのTarget TrackingとFargateの組合せがオススメ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECSの特徴: Target Trackingとの連携
メトリクスに対してターゲットの値を
設定するだけ
(例: CPU使用率 50%)
その値に近づく様に、Application Auto
Scalingが自動的にServiceの
DesiredCountを調整
ECSではコンソールからも設定可能
ECSServiceAverageCPUUtilization
ECSServiceAverageMemoryUtilization
ALBRequestCountPerTarget
CPUTraffic
DesiredCount
Time
100%
0%
50%
10%
20%
30%
40%
60%
70%
80%
90%
5
30
10
15
20
25
Target CPU Utilization DesiredCount
NEW!!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Servic
e
Fargateを利用したコンテナAuto Scalingの優位性
Fargateの場合
• Serviceのスケールに応じて自然に
コンテナが起動・終了する
• コンテナの起動時間に対してのみ
課金
EC2の場合
• インスタンスのリソースも上手く
スケールさせる必要があり煩雑
• 余分に持っているバッファ分もイ
ンスタンスの課金が必要
Amazon EC2
Servic
e Resource
buffer
(+~15%)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
まとめ
コンテナ開発の要素
Amazon Container Services
CI/CDパイプライン
Auto Scaling
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
参考資料
• Amazon Container Services Page
• Containers on AWS - State of the Union
- CON201 - re:Invent 2017 Slides /
Video
• Introducing AWS Fargate - CON214 -
re:Invent 2017 Slides / Video
• Deep Dive into AWS Fargate - CON333
- re:Invent 2017 Slides / Video
• Introducing Amazon EKS - CON215 -
re:Invent 2017 Slides / Video
• Deep Dive into Amazon EKS - CON409
- re:Invent 2017 Slides / Video
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Q&A
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
オンラインセミナー資料の配置場所
AWS クラウドサービス活用資料集
• https://aws.amazon.com/jp/aws-jp-introduction/
AWS Solutions Architect ブログ
• 最新の情報、セミナー中のQ&A等が掲載されています。
• http://aws.typepad.com/sajp/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
公式Twitter/Facebook
AWSの最新情報をお届けします
@awscloud_jp
検索
最新技術情報、イベント情報、お役立ち情報、
お得なキャンペーン情報などを日々更新しています!
もしくは
http://on.fb.me/1vR8yWm
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSの導入、お問い合わせのご相談
AWSクラウド導入に関するご質問、お見積、資料請求をご希望のお客様は以下
のリンクよりお気軽にご相談下さい。
https://aws.amazon.com/jp/contact-us/aws-sales/
※「AWS 問い合わせ」で検索して下さい。
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Well Architected 個別技術相談会お知らせ
• Well Architectedフレームワークに基づく数十個の質問項目を元に、お客様が
AWS上で構築するシステムに潜むリスクやその回避方法をお伝えする個別相
談会です。
https://pages.awscloud.com/well-architected-consulting-2017Q4-jp.html
• 参加無料
• 毎週火曜・木曜開催
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ご参加ありがとうございました
1 of 51

Recommended

20200526 AWS Black Belt Online Seminar AWS X-Ray by
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-RayAmazon Web Services Japan
27.7K views99 slides
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier by
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / GlacierAmazon Web Services Japan
42.5K views79 slides
20190911 AWS Black Belt Online Seminar AWS Batch by
20190911 AWS Black Belt Online Seminar AWS Batch20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS BatchAmazon Web Services Japan
23K views67 slides
20200714 AWS Black Belt Online Seminar Amazon Neptune by
20200714 AWS Black Belt Online Seminar Amazon Neptune20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon NeptuneAmazon Web Services Japan
3.9K views63 slides
20200818 AWS Black Belt Online Seminar AWS Shield Advanced by
20200818 AWS Black Belt Online Seminar AWS Shield Advanced20200818 AWS Black Belt Online Seminar AWS Shield Advanced
20200818 AWS Black Belt Online Seminar AWS Shield AdvancedAmazon Web Services Japan
5.7K views82 slides
20210216 AWS Black Belt Online Seminar AWS Database Migration Service by
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration ServiceAmazon Web Services Japan
5.9K views63 slides

More Related Content

What's hot

20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive by
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep diveAmazon Web Services Japan
6.9K views80 slides
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用 by
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用Amazon Web Services Japan
11.4K views63 slides
20210119 AWS Black Belt Online Seminar AWS CloudTrail by
20210119 AWS Black Belt Online Seminar AWS CloudTrail20210119 AWS Black Belt Online Seminar AWS CloudTrail
20210119 AWS Black Belt Online Seminar AWS CloudTrailAmazon Web Services Japan
4.6K views65 slides
20191023 AWS Black Belt Online Seminar Amazon EMR by
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMRAmazon Web Services Japan
8.8K views109 slides
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL by
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQLAmazon Web Services Japan
29.7K views70 slides
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk by
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAmazon Web Services Japan
45.4K views94 slides

What's hot(20)

20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用 by Amazon Web Services Japan
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline by Amazon Web Services Japan
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K... by Amazon Web Services Japan
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続 by Amazon Web Services Japan
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で... by Amazon Web Services Japan
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ... by Amazon Web Services Japan
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...

Similar to 20180220 AWS Black Belt Online Seminar - Amazon Container Services

Serverless analytics on aws by
Serverless analytics on awsServerless analytics on aws
Serverless analytics on awsAmazon Web Services Japan
945 views51 slides
Modernizing Big Data Workload Using Amazon EMR & AWS Glue by
Modernizing Big Data Workload Using Amazon EMR & AWS GlueModernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS GlueNoritaka Sekiyama
918 views60 slides
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介 by
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介Yukitaka Ohmura
539 views81 slides
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング by
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティングAmazon Web Services Japan
12.6K views73 slides
Migration to AWS part2 by
Migration to AWS part2Migration to AWS part2
Migration to AWS part2Kameda Harunobu
333 views68 slides
20180313 Amazon Container Services アップデート by
20180313 Amazon Container Services アップデート20180313 Amazon Container Services アップデート
20180313 Amazon Container Services アップデートAmazon Web Services Japan
2.4K views26 slides

Similar to 20180220 AWS Black Belt Online Seminar - Amazon Container Services(20)

Modernizing Big Data Workload Using Amazon EMR & AWS Glue by Noritaka Sekiyama
Modernizing Big Data Workload Using Amazon EMR & AWS GlueModernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS Glue
Noritaka Sekiyama918 views
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介 by Yukitaka Ohmura
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
Yukitaka Ohmura539 views
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング by Amazon Web Services Japan
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
Effective Data Lakes - ユースケースとデザインパターン by Noritaka Sekiyama
Effective Data Lakes - ユースケースとデザインパターンEffective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターン
Noritaka Sekiyama625 views
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法 by Amazon Web Services Japan
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility by Amazon Web Services Japan
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス by Amazon Web Services Japan
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe... by Amazon Web Services Japan
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...

More from Amazon Web Services Japan

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM) by
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)Amazon Web Services Japan
7K views62 slides
Infrastructure as Code (IaC) 談義 2022 by
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Amazon Web Services Japan
3.3K views21 slides
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート by
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Web Services Japan
2K views52 slides
20220409 AWS BLEA 開発にあたって検討したこと by
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したことAmazon Web Services Japan
3.7K views28 slides
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介 by
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
4.1K views36 slides
マルチテナント化で知っておきたいデータベースのこと by
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
9K views55 slides

More from Amazon Web Services Japan(20)

Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート by Amazon Web Services Japan
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介 by Amazon Web Services Japan
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
マルチテナント化で知っておきたいデータベースのこと by Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ by Amazon Web Services Japan
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介 by Amazon Web Services Japan
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ... by Amazon Web Services Japan
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報 by Amazon Web Services Japan
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな by Amazon Web Services Japan
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5) by Amazon Web Services Japan
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法 by Amazon Web Services Japan
IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法
IoT@Loft#20 - IoTプラットフォームを進化さ せるAWSの活用方法
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤 by Amazon Web Services Japan
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤

Recently uploaded

Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
85 views26 slides
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
132 views42 slides
The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
73 views29 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
127 views64 slides
光コラボは契約してはいけない by
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
24 views17 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
89 views41 slides

Recently uploaded(10)

今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.73 views
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga24 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka89 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda420 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4366 views

20180220 AWS Black Belt Online Seminar - Amazon Container Services

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 【AWS Black Belt Online Seminar】 Amazon Container Services Ryosuke Iwanaga, Solutions Architect Amazon Web Services Japan K.K. 2018.02.20
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 自己紹介 Ryosuke Iwanaga (岩永 亮介) • Twitter/GitHub @riywo Amazon Web Services Japan K. K. Solutions Architect • Containers / DevOps / Serverless / Mobile / Developers Before Amazon • Software Engineer / Ops Engineer / DBA / etc.
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 内容についての注意点 • 本資料では2018年2月14日時点のサービス内容および価格についてご説明しています。最新の情報は AWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。 • 資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相違が あった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。 • 価格は税抜表記となっています。日本居住者のお客様が東京リージョンを使用する場合、別途消費 税をご請求させていただきます。 • AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided.
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Agenda • コンテナを利用した開発の実際 • Amazon Container Services 解説 • Amazon Elastic Container Registry (ECR) • Amazon Elastic Container Service (ECS) • Amazon Elastic Container Service for Kubernetes (EKS) • AWS Fargate • コンテナCI/CDパイプラインの構築 • コンテナのAuto Scaling
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナを利用した開発の実際
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. なぜコンテナが愛されているのか? パッケージング 配布 イミュータブル インフラストラクチャ
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナのユースケース マイクロサービスアーキテクチャ 多数のマイクロサービスを同じ様に管理 非同期ジョブ実行 (バッチコンピューティング) ジョブのリクエストに応じた柔軟なスケール 継続的インテグレーション、継続的デプロイ(CI/CD) 開発〜テスト〜本番まで一貫したイメージを利用
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナを利用した開発に必要な技術要素 • アプリのステートレス化 • レジストリ • コントロールプレーン / データプレーン • CI/CDパイプライン
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アプリのステートレス化 コンテナの中に入れるのはステートレスなアプリに コンテナのメリットを最大限活かせる ステートが必要なものはコンテナの外に置く 例: RDBMSが必要 → Amazon RDS 例: オブジェクトの保存 → Amazon S3 参考: Twelve-factor Application – IV. Backing services https://12factor.net/ja/backing-services
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. レジストリ コンテナの起動元となるイメージの置き場所 アプリ+実行環境をpush / 実行時にpullして起動 高い可用性、スケーラビリティが求められる 落ちたらデプロイ不能、同時に大量にpullされることも 自前で持つとその管理コストがかかる → Amazon ECR
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コントロールプレーン / データプレーン コントロールプレーン = コンテナの管理をする場所 どこでコンテナを動かす?生死は?いつ止める? デプロイ時にどういう風に配置する? → Amazon ECS / Amazon EKS データプレーン = 実際にコンテナが稼働する場所 コントロールプレーンからの指示に従って起動 各種状態をコントロールプレーンにフィードバック → AWS Fargate / Amazon EC2
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CI/CDパイプライン アプリのコード変更〜コンテナのデプロイを管理する 自動化することで誰がやっても同じようにデプロイ可能 ビルドはもちろん、単体テストや統合テスト、負荷テストも カナリアデプロイやリージョンデプロイなども 途中にマニュアルでの承認を挟んでも良い → AWS CodePipeline / AWS CodeBuild コントロールプレーンの違いを吸収することもできる 例: 同じコードから、AWSはECS / オンプレはKubernetesへ
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EC2 AWS CodePipeline Source Build Deploy AWS CodeCommit AWS CodeBuild Amazon RDS Amazon S3 Developer Control plane Data plane Backing service Registry CI/CD pipeline
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Container Services 解説
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Container Services レジストリ Amazon ECR コントロールプレーン Amazon ECS Amazon EKS データプレーン AWS Fargate
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Elastic Container Registry (ECR) フルマネージドの高可用性・スケーラブルなレジストリ エンドポイントにアクセスできるならAWS外からでも利用可能 AWS IAMによる強力な認証管理機構 pullのみの権限、クロスアカウントアクセスも可能 ライフサイクルポリシーでイメージの自動クリーンアップ 何日以前や何個以上は自動削除といったルールを組み合わせて設定 NEW!!
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS上の本番環境のコンテナを支える AWS VPCネット ワークモード タスク配置 他のAWSサービス との深い連携 ECS CLI…{ } グローバル展開 強力なスケジューラ オートスケーリング CloudWatch メトリクス ロードバランサ Linux & Windows NEW!!
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 450+% 年間アクティブユーザの成長 (2016年と比較) 数億コンテナ が毎週起動 数百万もの インスタンス上で Amazon Elastic Container Service
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Task: コンテナ(群)の実行単位 Task Definitionの情報から起動される family:revisionで指定 1つ以上のコンテナを実行しているリソース Task内のコンテナ群は同じホスト上で実行 CPUとメモリの上限を指定する それを元にスケジュールされる { "family": “scorekeep", "containerDefinitions": [ { "name":“scorekeep-frontend", "image":"xxx.dkr.ecr.us-east-1.amazonaws.com/fe" }, { "name":“scorekeep-api", "image":"xxx.dkr.ecr.us-east-1.amazonaws.com/api" } ] } Task Definition – scorekeep:10 scorekeep-frontend scorekeep-api Task
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Service: ロングランニングアプリ用スケジューラ Taskの数を希望数に保つ Task Definitionを新しくすると Blue/Greenデプロイ ELBと連携することも可能 メトリクスに応じてTask数の Auto Scalingも可能(後述) Servic e app:1 app:2 Elastic Load Balancing desiredCount: 2 maximumPercent: 200 minimumHealthyPercent: 100 Application Auto Scaling
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. IAM Role: Task毎に異なる権限のAWS認証が可能 IAM RoleをTask毎に設定可能 AWS SDKを利用していれば自 動的に認証情報が得られる アクセス鍵等の埋め込み不要 自分のRoleにない権限は当然 利用不可なので、セキュア AWS IAM Amazon DynamoDB Amazon S3 AWS IAM DynamoDBRole S3Role
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS VPC ネットワークモード Task毎にENIを自動割り当て Security GroupをTask毎に設定可能 Task内のコンテナはlocalhostを共 有 Link不要で互いにアクセス可能 VPC内の他のリソースへPrivate IP で通信が可能 FargateではPublic IPの割当も可能 172.31.0.0/16 Subnet 172.31.1.0/24 Internet Other Entities in VPC EC2 ELB RDS etc. Elastic Network Interface (ENI) Public IP / Private IP 208.57.73.13 / 172.31.1.164 us-east-1a us-east-1b us-east-1c NEW!!
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. その他のAmazon ECSの特徴 Amazon CloudWatch Logsと簡単に連携 Amazon CloudWatch Eventsに各種イベントが流れる [Coming soon] Service Discovery by Route 53 EC2へのTask配置を柔軟に設定可能 NEW!!
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 63% のKubernetes利用者が AWSを今日利用している —CNCF アンケートより https://www.cncf.io/blog/2017/06/28/survey-shows-kubernetes-leading-orchestration-platform/ https://www.cncf.io/blog/2017/12/06/cloud-native-technologies-scaling-production-applications/
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Elastic Container Service for Kubernetes (EKS) Tenet 1 EKSはエンタープライズ企業が本番 のワークロードを実行するためのプ ラットフォームであること Tenet 2 EKSはネイティブで最新の Kubernetesの体験を提供すること Tenet 3 EKSユーザが他のAWSサービスを使 う時、シームレスな連携を実現し不 要な作業を取り除くこと Tenet 4 EKSチームは積極的にKubernetesプ ロジェクトに貢献していくこと NEW!! (Preview)
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. kubectl 3) AWSアイデンティティをRBACで認可する k8s API 1) AWSアイデンティティを渡す 2) AWSアイデンティティ を検証する 4) k8sのアクションが許 可・拒否される AWS Auth
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アプリケーションの開発に集中したい Amazon EC2 • アプリ開発してデプロイ • コンテナのAuto Scale • コンテナのセキュリティ管理 • OSのプロビジョン • OSのセキュリティ管理 • インスタンスのAuto Scale
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 計算リソースの使い方を根本的に変える 簡素で、使いやすく、 強力な 新しいリソース利用モデル =インスタンス 管理不要 タスク ネイティブAPI リソース ベースの価格 NEW!!
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling and Orchestration Cluster Manager Placement Engine ECS AMI Docker agent ECS agent EC2 Instance ECS AMI Docker agent ECS agent EC2 Instance ECS AMI Docker agent ECS agent EC2 Instance
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. タスクに割り当てるCPUとメモリの設定 柔軟な設定の選択肢 – 50 のCPU/メモリ設定から CPU Memory 256 (.25 vCPU) 512MB, 1GB, 2GB 512 (.5 vCPU) 1GB to 4GB (1GB 刻み) 1024 (1 vCPU) 2GB to 8GB (1GB 刻み) 2048 (2 vCPU) 4GB to 16GB (1GB 刻み) 4096 (4 vCPU) 8GB to 30GB (1GB 刻み) 1 vCPU = $0.00001406/秒 1 GB Mem = $0.00000353/秒
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fargateの料金計算例 • 0.25 vCPU + 1 GB MemのTask • 10個のTaskが毎日1時間実行 30日分のCPU料金 10 x 0.25 x 0.00001406 x 3600 x 30 = $3.80 30日分のMemory料金 10 x 1 x 0.00000353 x 3600 x 30 = $3.81 30日分のトータル料金 $3.80 + $3.81 = $7.61 • 実際にTaskを起動していた vCPUとMemoryに対する秒 単位の計算 • ストレージ料金は不要 • データ転送料は標準 • その他に利用するサービス は追加料金が発生 • 例: CloudWatch Logs
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. サービスレベルアグリーメント 99.99 NEW!!
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナCI/CDパイプラインの構築
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. なぜCI/CDパイプラインが重要なのか? • 誰がやっても同じ様にデプロイできること • イメージがどうやって作られどこで使われてるか把握 • アプリ毎に統一された手法を利用する しかし、CI/CDパイプラインの実装や構築自体は、典型的 な差別化を産まない重労働 → AWS CodePipeline / AWS CodeBuild
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS CodePipeline 柔軟なCI/CDパイプラインをフルマネージド Source, Build, Test, Deployを複雑に組合せ 並列実行や、手動承認も設定可能 Deploy TargetにECS Serviceも対応 ユースケース テスト環境にデプロイ後、各種テスト実行 カナリア、リージョンデプロイ NEW!!
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS CodeBuild マネージドの実行環境 ビルドやテスト等が主な目的 実行環境はDockerイメージ 各種言語対応の環境 Dockerイメージのビルドも可能 CodePipelineとも連携可能 もちろん単体でも利用可能 version: 0.2 phases: pre_build: commands: - $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email) - REPOSITORY_URI=0123456789.dkr.ecr.us-east-1.amazonaws.com/fargate-demo - IMAGE_TAG=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7) build: commands: - docker build -t $REPOSITORY_URI:latest . - docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG post_build: commands: - docker push $REPOSITORY_URI:latest - docker push $REPOSITORY_URI:$IMAGE_TAG - printf '[{"name":"app","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imageDefinition.json artifacts: files: imageDefinition.json buildspec.yaml
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS CodePipeline AWS CodeCommit AWS CodeBuild Developer Application Load Balancer Servic e パイプライン確認、手動承認 コードのチェックイン ビルド済 イメージの確認 デプロイ後の 状態確認 registerTaskDefinition & updateService docker build & push imageDefinition.json source code
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナのAuto Scaling
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. コンテナの数をAuto Scalingさせる 何らかのメトリクスに応じて、コンテナの数を自動スケールさせたい コンテナのCPUやメモリ使用率、リクエスト数 コントロールプレーンの課題 メトリクスの変化に対して、コンテナ数をどの程度変化させれば良い? データプレーンの課題 コンテナのスケールに応じて、インスタンス数もスケールが必要 → ECSのTarget TrackingとFargateの組合せがオススメ
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECSの特徴: Target Trackingとの連携 メトリクスに対してターゲットの値を 設定するだけ (例: CPU使用率 50%) その値に近づく様に、Application Auto Scalingが自動的にServiceの DesiredCountを調整 ECSではコンソールからも設定可能 ECSServiceAverageCPUUtilization ECSServiceAverageMemoryUtilization ALBRequestCountPerTarget CPUTraffic DesiredCount Time 100% 0% 50% 10% 20% 30% 40% 60% 70% 80% 90% 5 30 10 15 20 25 Target CPU Utilization DesiredCount NEW!!
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Servic e Fargateを利用したコンテナAuto Scalingの優位性 Fargateの場合 • Serviceのスケールに応じて自然に コンテナが起動・終了する • コンテナの起動時間に対してのみ 課金 EC2の場合 • インスタンスのリソースも上手く スケールさせる必要があり煩雑 • 余分に持っているバッファ分もイ ンスタンスの課金が必要 Amazon EC2 Servic e Resource buffer (+~15%)
  • 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. まとめ コンテナ開発の要素 Amazon Container Services CI/CDパイプライン Auto Scaling
  • 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 参考資料 • Amazon Container Services Page • Containers on AWS - State of the Union - CON201 - re:Invent 2017 Slides / Video • Introducing AWS Fargate - CON214 - re:Invent 2017 Slides / Video • Deep Dive into AWS Fargate - CON333 - re:Invent 2017 Slides / Video • Introducing Amazon EKS - CON215 - re:Invent 2017 Slides / Video • Deep Dive into Amazon EKS - CON409 - re:Invent 2017 Slides / Video
  • 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Q&A
  • 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. オンラインセミナー資料の配置場所 AWS クラウドサービス活用資料集 • https://aws.amazon.com/jp/aws-jp-introduction/ AWS Solutions Architect ブログ • 最新の情報、セミナー中のQ&A等が掲載されています。 • http://aws.typepad.com/sajp/
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 公式Twitter/Facebook AWSの最新情報をお届けします @awscloud_jp 検索 最新技術情報、イベント情報、お役立ち情報、 お得なキャンペーン情報などを日々更新しています! もしくは http://on.fb.me/1vR8yWm
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSの導入、お問い合わせのご相談 AWSクラウド導入に関するご質問、お見積、資料請求をご希望のお客様は以下 のリンクよりお気軽にご相談下さい。 https://aws.amazon.com/jp/contact-us/aws-sales/ ※「AWS 問い合わせ」で検索して下さい。
  • 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Well Architected 個別技術相談会お知らせ • Well Architectedフレームワークに基づく数十個の質問項目を元に、お客様が AWS上で構築するシステムに潜むリスクやその回避方法をお伝えする個別相 談会です。 https://pages.awscloud.com/well-architected-consulting-2017Q4-jp.html • 参加無料 • 毎週火曜・木曜開催
  • 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ご参加ありがとうございました