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
Backlog における Kubernetes の取り組み / Kubernetes's ap...
Search
株式会社ヌーラボ
PRO
March 08, 2019
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Backlog における Kubernetes の取り組み / Kubernetes's approach in Backlog
2019/3/8 ヌーラボ 福岡本社で行われたGeeks Who Drinkでの発表資料です。
株式会社ヌーラボ
PRO
March 08, 2019
More Decks by 株式会社ヌーラボ
See All by 株式会社ヌーラボ
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
340
進化するBits AI SREと私と組織
nulabinc
PRO
4
760
実践 Datadog MCP Server
nulabinc
PRO
4
760
全社横断PjM⽀援チーム “PEaS”の取り組みと プロジェクトマネジメント でのAI活⽤について
nulabinc
PRO
0
190
Datadog の RBAC のすべて
nulabinc
PRO
4
810
Datadog Live Tokyo 2025登壇資料
nulabinc
PRO
0
170
How to Migrate Your Backlog Free Plan
nulabinc
PRO
0
250
チームワークマネジメント Bar #5
nulabinc
PRO
0
89
Geeks Who Drink Fukuoka - 202508
nulabinc
PRO
0
69
Other Decks in Technology
See All in Technology
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
110
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
230
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
1.3k
AIはどのように 組織のアジリティを変えるのか?
junki
4
1k
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
160
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
3k
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
270
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
260
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
0
210
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
680
AIのReact習熟度を測る
uhyo
2
650
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
1.3k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
Between Models and Reality
mayunak
4
340
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Docker and Python
trallard
47
3.9k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
170
Claude Code のすすめ
schroneko
67
230k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
160
Everyday Curiosity
cassininazir
0
230
Skip the Path - Find Your Career Trail
mkilby
1
150
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Transcript
Backlog における Kubernetes の取り組み Yuki YOSHIIWA Geeks Who Drink in
Fukuoka Front End Edition 2
Yuki YOSHIIWA a.k.a. iwa Web Frontend Engineer @ Nulab Inc.
React, TypeScript がだいすき! スイスがすきなので Scala がすき! ≡ もすきです! わんこだいすき! これは若かりし時の我が仔
突然ですが、
Backlog は UX 向上にゼンリョク! 速くて使いやすい、新しい UI を作っています React, TypeScript
Scala (Akka HTTP, Play なし) GraphQL, WebSocket Kubernetes UX を最大化するためインフラレベルから見直し どうなるかはヒミツ
なんでやるの?
現世代 Backlog の課題
運用つらい問題 国内・海外に複数の環境 現在8 環境 サーバー台数は200 台+ 伸びるリリース時間…
いくつか対策はしている 今回は割愛 詳しくは SRE チームに
運用つらい問題 サービスいっぱい Issue, Wiki, Git, File, ... これからも増える予定
サービスが増えることで、 運用コストが跳ね上がるの は避けたい
サービス増でつらくならないように いくつか Dockerize ECS で動かしている ステートレスな設計 リリース簡単で速い!
今後はコンテナーベースに していきたい
Kubernetes
Kubernetes とは Google が社内で培ってき たコンテナー運用にまつわ る知見を元に設計・開発し た、オープンソースのコン テナーオーケストレーショ ンシステム →Google
がやってきたこ とを一般化したもの
Kubernetes とは Cluster Master Node kubeapiserver Node Node scheduler controller
manager etcd kubectl kubelet kubeproxy container runtime Pod containers
Kubernetes とは オーケストレーション ( コ ンテナーの構成・設定) は yaml で管理する
yaml を正とする運用 (single source of truth) レビューがやりやすい
Kubernetes とは ほとんどの関心事を yaml に落とし込める 接続先などの設定 スケーリングの閾値
アップデート時の動作 Infrastructure as Code の 極致と言えるのでは
Kubernetes とは やりすぎた例 VM を管理 K8s を管理
データセンターを管理 独自のリソース定義を作る ことで、割となんでもでき るカスタマイズ性
Kubernetes とは 耐障害性が非常に高い 優れたスケジューラ 死活監視 セルフヒーリング ホスト/
コンテナーが落ち てもすぐに復旧する!
Cacoo も使っている!
EKS 、キミにきめた!
EKS とは AWS が提供するマネージ ド Kubernetes サービス 面倒ごとから解放される
クラスターの管理 アップデート Outofbox で AWS のサ ービスと統合されている
EKS とは Cluster Master Node kubeapiserver Node Node scheduler controller
manager etcd kubectl kubelet kubeproxy container runtime Pod containers
EKS とは Cluster Master Node kubeapiserver Node Node scheduler controller
manager etcd kubectl kubelet kubeproxy container runtime Pod containers API Server など K8s の 根幹となる機能を提供
EKS とは Cluster Master Node kubeapiserver Node Node scheduler controller
manager etcd kubectl kubelet kubeproxy container runtime Pod containers API Server など K8s の 根幹となる機能を提供 落ちたらまずい 部分を運用しな くていい安心感 アップデートを 自動でやってく れる嬉しい!
EKS とは Cluster Master Node kubeapiserver Node Node scheduler controller
manager etcd kubectl kubelet kubeproxy container runtime Pod containers API の認証・認可に IAM Role を使える
EKS とは Cluster Master Node kubeapiserver Node Node scheduler controller
manager etcd kubectl kubelet kubeproxy container runtime Pod containers Node には EKS に最適 化された AMI を使用 Node のスケーリング には Auto Scaling Group を使用
EKS とは Cluster Master Node kubeapiserver Node Node scheduler controller
manager etcd kubectl kubelet kubeproxy container runtime Pod containers Node には EKS に最適 化された AMI を使用 Node のスケーリング には Auto Scaling Group を使用 信頼と実績のあ る Auto Scaling Group !
なんで EKS ? Cacoo は自分でクラスターを作っていなかった? Cacoo チームからつらいところを聞いていた アップデートなど…
マネージド K8s が良いという話は聞いていた GKE, AKS は検討しなかった? AWS を利用しているので EKS にした ハイブリッドクラウドはコスト面で厳しい
実際にあった話
実際にあった話 Critical! 早く対応しない といかん! K8s 初の深刻な セキュリティ インシデント
実際にあった話 CVE20181002105 という、特殊なリクエストを行 うことで権限昇格することができる、危険性の高い 脆弱性が見つかる K8s 本体をアップデートしないといけない 本体のアップデートはやることが多く非常に面倒
実際にあった話 EKS の対応のタイムライン 2018/12/04 02:01 JST: K8s チームがアナウンス
2018/12/04 13:28 JST: 問い合わせ 2018/12/04 17:07 JST: AWS から対応中と返事 2018/12/05 17:58 JST: 対応完了の知らせ この間、コマンドを叩くことも、画面からぽちぽち することもなく、アップデート完了
実際にあった話 EKS の対応のタイムライン 2018/12/04 02:01 JST: K8s チームがアナウンス
2018/12/04 13:28 JST: 問い合わせ 2018/12/04 17:07 JST: AWS から対応中と返事 2018/12/05 17:58 JST: 対応完了の知らせ この間、コマンドを叩くことも、画面からぽちぽち することもなく、アップデート完了 マネージド 最高!
Backlog における EKS の構成管理
Backlog のアーキテクチャ
Backlog のアーキテクチャ Internet nginx web api git svn MySQL Redis
log
Backlog のアーキテクチャ Internet nginx web api git svn MySQL Redis
log Master kubeapiserver Node Pod New UX Service
Backlog のアーキテクチャ Internet nginx web api git svn MySQL Redis
log Master kubeapiserver Node Pod New UX Service 既存 VPC 内に K8s の Node を配置している
Backlog のアーキテクチャ Internet nginx web api git svn MySQL Redis
log Master kubeapiserver Node Pod New UX Service インターネットからの アクセスは、nginx → K8s から作成した ELB と流れる
Backlog のアーキテクチャ Internet nginx web api git svn MySQL Redis
log Master kubeapiserver Node Pod New UX Service DB などにはコンテナー から直接アクセス
EKS の構成管理
Terraform Terraform を利用 Backlog で実績アリ 既存と組み合わせやすい eksctl は検討したが、マ
ッチしなかったので除外
Terraform 管理対象 IAM Role Network (Subnet, etc)
EKS Cluster Node Auto Scaling Group
Terraform Terraform で Node の AMI を変更しても Node が入 れ替わらない…
→Terraform では Auto Scaling Group を変更して もローリングアップデートがかからないことがわか った どうするか
Terraform + CloudFormation +
Terraform 管理対象 IAM Role Network (Subnet, etc)
EKS Cluster 主に K8s の Master や、 ネットワーク周りを管理し ている
CloudFormation (CFn) AWS 公式 EKS Node のテ ンプレートを利用 Node
の面倒を引き受け CFn を利用することで Auto Scaling Group 更新 時にローリングアップデー トがかかるように!
Terraform + CloudFormation 定常業務が terraform apply で済むようになった
Terraform + CloudFormation terraform apply するとローリングアップデートが かかるため、ダウンタイムなしに 更新できる
とても嬉しい! Amazon Linux 2 のセキュリ ティインシデントが… ↓ AMI を変更して terraform
apply
とても嬉しい! K8s のセキュリティインシデ ントで AMI 入れ替えないと… ↓ AMI を変更して terraform
apply
とても嬉しい! K8s のバージョンアップしたい! ↓ 該当のバージョン用の AMI に変更して terraform apply
とても嬉しい! terraform apply するだけなので とても楽になった
まとめ
まとめ ・Kubernetes (K8s) はとても良いです ・マネージド K8s はすぐに使えて運用も楽です ・EKS を terraform
で作るときは CloudFormation を terraform で作るようにしましょう… ・フロントエンドに疲れた方は Kubernetes やってみ ませんか?
ヌーラボに興味がある方はこちら!