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
20240828_ビヨンド勉強会_42_EKS_on_FargateでWebサービスを...
Search
nezumisannn
August 28, 2024
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20240828_ビヨンド勉強会_42_EKS_on_FargateでWebサービスを公開するために覚えておきたいこと.pdf
nezumisannn
August 28, 2024
More Decks by nezumisannn
See All by nezumisannn
20250930_Conohaウェビナー_生成AI_Terraform_ConoHa_VPSサーバー_セットアップ入門編
nezumisannn
1
38
20250723_Conohaウェビナー_高騰する海外クラウド費用を劇的カット_サーバーコスト最適化のポイント解説と成功事例のご紹介.pdf
nezumisannn
0
58
20241204_ビヨンド勉強会_44_AWS_Service_Catalogを利用したIaCのテンプレート化とTerraformによるデプロイ.pdf
nezumisannn
0
410
20240530_ビヨンド勉強会#41_ビヨンドのエンジニア新卒研修における取り組み
nezumisannn
0
140
20230511_AWSにおけるコンテナサービスの選択とIaC実装例.pdf
nezumisannn
0
1.5k
リーダーになって1年経過して_取り組んできたことと大事にしている考え方_の裏側_.pdf
nezumisannn
0
92
20211118_GKEにおける高負荷時のPodとWorker_Nodeの挙動について.pdf
nezumisannn
0
180
20211014_Alibaba_Cloud_Container_Service_for_KubernetesにおけるServerless_Kubernetesの概要とManaged_Kubernetesとの違い.pdf
nezumisannn
0
110
20211008_ApsaraDB_for_PolarDBとAWS_Auroraの機能比較.pdf
nezumisannn
1
180
Other Decks in Technology
See All in Technology
ブラウザで変わるID連携(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
380
ClaudeCodeでセキュリティ監視業務を半自動化_1年の運用でわかったAIに任せる設計の5つのポイント
kintotechdev
3
960
The Django UUID Story - DjangoCon US 2026
pauloxnet
0
330
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
5
1.1k
Claude Codeの体系的な理解と知識のフック
oikon48
9
6.2k
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
11
9.2k
AWSとAzureのマルチクラウド活用における強い味方___AWS_Kiroを使った二刀流スキル作成.pdf
duelist2020jp
1
150
Digitization部 紹介資料
sansan33
PRO
2
7.8k
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
8.9k
AI時代の「OAuth認証」にどう物申すか?(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
370
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
120
OAuth SPIFFE Client Authentication(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
380
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
57k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
810
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Test your architecture with Archunit
thirion
2
2.4k
Optimizing for Happiness
mojombo
378
71k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Writing Fast Ruby
sferik
630
63k
Agile that works and the tools we love
rasmusluckow
331
22k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Transcript
EKS on FargateでWebサービスを 公開するために覚えておきたいこと ビヨンド勉強会 #42 【大阪】DockerとEKSで始めるAWSコンテナ入門 2024/08/28 株式会社ビヨンド 寺岡
佑樹
自己紹介 resource “my_profile” “nezumisannn” { name = “Yuki.Teraoka” nickname =
“ねずみさん家。” company = “beyond Co., Ltd.” job = “Infra Engineer + HR” X = “@yktr_sre” favorite = [“Terraform”,”Packer”,”ぶいすぽっ!”] }
今日のゴール AWS EKSを使ってWebサイトを公開できる
今日覚えておきたいこと • EKSとは • Kubernetesとは • コンテナイメージ用意 ◦ Dockerイメージのビルド →
ECRへアップロード • EKSクラスター作成 • kubectlからクラスターへ接続 • サイト公開設定 ◦ Deployment ◦ Service ◦ Ingress
EKSとは
EKSとは • Amazon Elastic Kubernetes Service • Kubernetes の環境をセットアップ・実行するためのマネージドサービス •
EKSを利用することで、 AWS上で容易に Kubernetesの環境を構築することが 可能
Kubernetesとは
Kubernetesとは • アプリケーションのコンテナ群を統合管理するためのソフトウェア • GoogleがBorgと呼ばれる内製ツールを OSSとして公開したのが始まり • Cloud Native Computing
Foundation(CNCF)と呼ばれる団体の Graduated Projects(最も成熟した段階 )の中の1つ
Kubernetesのアーキテクチャ 引用:https://kubernetes.io/ja/docs/concepts/architecture/ CLUSTER:コンソール or API でユーザーが作成 CONTROL PLANE:AWS側が 管理 Node:EC2
or Fargateが選択 可能(今回はFargate)
EKSの導入と設定 コンテナイメージの用意
コンテナイメージ用意 • コンテナイメージをビルドし ECRにアップロードする ◦ ECRの認証情報取得 → イメージビルド → タグ付け
→ アップロード ◦ aws ecr get-login-password → docker build → docker tag → docker push
コンテナイメージ用意
コンテナイメージ用意
コンテナイメージ用意
EKSの導入と設定 クラスター作成
EKSクラスター作成 • マネジメントコンソールからも作成可能だが eksctlを利用するのが早い • EKS上でクラスターの作成及び管理するために利用する CLIツール • CloudFormationのラッパーツール •
コマンドラインから EKSの稼働に必要なリソースや設定を自動作成できる • インストール手順は https://eksctl.io/installation/ を参照
EKSクラスター作成 CloudFormationのスタックが作成される クラスター以外にもVPC等必要なものを同時に 作成してくれる
EKSクラスター作成 • EKS ◦ クラスター • VPC ◦ VPC ◦
サブネット ◦ ルートテーブル + ルート ◦ インターネットゲートウェイ ◦ NATGateway ◦ セキュリティグループ + インバウンドルール ◦ ElasticIP • IAM ◦ ロール • その他 ◦ Fargateプロファイル (EKSでFargateを利用するための設定情報 )
EKSの導入と設定 kubectlからクラスターへ接続
EKSクラスター作成 • eksctl実行時にローカルの設定ファイル (~/.kube/config)も作られてる
EKSの導入と設定 サイト公開設定
Deploymentの作成 • Podのローリングアップデートやロールバックといった管理の仕組み Deployment ReplicaSet Pod1 Pod2 ReplicaSetを制御 Podの数を制御 複数のコンテナをまとめたもの
Deploymentの作成 $ kubectl apply -f deployment.yml
Deploymentの作成
Serviceの作成 • Podへの接続エンドポイントを提供 • Podは起動しただけではアクセスできない • Serviceを利用すると Podへトラフィックをルーティングできる
Serviceの作成 $ kubectl apply -f service.yml • spec.ports.port:Serviceが接続を待ち受けるポート • spec.ports.targetPort:ターゲットのポート
(Deployment経由で作 成されたPodがListenしているポートを指定 ) • selector:ServiceがどのPodに対応しているかを示す (app: k8s-testというラベルを持った Podにアクセスを転送する )
Serviceの作成
Ingressの作成 • クラスター内の Serviceに対する外部からのアクセス (主にHTTP/S)を管理する • 負荷分散、 SSL終端、名前ベースの仮想ホスティングの機能を提供する • EKSからELBを操作できるようにしたいため、
AWS Load Balancer Controller を クラスターにインストールしていく
Ingressの作成 • AWS Load Balancer Controller は公式の手順に従って helmを使ってインス トールするのが早い ◦
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/lbc-helm.html • helmのインストールは以下を参照 ◦ https://helm.sh/ja/docs/intro/install/
Ingressの作成 IAMポリシーのテンプレートをダウンロード IAMポリシーを作成
Ingressの作成 IAMのIDプロバイダー(OIDCプロバイダー)を作成する = AWSのIAMロールとKubernetesのサービスアカウントの橋渡しをしてくれる IAMのサービスアカウントの作成 –attach-policy-arnに作成したIAMポリシーのARNを指定
Ingressの作成
Ingressの作成
Ingressの作成 ALBの設定値をannotationで指定できる 事前に作成していたServiceの名前と公開ポートを指定 $ kubectl apply -f ingress.yml
Ingressの作成
Ingressの作成
Ingressの作成
皆さんもEKSを使ってみてください
終わり
ねずみさん家。のインフラエンジニア道場 チャンネルはこちらから → × 毎週 水・金・土 に更新しています! サーバーって何?から インフラエンジニアの日常まで。 誰よりも分かりやすく・面白くをモットーに活動して
います!