Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
新卒がアプリをEKSにデプロイした話 / sre-newcomer-deploy-app-to...
Search
OPTiM
December 02, 2021
Technology
470
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
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
83
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
610
製品の問い合わせ負荷をLLMで解消したい 〜RAGで作る「自社を知っている」チャットボット〜
optim
0
40
AI エージェントシステムの開発を AI で加速させたい!
optim
0
45
既存プロダクトのRSpec カバレッジを 40% から100% にした話
optim
1
130
最近やってよかったデザインシステム運用改善3選
optim
1
410
<install>要素は何ができて、何を変えるのか
optim
1
360
CIでリグレッションテストを実行し継続的に品質を担保する
optim
1
390
Tanstack Startを触ってみての感動
optim
1
390
Other Decks in Technology
See All in Technology
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
480
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
300
Apache Iceberg が拓く AI 時代のオープンレイクハウス
tomtanaka
0
210
OpenClawでAzure DevOpsのWiki更新を自動化する - クラウドAIだけでは届かない場所へ
yutakaosada
0
140
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
660
企業の現実世界をグラフで写し取る
sansantech
PRO
0
240
20260930_Gemma4_Hands-on
tsho
0
210
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
230
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
810
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
570
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
320
VS Code × GitHub Copilot での Fabric 開発
ryomaru0825
1
210
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
440
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
960
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.9k
Discover your Explorer Soul
emna__ayadi
2
1.3k
4 Signs Your Business is Dying
shpigford
187
23k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
500
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Practical Orchestrator
shlominoach
192
12k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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