Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第85回 雲勉【オンライン:初心者向け】EKSを触ってみよう 〜Kubernetes知らない人...
Search
l_tanno
September 30, 2022
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第85回 雲勉【オンライン:初心者向け】EKSを触ってみよう 〜Kubernetes知らない人大集合〜
l_tanno
September 30, 2022
More Decks by l_tanno
See All by l_tanno
第100回 雲勉【オンライン:中級者向け】EKSのアップデートを安全に行う
l_tanno
1
91
第97回 雲勉【オンライン:初心者向け】Google Cloudの基礎から学んで、Compute Engineを構築できるようになろう
l_tanno
0
120
第94回 雲勉【オンライン:初心者向け】第2回24/365運用業務を支えるMSP〜クラウド運用業務に必要なもの〜
l_tanno
0
66
第91回 雲勉【オンライン:初心者向け】サーバレスでブログサイト開設〜Amplify Studio〜
l_tanno
1
120
第89回 雲勉【オンライン:初心者向け】実践!SLI/SLO with New Relic!
l_tanno
0
170
第88回 雲勉【オンライン:中級者向け】DeepSecurity(C1WS)機能紹介 _現場から出た_にもこたえてみた
l_tanno
0
540
第87回 雲勉【オンライン:初心者向け】AWSの構築・運用でインフラエンジニアが意図せずハマった事象と対策をご紹介
l_tanno
0
110
Other Decks in Technology
See All in Technology
新アーキテクチャ「TiDB X」解説とDedicated比較 TiDB Cloud Premiumのゲーム運用活用を検証
staffrecruiter
0
120
Cloud Run のアップデート 触ってみる&紹介
gre212
0
320
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
830
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
8
370
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.2k
ABEMA の Datadog × OTel 基盤、 中から見るか? 外から見るか?
tetsuya28
0
110
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
400
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
360
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
340
GoとSIMDとWasmの今。
askua
3
510
そのPoC、何を検証したつもりでしたか? AIプロダクトの価値検証で陥った落とし穴
techtekt
PRO
0
150
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
200
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Done Done
chrislema
186
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
How GitHub (no longer) Works
holman
316
150k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Transcript
第85回 雲勉【オンライン︓初⼼者向け】 EKSを触ってみよう 〜Kubernetes知らない⼈⼤集合〜 2022/09/29
0.講師⾃⼰紹介 2 n 来⾺ ⼤介 • プロジェクト企画推進セクション インフラ技術グループ • 8年間調理師をしていました。
• アイレット歴 9ヶ⽉ • IT業界に来て20キロ太りました。⾛ると膝にきます。
アジェンダ 3 0. ⾃⼰紹介 1. 今回EKSにフォーカスした理由 (19:00~19:10) 2. コンテナとは︖ (19:10~19:20)
3. クラウドで問題解決 (19:20~19:40) 4. EKS作成 (19:40~19:50) 5. demo (19:50~19:55) 6. 質疑応答 (19:55~20:00)
1. 今回EKSにフォーカスした理由 4
1.EKSにフォーカスした理由 5 n Kubernetesの需要 IDC Japanは2021年2⽉、国内の企業・組織420社を対象に、コンテナ仮想化技術(以下、コンテナ) とコンテナオーケストレーションツールのKubernetesの導⼊状況に関する調査を実施した。 コンテナを本番環境で使⽤する企業は16.9%で、2020年調査から2.7ポイント上昇した。導⼊構築、 テスト、検証段階にある企業は23.3%で、2020年調査から4.7ポイント上昇した。この2つを合わせ た40.2%の企業がコンテナを導⼊済みもしくは導⼊準備中であることになる。
IDC Japanは、「国内はコンテナの本格的な普及期に⼊った」と⾒ている。 引⽤ https://it.impress.co.jp/articles/-/21377
1.EKSにフォーカスした理由 6 n Kubernetesの需要 企業が、デジタル変⾰を進める中でアプリケーションのクラウドネイティブ化に取り組んでおり、コン テナ環境の採⽤が進んでいる Kubernetesについては、使⽤している種類(ベンダー)を調査している。コミュニティ版の Kubernetesが32.0%で最も使⽤率が⾼いが、2020年調査よりもその率は低下している。ベンダーの ディストリビューションや、マネージド型のクラウドサービスの導⼊が依然として⾼い。 ユーザーがKubernetesの商⽤版を選択する理由としてIDCは、Kubernetesの導⼊・運⽤のしやすさや
導⼊後のサポートを重視している点を挙げる。マネージドサービスでは「Amazon Elastic Kubernetes Service(EKS)」の使⽤率が⾼かった。 引⽤ https://it.impress.co.jp/articles/-/21377
1.EKSにフォーカスした理由 7 そもそもKubernetesをよく知らないし、 EKSも何がいいのかよくわかんない
2. コンテナとは︖ 8
2.コンテナとは 9 n コンテナとは ίϯϐϡʔλͷԾԽͷํࣜͷҰͭͰɺՔಇதͷΦϖϨʔςΟϯάγεςϜʢOSʣͷҰ෦Λ ͯ͠ଞͱִ͞ΕͨྖҬΛ༻ҙ͠·͢ɻ ͦͷ্ͰιϑτΣΞΛಈ࡞ͤ͞ΔํࣜΛίϯςφܕԾԽͱ͍͍·͢ɻ·ͨ͞Εͨྖ Ҭͷ͜ͱΛίϯςφͱ͍͍·͢ɻ
2.コンテナ作成の流れ 10 n コンテナ作成の流れ Dockerfile コンテナイメージ コンテナ化 build/push run
2.コンテナのメリット 11 n コンテナのメリット ⼀度、 Dockerfileを作成すれば Docker が⼊っている環境であれば どこでも環境作成を⾏うことができます。 そのため環境の引っ越しなどがしやすかったり、他のエンジニアへの配布がしやすかったり
します。 またコード管理されているのでCI/CDにも向いています。
2.コンテナ運⽤での問題点 12 ‥‥‥ ‥‥‥ アプリの拡⼤など n コンテナ運⽤での問題点 ҰͷϗετͰશ෦ͷίϯςφΛಈ͔͢͜ͱɺ؆୯ͳͷͰ͕͢ϗετʹ༰ྔͷݶք͕͋ Γ·͢ɻ ͦͷͨΊɺΞϓϦͷ֦େͳͲʹԠͯ͡ϗετଆΛ૿ͯ͠ίϯςφΛͨ͘͞Μӡ༻͢ΔΑ͏
ʹͳΓ·͢ɻ ෳͷϗετͷ্ʹ༷ʑͳछྨͷίϯςφ͕ಈ࡞͍ͯ͠Δঢ়ଶʹͳͬͯ͠·͍·͢ɻ
2.コンテナ運⽤での問題点 13 ホストの障害起きたら アプリは⽌まってしまう ホスト間の通信の 運⽤設定が⼤変 負荷に応じた コンテナをスケールしたい
3. クラウドで問題解決 14
3. クラウドの良いところ 15 問題解決 n 問題解決してくれる ・ホストの障害起きた場合 ・負荷に応じたコンテナをスケールしたい → ホストをスケールできる
→ 負荷に応じたコンテナをスケールができる
3. AWSコンテナサービス 16 nAWSでのコンテナサービス
3. Amazon Elastic Container Service(ECS)とは 17 n ECSとは Amazon Elastic
Container Service (Amazon ECS)は、⾮常にスケーラブルで⾼速なコンテナ管理サー ビスです。これを使⽤して、クラスター上のコンテナを実⾏、停⽌、管理できます。 Amazon ECS で、コンテナは、個々のタスクやサービス内のタスクを実⾏するために使⽤するタスクで定 義されます。タスクとサービスは、AWS Fargate で管理されるサーバーレスインフラストラクチャで実⾏ できます。または、インフラストラクチャをより詳細に制御するために、管理する Amazon EC2 インス タンスのクラスターでタスクとサービスを実⾏できます。
3. Amazon Elastic Kubernetes Service(EKS)とは 18 n EKSとは EKSはオーケストレーションツールのKubernetesをクラウド上で利⽤可能なマネージドサービスです。 コンテナを稼働するサーバーとしては、EC2、Fargateを選択できます。
ECSとの違いとしては、オーケストレーションツールが異なります。 ECSはAWS独⾃のオーケストレーションツールを利⽤しておりAWS上でのみ利⽤できますが、EKSは Kubernetesを利⽤しているため、オンプレミスでKubernetesを利⽤していた⽅はクラウド上で同⼀の ものを使える利点があります。
3. Kubernetesとは 19 n Kubernetesとは Dockerなどのコンテナ仮想化ソフトウェアを管理、および⾃動化するためのオープンソースソフト ウェア(OSS)のことです。 Kubernetesはコンテナオーケストレーションツールのひとつです。 コンテナオーケストレーションとは、複数あるコンテナを管理する技術のことです。 複数のコンテナを運⽤する場合、ネットワークやストレージなどの連携管理を⾏う必要があります。
コンテナオーケストレーションツールは、これらの管理を⾏ってくれるため、コンテナがダウンした り、アプリケーションに⾼負荷がかかったりした場合もスムーズに運⽤できるのです。
3. Kubernetes構成図 20 コントロールプレーン データプレーン クラスターの情報を保持する etcd や、どのノードで Pod を動かすかをコントロールする
kube-scheduler 、 API を提供する kube-apiserver などが含まれます。 耐障害性が必須になってきます。 実際にコンテナが稼働するワーカーノード群を データプレーンといいます。
3. Kubernetesマニフェスト 21 n マニフェストとは Kubernetesの構成を定義するファイルになります。 この定義ファイルの内容をKubernetesにアップロードすると、その定義ファイルを元に Kubernetesに「望ましい状態」が書き込まれ 「望ましい状態」を保つためにKubernetesが動作をします。 マニフェストファイル
3. EKS構成図 22 データプレーンに専念できる︕︕ コントロールプレーンの 運⽤も気にしなくていい︕︕
3. ECS EKSそれぞれのユースケース 23 どういった時に、ECS/EKSの 使い分けをすれば良いの︖
3. ECS EKSそれぞれのユースケース 24 既存システムがKubernetesで運⽤されている場合、 EKSの⽅が既存の運⽤⽅法と差が少なくなったり、他の環境への移管もしやすい また、マルチプラットフォーム使⽤して運⽤⽅法をKubernetesにまとめたい。
3. ECS EKSそれぞれのユースケース 25 EKSの場合、3ヶ⽉に⼀度のアップデートがあり学習コストは⾼い。 学習する時間(コスト)を考慮するとECSがシンプルで使いやすくなっています。 学習コストは考慮するべきポイント
3. ECS EKSそれぞれのユースケース 26 複数環境(サービス)における運⽤管理はEKSでは Nanespace という概念があるため 1クラスターを論理的に分割することができる。 そのため各環境(サービス)における通信がEKSのみで完結可能となります。 サービス
A サービス B サービス C
3. ECS EKSそれぞれのユースケース 27 対象としているサービスが、開発途中で今後サービスの拡⼤が⾒込まれ より複雑な構成になる場合、ECSでは他のAWSサービスを増やすことになり その分利⽤料の考慮が必要となってくる。 「コンテナを動かすためのサービス」 「コンテナも含めたインフラ周りを まとめて管理するサービス」
3. ECS EKSそれぞれのユースケース 28 学習コスト 低い ⾼い マルチプラット フォーム ✖
AWSに依存 ◦ K8s環境があれば どこでも 複数環境 (サービス) シングルテナント向き マルチテナント向き 運⽤ ◦ ✖ アップデートが頻繁
4. EKS作成 29
3. EKS作成 30 EKS 命令 EKS クラスターで多くの個別のタスクを⾃動化するために使⽤するコマンドラインツール。 他にもEKSのコンポーネントを作成するために使⽤できる⽅法として ɾTerraform ɾeksctl
ɾAWSίϯιʔϧ ɾ CloudFormation ͳͲ…
3. EKS作成(eksctl) 31 eksctl n 使い分けとして どの⽅法で構築していくか問題なのですが、これはEKSを作成する上での 要件によって異なってくる部分があります。 Cloud formation
Terraform カスタマイズ性が低い・簡単に作成可能 例)コンテナを⽴てるだけなど検証等 カスタマイズ性が⾼い 例)AWSサービス連携が多い環境 運⽤環境
eksctlやってみよう 32
2. EKS作成(eksctl) 33 n 公式URL https://eksctl.io/ n kubectl⼊⼿URL https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/install-kubectl.html n
eksctl⼊⼿URL https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/eksctl.html
5. EKS学習してみて 34
4. EKS学習してみて 35 n 学習してみて 適材適所が⼤事︕︕
質疑応答 36