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
新卒エンジニアがCICDをモダナイズしてみた話
Search
Akashi_SN
April 21, 2025
Technology
2
380
新卒エンジニアがCICDをモダナイズしてみた話
Akashi_SN
April 21, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
170
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.2k
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
410
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
370
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
350
エラーとアクセシビリティ
schktjm
1
1.2k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
170
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
280
Obsidian応用活用術
onikun94
2
490
La gouvernance territoriale des données grâce à la plateforme Terreze
bluehats
0
170
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Faster Mobile Websites
deanohume
309
31k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Fireside Chat
paigeccino
39
3.6k
Producing Creativity
orderedlist
PRO
347
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
GitHub's CSS Performance
jonrohan
1032
460k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Balancing Empowerment & Direction
lara
3
620
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Transcript
新卒エンジニアがCICDを モダナイズしてみた話 JAWS-UG東京 ランチタイムLT会 #22 2025/04/22 KDDI 西 総一朗
自己紹介 ◼ 2024/04 KDDI株式会社 新卒入社 ◼ 2024/09 現部署配属 • CICDのモダン化
• Terraformバージョンアップ ◼ 2025/04 2年目…! 経歴 ◼ フロント系(AWS)システムのインフラ開発・運用 ◼ 内製開発チーム 業務内容 氏名 所属 趣味 西 総一朗 KDDI株式会社 自宅サーバ 2
趣味 - 自宅サーバ サーバ君たち (左・右下: ワーカノード、 中央:ストレージ) ルータ(IX2215)は固定IP用と MAP-E用で2台体制 ストレージと各ノードは10Gで接続
(冷房つけてても30度になってる…) メインPCと作業机 (フルタワーケースなのでめちゃでかい) ※ストレージについては実家(大阪)にも設置してて毎時同期をしている 3
既存のCICD環境(Jenkins)の問題 ◼属人化問題 Jenkinsおじさん Jenkinsの設定をした人に属人化してしまうことから呼ばれている ➢設定をGUIで行えてしまうことも原因 ◼塩漬け問題 共通化しようとして複雑怪奇に
実際にどのようにJobが実行されているかを追いかけるのも大変 ➢その結果ビルドツール・OS等が塩漬けとなってセキュリティ問題になりかねない 本来のJenkins おじさん 処理の中身追いかける事のお手伝いする事は残念ながら工数がないです。 中身に詳しい人もいないです。 前任者 4
脱Jenkinsに向けて… (1/2) ◼CICDシステムが巨大すぎる… ➢スモールスタートとしてIaC (Terraform)のGHEリポジトリを対象に ◼アーキテクチャどうしよう? ➢GitHub ActionsとAWS CodeBuildの組み合わせを活用 AWS
CodeBuild がマネージド型の GitHub Action ランナーのサポートを開始 5
脱Jenkinsに向けて… (2/2) ◼商用作業ルールにどうやって適合させる? 商用作業前には作業申請が必要 ➢CIとCDを分離する ➢読み取り専用(Plan)と変更可能(Apply)の2台編成 特権申請を行わないと変更ができない ➢特権ロールと通常ロールとを使い分けることで実現
➢特権申請済みのアカウントで手動で 通常ロールに付与されたポリシーを削除する運用 (通常ロールには特権ロールへスイッチできないポリシーが付与されている) 6
新CICDシステム構成 ◼開発・ステージング・商用環境ごとにCodeBuildを配置 7
JenkinsとGitHub Actionsでの開発工程の違い ◼Jenkins時代 商用環境でPlanを実行するのにも商用作業扱い 作業当日まで商用環境での差分が不明 資材格納ジョブ ->
Planジョブ -> Applyジョブ -> Planジョブの工程を踏む Plan/Applyでは1回で1環境面しか回せないため時間がかかる(現在は商用含め15面!?ある) ◼GitHub Actions時代 商用環境でもPlanはいつでも回せる 特権申請をバイパスして変更することはできない 商用作業時はApply前に差分チェックや承認フェーズを挟むことができる 複数面の一括実行も可能に 8
まとめ ◼自前で運用するのではなく、なるべくマネージドなサービスを使用しよう 運用コストの削減やセキュリティ面でもメリットがある ◼システムは全てコードで管理し、なるべくシンプルな構成にしよう 属人化を防ぐことが期待できる ◼配属されて1カ月で前任者が離任したが、半期でCICDモダン化を完遂できた! • 技術的な知識はあっても大企業特有の仕組み(商用作業・各申請等)の理解に苦労した
• 趣味の自宅サーバ運用で使用していたGitHub Actionsの知識を生かせた • 新しい技術などに興味を持ち続け、新技術で改善していくことは楽しい! 9