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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
1
340
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
kamekyame
0
170
LLMと共に進化するプロセスを目指して
ymatsuwitter
12
3.4k
探して_入れて_作って_使う_Agent_Skills___LT.pdf
peintangos
2
170
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.2k
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
260
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
4
1.2k
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
210
【Gen-AX】20260530開催_JJUG CCC 2026 Spring
genax
0
430
ブロックチェーン / Blockchain
ks91
PRO
0
110
LLMを「主役」にしないための 3つの原則
techtekt
PRO
0
120
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
160
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
340
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Rails Girls Zürich Keynote
gr2m
96
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
The Invisible Side of Design
smashingmag
302
52k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
Designing Powerful Visuals for Engaging Learning
tmiket
1
400
Technical Leadership for Architectural Decision Making
baasie
3
400
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
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