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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
57
20241204_ビヨンド勉強会_44_AWS_Service_Catalogを利用したIaCのテンプレート化とTerraformによるデプロイ.pdf
nezumisannn
0
400
20240530_ビヨンド勉強会#41_ビヨンドのエンジニア新卒研修における取り組み
nezumisannn
0
140
20230511_AWSにおけるコンテナサービスの選択とIaC実装例.pdf
nezumisannn
0
1.4k
リーダーになって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
170
Other Decks in Technology
See All in Technology
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
110
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
190
事業価値と Engineering 2026年度版
recruitengineers
PRO
40
20k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
760
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
1
1.7k
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
200
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
160
第3回しろおびセキュリティスポンサーセッション
log0417
0
150
JavaScript 研修 (2026)
recruitengineers
PRO
0
350
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
0
560
システム思考で問題に対処する
yussak
0
110
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
250
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
41k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
GraphQLとの向き合い方2022年版
quramy
50
15k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
680
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
270
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
160
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
610
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を使ってみてください
終わり
ねずみさん家。のインフラエンジニア道場 チャンネルはこちらから → × 毎週 水・金・土 に更新しています! サーバーって何?から インフラエンジニアの日常まで。 誰よりも分かりやすく・面白くをモットーに活動して
います!