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
新卒がアプリをEKSにデプロイした話 / sre-newcomer-deploy-app-to...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
OPTiM
December 02, 2021
Technology
460
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新卒がアプリをEKSにデプロイした話 / sre-newcomer-deploy-app-to-eks
OPTiM
December 02, 2021
More Decks by OPTiM
See All by OPTiM
OPTiMized SRE 〜共通基盤で、SREの改善を個別対応から横展開へ〜
optim
0
75
地図が指し示す場所を、機械に検索させてみる
optim
0
510
「人間を最適化するAI」から「AIを最適化する人間」への主語転換 〜Agentic Engineeringの実践〜
optim
0
140
フロントエンド開発者のための「厄払い」
optim
0
2.5k
レイアウト構築の基本を理解しよう ~ 横スクロールが起きない!? Flex脱却編 ~
optim
0
590
デザインとエンジニアリングの架け橋を目指す OPTiMのデザインシステム「nucleus」の軌跡と広げ方
optim
0
1k
落ちてほしかった単体テスト
optim
0
160
Goのカバレッジ計測の仕組みをコードリーディングで理解する
optim
1
370
0→1製品の毎週リリースを支えるGoパッケージ戦略——AI時代のPackage by Feature実践
optim
6
2.4k
Other Decks in Technology
See All in Technology
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
0
250
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
600
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
3
190
AIのReact習熟度を測る
uhyo
1
160
失敗を資産に変えるClaude Code
shinyasaita
0
480
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
130
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
130
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
600
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
2
1.7k
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
180
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
130
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
200
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Skip the Path - Find Your Career Trail
mkilby
1
140
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
Done Done
chrislema
186
16k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
A Modern Web Designer's Workflow
chriscoyier
698
190k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Transcript
Copyright © OPTiM Corp. All Right Reserved. 新卒がアプリをEKSにデプロイした話 発表日:2021.11.29 株式会社オプティム
技術統括本部 SREユニット 岡田
Copyright © OPTiM Corp. All Right Reserved. 2 岡田
神奈川県生まれ 東北大学・大学院 • 工学研究科土木工学 出身 • リモートセンシング技術を用いた浸水建物把握 21新卒 • 入社後は3ヶ月間、IT人財教育プログラム(IT研修)に参加 • グループでチャットアプリを開発 SREチーム • 社内サービスの品質管理・改善を担当 趣味は野球・料理(リュウジのバズレシピ) 自己紹介
Copyright © OPTiM Corp. All Right Reserved. 3 IT研修の中身と成果
配属後に行ったこと チャットアプリをEKSへデプロイ TerraformでRDS構築 アプリケーションのHelm化 おわりに 目次
Copyright © OPTiM Corp. All Right Reserved. 4 IT研修の中身と成果 非情報系出身たちによるアプリ開発と、配属まで
Copyright © OPTiM Corp. All Right Reserved. 5 概要
• 対象者は非情報(工学)系出身者 • 目標 • オプティムで定義しているエンジニアの スキルレベルに到達すること、あるいは そのポテンシャルを獲得すること • 講義と実習(プログラミング研修)を3か月間行う • 2021年度は個人開発・チーム開発を実施 IT研修とは
Copyright © OPTiM Corp. All Right Reserved. 6 個人開発
• ブロック崩しゲーム • メモ帳・Todoリスト • JavaScript チーム開発 • チャットアプリ • Go / Vue.js / SQL Boiler / PostgreSQL • Webサーバをlocalhostに構築 • Gitlabで共同開発 • Redmineでタスク管理 IT研修の中身と成果 okada
Copyright © OPTiM Corp. All Right Reserved. 7 配属後に活きたこと
• プログラミング・開発の基礎 • Dockerを使ったコンテナ管理 • チケットベースでのタスク管理 配属後にわからなかったこと • AWS…? • Kubernetes…? • Terraform…? • とにかく、SREで日常的に使用するツールが全く分かりませんでした IT研修の中身と成果
Copyright © OPTiM Corp. All Right Reserved. 8 配属後に行ったこと SREで使用するツールにまずは触れてみる
Copyright © OPTiM Corp. All Right Reserved. 9 SREチームで頻繁に触れる技術スタックの理解を深める
• IT研修で作成したチャットアプリをEKSにデプロイする • TerraformでRDSを構築する • デプロイしたチャットアプリをHelm化する -> 運用の観点から、再利用性を高くした構成管理を心がけた 配属後に行ったこと 論理構成図 • 次ページへ
Copyright © OPTiM Corp. All Right Reserved. 10 論理構成図
配属後に行ったこと
Copyright © OPTiM Corp. All Right Reserved. 11 チャットアプリをEKSへデプロイ 効率的なコンテナの一括管理
Copyright © OPTiM Corp. All Right Reserved. 12 EKSを使用する目的
• コンテナの一括管理を効率よく行うため • 信頼性を高める・可用性を高める・スケーラブルにするためにKubernetesが広く使われている • 他のAWSサービスとの統合が簡単 • ALB/ECR/RDSなどのAWSのサービスとすぐに統合できる 設定した内容 • Manifestの作成 • Deployment(Front, Back)/Service(Front, Back)/Ingress(Front)/Job(DB Migration) • 研修時にdocker-compose.yamlや.envファイルで設定した環境変数も設定 • Dockerfileを作成し、ECRに追加 • Frontのコンテナは起動時にyarn serve, Backのコンテナは起動時に実行 チャットアプリをEKSへデプロイ kubectl apply –f frontend-deployment.yaml docker build -> docker push
Copyright © OPTiM Corp. All Right Reserved. 13 論理構成図
チャットアプリをEKSへデプロイ 変更箇所
Copyright © OPTiM Corp. All Right Reserved. 14 TerraformでRDS構築 再利用性の高いDB構築・構成管理
Copyright © OPTiM Corp. All Right Reserved. 15 RDSを使用する目的
• 可用性とスケーラビリティが高いDBを構築するため • PodでのDB運用時には、Podを再作成した時にデータを消失する構成だった • RDSならデータの冗長化・バックアップなど永続化にかんする 責任をAWSに任せられる Terraformを使用する目的 • 同じ構成を素早く構築可能な、再利用性が高い構成管理を行うため • バージョンの管理を行なって履歴を追跡可能にしたり、災害時の復旧が可能になる • 環境差分を.tfvarsファイルで管理すれば、同じ構成の環境を簡単に構築できる 設定した内容 • Aurora PostgreSQLを管理するための環境変数をterraform.tfvarsに書き出し • 低コスト・速度が十分・耐久性が高いことからAurora PostgreSQLを選択 • ルートモジュールから、今回のチャットアプリ用Aurora PostgreSQLのサブモジュールを参照するよう な構成を適用 TerraformでRDS構築 terraform apply
Copyright © OPTiM Corp. All Right Reserved. 16 論理構成図
TerraformでRDS構築 変更箇所
Copyright © OPTiM Corp. All Right Reserved. 17 アプリケーションのHelm化 アプリケーション管理を簡単に
Copyright © OPTiM Corp. All Right Reserved. 18 Helmを使う目的
• デプロイしたアプリケーションの管理を簡単にするため • 内容の更新を、設定ファイル(Chart)として管理する • パラメータを切り出したvalues.yamlとKubernetes manifestをHelm chartとしてパッケージ ングすることで、アプリケーション構成の再利用が可能になる 設定した内容 • Helmの構成を作成、内部のtemplatesディレクトリに、Manifestsを追加 • values.yamlにデフォルトパラメータを記述 values.yamlの中をみて、変更を加えればアプリケーションの更新ができるようになった アプリケーションのHelm化 helm create helm install
Copyright © OPTiM Corp. All Right Reserved. 19 論理構成図
TerraformでRDS構築 変更箇所
Copyright © OPTiM Corp. All Right Reserved. 20 おわりに 入社半年で学んだこと
Copyright © OPTiM Corp. All Right Reserved. 21 IT研修で作ったチャットアプリ
• 信頼性・可用性・スケーラビリティの高いサービスへと更新することができた • RDSの変更 -> terraform.tfvarsファイルを更新 • EKSの設定を変更 -> values.yamlを参考にしてパラメータを書き換え • チャットアプリ自体(Front / Back)の変更 -> ECRにDocker imageをpush, これを参照するように変更 • WebサーバをlocalhostではなくAWSで構築したため、複数人が同時にアクセス可能に IT研修 ~ SRE配属後の半年間で学んだこと • 可能な限りヒューマンエラーを取り除くこと • 環境構築はコマンド1つで再現できるようにする • 面倒な管理はマネージドサービスに任せること • 全てを自社サービスでやっていては限界がある • プログラミングは開発だけではない • 効率化するという運用の面白さをどんどん感じていきたい おわりに 本日お話しした内容は 弊社TECH BLOGでも公開しております!
Copyright © OPTiM Corp. All Right Reserved. 22