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
0
96
20240828_ビヨンド勉強会_42_EKS_on_FargateでWebサービスを公開するために覚えておきたいこと.pdf
nezumisannn
August 28, 2024
Tweet
Share
More Decks by nezumisannn
See All by nezumisannn
20250930_Conohaウェビナー_生成AI_Terraform_ConoHa_VPSサーバー_セットアップ入門編
nezumisannn
1
23
20250723_Conohaウェビナー_高騰する海外クラウド費用を劇的カット_サーバーコスト最適化のポイント解説と成功事例のご紹介.pdf
nezumisannn
0
36
20241204_ビヨンド勉強会_44_AWS_Service_Catalogを利用したIaCのテンプレート化とTerraformによるデプロイ.pdf
nezumisannn
0
320
20240530_ビヨンド勉強会#41_ビヨンドのエンジニア新卒研修における取り組み
nezumisannn
0
130
20230511_AWSにおけるコンテナサービスの選択とIaC実装例.pdf
nezumisannn
0
1.3k
リーダーになって1年経過して_取り組んできたことと大事にしている考え方_の裏側_.pdf
nezumisannn
0
75
20211118_GKEにおける高負荷時のPodとWorker_Nodeの挙動について.pdf
nezumisannn
0
170
20211014_Alibaba_Cloud_Container_Service_for_KubernetesにおけるServerless_Kubernetesの概要とManaged_Kubernetesとの違い.pdf
nezumisannn
0
95
20211008_ApsaraDB_for_PolarDBとAWS_Auroraの機能比較.pdf
nezumisannn
1
150
Other Decks in Technology
See All in Technology
コミュニティが持つ「学びと成長の場」としての作用 / RSGT2026
ama_ch
2
430
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
1.6k
ファシリテーション勉強中 その場に何が求められるかを考えるようになるまで / 20260123 Naoki Takahashi
shift_evolve
PRO
1
170
【Oracle Cloud ウェビナー】ランサムウェアが突く「侵入の隙」とバックアップの「死角」 ~ 過去の教訓に学ぶ — 侵入前提の防御とデータ保護 ~
oracle4engineer
PRO
2
190
Eight Engineering Unit 紹介資料
sansan33
PRO
0
6.4k
AI に「学ばせ、調べさせ、作らせる」。Auth0 開発を加速させる7つの実践的アプローチ
scova0731
0
330
習慣とAIと環境 — 技術探求を続ける3つの鍵
azukiazusa1
2
710
それぞれのペースでやっていく Bet AI / Bet AI at Your Own Pace
yuyatakeyama
1
420
たかがボタン、されどボタン ~button要素から深ぼるボタンUIの定義について~ / BuriKaigi 2026
yamanoku
1
290
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
42
20k
「全社導入」は結果。1人の熱狂が組織に伝播したmikanのn8n活用
sota_mikami
0
310
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
560
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
68
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Ruling the World: When Life Gets Gamed
codingconduct
0
130
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
890
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
420
Scaling GitHub
holman
464
140k
BBQ
matthewcrist
89
10k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Rails Girls Zürich Keynote
gr2m
96
14k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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を使ってみてください
終わり
ねずみさん家。のインフラエンジニア道場 チャンネルはこちらから → × 毎週 水・金・土 に更新しています! サーバーって何?から インフラエンジニアの日常まで。 誰よりも分かりやすく・面白くをモットーに活動して
います!