狠狠撸

狠狠撸Share a Scribd company logo
Amazon EKS への道
~入門編~
青柳 英明
2018/04/22
JAWS-UG 福岡 「6度目もちょっと濃い目にAWSの話をしてみよう」
自己紹介
青柳 英明
職業: インフラSE(オンプレOnly)
経歴: アプリケーション開発 … 3年
インフラエンジニア … 17年
AWS歴:
JAWS-UG歴:
… 約2年
コアメンバー:
JAWS-UG福岡
Fukuoka.NET
(ふくてん)
2017.11
AWS re:Invent 2017 で、
コンテナ関連の2つの新サービスが発表されました
? AWS Fargate
? Amazon EKS (Elastic Container Service for Kubernetes)
さっそく使ってみよう???と思ったら、
2017.11
AWS re:Invent 2017 で、
コンテナ関連の2つの新サービスが発表されました
? AWS Fargate
? Amazon EKS
→ バージニアのみ利用可
→ プレビュー (申し込み制)
使えるようになるまで???
コンテナや Kubernetes について予習してみました
コンテナ/Docker とは
仮想サーバ
HWリソース
OS
仮想HW
OS
App
App
仮想HW
OS
App
App
仮想HW
OS
App
App
コンテナ
HWリソース
OS
App App App
? 疑似的な環境を作り込む ? 「壁」を作って環境を分離
? サーバ環境の提供 ? プロセス実行環境の提供
なぜ、Docker が注目されているのか?
(1) 動作が軽い、起動が速い
障害発生 → 素早い復帰
大量リクエスト → スケールアウト
仮想サーバ方式の場合:
必要になってから起動していたのでは間に合わない
→ サーバを余分に用意したり、「暖気」をしたりして対応
なぜ、Docker が注目されているのか?
(1) 動作が軽い、起動が速い
“Immutable(不変の)” Infrastructure
個々のサーバ
OSパッチ
アプリ更新
イメージ コンテナ
OSパッチ
アプリ更新 破棄 → 再生成
(1) 動作が軽い、起動が速い
なぜ、Docker が注目されているのか?
(2) ホスト環境にかかわらず、同じ動作をする
開発環境 (PC/Mac)
検証環境 (オンプレサーバ)
本番環境 (クラウド)
VirtualBox
VMware
EC2
Docker
Docker
Docker
なぜ、Docker が注目されているのか?
(1) 動作が軽い、起動が速い
(2) ホスト環境にかかわらず、同じ動作をする
(3) 「Docker Hub」 エコシステム
? 公式イメージ (各OS環境、ミドルウェア、アプリケーション)
? 作成したイメージを誰でも公開できる
Docker が 抱える 抱えていた課題 (過去形) – その①
単体のホスト上でコンテナを動かす
? 実行できるコンテナの数に限度がある → スケーラビリティ△
? ホストが停止すると全コンテナがダウン → 耐障害性×
クラスタ化された複数のホスト上でコンテナを動かす
Docker が 抱える 抱えていた課題 (過去形) – その②
1つのコンテナで動かすプログラムの粒度は小さく (推奨)
? たくさんのコンテナが乱立???
? 全てバラバラに動かすと効率が悪い???
(例:ホストを跨ぐ通信のオーバーヘッド)
関連性の高いコンテナをまとめてグループ化
? グループ内のコンテナは同一ホスト上で動作
複数ホスト上でコンテナを動かす 関連性の高いコンテナをグループ化
コンテナ?オーケストレーション
Google : Kubernetes
Docker : Docker Swarm / Docker Compose
Mesos DC/OS
Rancher etc.
パブリッククラウドのコンテナ対応
IaaS上でのコンテナ実行をサポート
(GCP:GCE、AWS:EC2/EB、Azure:AzureVM)
マネージドなコンテナサービスの提供
GCP: Google Container Engine (GKE) ??? Kubernetes
AWS: EC2 Container Service (ECS) ??? 独自
Azure: Azure Container Service (ACS) ??? Swarm?DC/OS
「マネージドなコンテナサービス」 とは?
アンマネージド
(オンプレ/IaaS)
フロントエンド
管理サービス
データベース
管理サーバ(群) コンテナ実行ホスト
マネージド
管理サーバ(群)
フロントエンド
管理サービス
データベース
サーバ構築不要
サーバ管理不要
コンテナ実行ホスト
コンテナオーケストレーションツールの覇権争い
Docker Swarm vs Kubernetes
? Docker社: 自社の Swarm を推進
? Kubernetes: Google から CNCF への移管
CNCF (Cloud Native Computing Foundation)
? Linux Foundation の下部組織
? 参加企業/団体: Google、Microsoft、AWS、Intel、Red Hat、etc.
? Docker社が Kubernetes を正式サポート
? Kubernetes がデファクトスタンダードに
パブリッククラウドが Kubernetes を採用
2014 GCP:GKE
(Google Container Engine → Google Kubernetes Engine)
2017. 2 Azure:AKS
(Azure Container Service for Kubernetes)
2017.11 AWS:EKS
(Elastic Container Service for Kubernetes)
EKS/GKE/AKS どれを使っても同じ?
コンピューティング (コンテナ) 以外のサービス → 各社のサービスを利用
EKS
ネットワーク
CloudFront Route 53
永続的ストレージ/データベース
S3 EFS RDS DynamoDB
認証
IAM Cognito
CI/CD
Code 4兄弟
AWS Fargate とは (忘れてませんよ?)
マネージドサービス
フロントエンド
管理サービス
データベース
ECS/EKS
コンテナ実行ホスト
EC2
マネージドサービス
フロントエンド
管理サービス
データベース
ECS/EKS
コンテナ実行ホスト
EC2
サーバレス
コンテナ実行環境
Fargate
? EC2の管理が必要 ? サーバの管理は不要
? 起動しているEC2の料金 ? 動かしたコンテナの分の料金
サーバレスなコンテナ実行環境
AWS Fargate の他にも???
? Azure Container Instances
? さくらインターネット 「Arukas」
→ オーケストレーションサービスとの連係なし
カジュアルな用途向け (?)
来るべき EKS
パブリックプレビュー
正式リリース
の日のために???
Docker
? Docker for Windows
? Docker for Mac
https://github.com/fukuten/fukuoka-dotnet-conf-handson/blob/master/1_preparation/README.md
Kubenetes
? minikube
? Google Kubernetes Engine (GKE)
参考資料
Docker
? さくらのナレッジ 「Docker入門」
https://knowledge.sakura.ad.jp/13265/
参考資料
Kubernetes
? オライリー
「入門 Kubernetes」
? 翔泳社
「コンテナ?ベース?オーケストレーション」
参考資料
Kubernetes
? Samir Hammoudi氏
「Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説」
/HammoudiSamir/google-container-engine-gke-kubernetes
? Think IT 「今こそ始めよう!Kubernetes入門」
https://thinkit.co.jp/series/7342
まとめ & 次回予告
? 今からコンテナ/Kubernetes に手を出しても遅くない! …はず
? Kubernetes は難しい? → マネージドなら何とかなる! …はず
次回
Amazon EKS への道
~ 使ってみよう編 ~
へ続く…?
ご清聴ありがとうございました

More Related Content

Amazon EKS への道 ~入門編~