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
GoのアプリをEKS(Fargate)にデプロイしてみた話
Search
Ryohei Hisamitsu
May 13, 2022
Technology
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GoのアプリをEKS(Fargate)にデプロイしてみた話
Ryohei Hisamitsu
May 13, 2022
More Decks by Ryohei Hisamitsu
See All by Ryohei Hisamitsu
re:Invent参加フィードバック会
hisami
0
110
Greengrassを使ったIoTのアーキテクチャ
hisami
0
180
ECS Execを使ってFargateにログインしてみた
hisami
1
400
TypeScriptでDIしてみた
hisami
0
520
Other Decks in Technology
See All in Technology
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
140
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
0
210
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
1
570
JSAI2026 オーガナイズドセッションOS-27「不動産とAI」趣旨説明 / JSAI2026 Organized Session OS-27 “Real Estate and AI”: Statement of Purpose
ykiyota
0
230
フロンティアAIのゲート化と地政学リスク
nagatsu
0
110
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
2.2k
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
2
1.6k
200個のGitHubリポジトリを横断調査したかった
icck
0
110
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
210
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
130
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
380
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
1.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
WENDY [Excerpt]
tessaabrams
11
38k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
My Coaching Mixtape
mlcsv
0
140
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Transcript
GoのアプリをEKS(Fargate)に デプロイしてみた話 AWSなんでもLT会 久光遼平
自己紹介:久光 遼平(ひさみつ りょうへい) • IT業界約4年のエンジニア(自動車業界で約6年) ◦ 現職:TypeScriptでの開発、 AWSでのインフラ構築 ※EKSは実務で触ったことないです(ECSはあり) •
趣味 ◦ マラソン:フル2回、30km1回、ハーフ1回 ◦ サッカー
今日するお話 • k8s(コンテナオーケストレーション)の概要 • k8sのメリット・デメリット • EKSヘのデプロイ手順(大まかな流れ&注意点だけ) ◦ 詳細の手順については、zennに記事を書いています •
使ってみてどうだったか? 「GoのアプリをEKS(Fargate)にデプロイしてみた話」 https://zenn.dev/hisamitsu/articles/53d0dd94e08b2b
コンテナオーケストレーションがなぜ必要か? • 手動だと、複数のマシンでコンテナを運用するのが辛いから コンテナの分散 Auto Scale
k8sのメリット・デメリット(ECS等と比べて) • メリット ◦ 作成した設定ファイルを異なるサービス間(EKS・GKE等)で流用 できる。(ただし、固有の設定もある) • デメリット ◦ バージョンアップへの追従が辛い
▪ 3ヶ月に一度新バージョンがリリース ▪ 1つのバージョンは14ヶ月でサポートが切れる(EKS) ▪ 強制アップデートがかかる(EKS) • 使う前の個人的な感想 → EKS(k8s)辛そう、ECSで良いのでは?
Cluster 作ったもの:すごく簡単なAPI Namespace Deployment Pod Service Ingress リソース名 用途 Pod
コンテナ集合体の単位 Deployment Pod(ReplicaSet)の世代管理をする Service Podの集合にアクセスするための経路 Ingress Serviceをクラスタの外に公開する
実際の手順(かなりざっくりと) • 記事の内容をベース説明します ◦ 流れだけ理解いただければ十分です! • 前提 ◦ eksctl:EKS用のCLIツール ◦
kubectl:k8s用のCLIツール 「GoのアプリをEKS(Fargate)にデプロイしてみた話」 https://zenn.dev/hisamitsu/articles/53d0dd94e08b2b
注意点① Fargateプロファイルを作成する必要がある • EKSでFargateを利用するための設定情報 ◦ Podの振り分け条件の設定 ▪ 指定されたNamespaceにしかPodを割り当てられない ▪ デフォルトで作られるものには、当然Namespaceが追加さ
れていない ▪ 公式には書いてあるけど、わかりにくい、、
注意点② インターネット経由でのアクセスに手間がかかる • FargateにパブリックIPアドレスを割り当てることはできない ◦ Podに直接アクセスはできない • LoadBalancerのCLB/NLBは非対応 ◦ k8sのServiceでLoadBalancerを設定すると、デフォルトでは
CLB(Classic Load Balancer)が作成さるが、Fargateでは対 応していない →ちょっと試したいだけでもALB + Ingressの設定が必要
使ってみてどうだったか? • 使う前の個人的な感想 → EKS(k8s)辛そう、ECSで良いのでは? • ポジティブ ◦ エンジニアとして、学んでいて楽しい ▪
CI/CDなどはk8sに特化したツールがたくさんある ◦ k8sをマスターしてしまえば、ECSよりはベンダの乗り換えは楽か も ▪ ベンダの乗り換えってそんなにする? ▪ バージョンアップの追従など考えると、トータルでは工数かか るのでは?)
使ってみてどうだったか? • 使う前の個人的な感想 → EKS(k8s)辛そう、ECSで良いのでは? • ネガティブ ◦ 手間がかかる ▪
Fargateプロファイルの設定など ▪ ALBを入れたいだけなのに、事前にそのコントローラを設定 する必要がある ◦ 可搬性高いのか? ▪ ALBの設定など、結局各ベンダに依存する箇所がある ◦ 学習コストが高い ▪ k8s、EKSの設定について学ぶ必要がある
AWSの人の見解も • AWSはなぜ、ECSがあるのにKubernetesのサービスを始めたのか、コックロフ ト氏に聞いた
以降、使わないスライドたち
Docker Compose、Dockerとの関係 • コンテナオーケストレーション ◦ 複数コンテナを複数のマシンに • Docker Compose ◦
複数コンテナを一つのマシンに • Dockerfile ◦ 一つのコンテナを一つのマシンに