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
アトランティスに行ってみよう
Search
Kaoru
January 15, 2024
Programming
0
130
アトランティスに行ってみよう
Kaoru
January 15, 2024
Tweet
Share
More Decks by Kaoru
See All by Kaoru
令和最新版 メールの技術LT会 @ yabaibuki.dev #1 〜BIMIって・・・〜
okaru
0
48
ゆるSRE勉強会 #6 LT
okaru
0
340
小規模な会社のSREのリアル
okaru
0
160
Techbrew in Tokyo April 2024
okaru
0
22
TiUG #1 LT
okaru
0
12
TechBrew in 東京 SRE大集合 信頼性を高める取り組み LT
okaru
0
430
AI駆動開発(AI-Driven Development) 勉強会(第1回) LT
okaru
0
1.1k
Serverless Meetup Tokyo #19 LT
okaru
0
370
Other Decks in Programming
See All in Programming
のびしろを広げる巻き込まれ力:偶然を活かすキャリアの作り方/oso2024
takahashiikki
1
200
2024-10-01 dev2next - Observability for Modern JVM Applications
jonatan_ivanov
1
140
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
1
770
Nuxt UI Pro、NuxtHub、Nuxt Scripts、Nuxtエコシステムをふんだんに利用して開発するコーポレートサイト@Vue Fes Japan 2024
shingangan
3
180
Vue :: Better Testing 2024
up1
1
420
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
100
Integrating AI in Your Enterprise Java Applications
ivargrimstad
0
800
GPU Hash Table | レイトレ合宿10
yknishidate
0
230
2万ページのSSG運用における工夫と注意点 / Vue Fes Japan 2024
chinen
3
440
Vaporモードを大規模サービスに最速導入して学びを共有する
kazukishimamoto
3
1.1k
CSC509 Lecture 06
javiergs
PRO
0
130
Повторное использование кода в ML: почему ML-пайплайны могут помочь?
lamodatech
0
380
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.5k
Bash Introduction
62gerente
608
210k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
The Cult of Friendly URLs
andyhume
77
6k
For a Future-Friendly Web
brad_frost
174
9.4k
Designing on Purpose - Digital PM Summit 2013
jponch
114
6.9k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Optimizing for Happiness
mojombo
375
69k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.6k
Transcript
アトランティスへ行ってみよう ゆるSRE勉強会#3 2023/12/8
©2023 Voicy, Inc. 自己紹介 名前:織田 薫(かおる) 会社:株式会社Voicy 職業:SRE 趣味:ゴスペル・ぺんぎん 特技:Ask
me
©2023 Voicy, Inc.
©2023 Voicy, Inc. 課題 Voicy の Terraform まわりの課題として 下記のようなことがありました。 ・リファクタしたいよね
・CI/CDに載せたいよね ・etc…
©2023 Voicy, Inc. なぜリファクタ? Q.なぜリファクタが必要なのか? A.色々な理由がありますが・・・ . └── dev_stage_prod ├──
main.tf ├── main.tf_dev ├── main.tf_stage ├── output.tf ├── provider.tf ├── variable.tf └── vpc.tf
©2023 Voicy, Inc. リファクタの方針 リファクタって言っても色々あるよね • ディレクトリ構造の利用 • ワークスペースの使用 •
変数ファイルの活用 • モジュールの使用 • 環境変数の使用 • 分岐戦略の採用
©2023 Voicy, Inc. 方針を決めた Voicyの場合は、下記のような形にしました shared module にはするが、Symlinkにはしない . ├──
dev │ ├── main.tf │ ├── provider.tf │ └── variable.tf ├── prod │ ├── main.tf │ ├── provider.tf │ └── variable.tf ├── shared │ ├── iam.tf │ ├── network.tf │ ├── output.tf │ └── variable.tf └── stage ├── main.tf ├── provider.tf └── variable.tf
©2023 Voicy, Inc. ひたすらやる とりあえず、ひたすらリファクタしたのでした・・・ まぁ、ドリフトとか、微妙なバージョン違いとか色々・・・
©2023 Voicy, Inc. CI/CDはどうするか TerraformをCI/CDに乗せるにはどうすればよいか?
©2023 Voicy, Inc. 未知の大陸アトランティス そうだ、Atlantisへ(で)行ってみよう ・プルリクエスト駆動のワークフロー: PRで自動実行できる ・自動化されたプランと適用:plan/apply の自動実行 ・チームのコラボレーションと透明性:チーム内でレビューできる
・セキュリティとアクセス制御:実行承認 ・状態管理の簡素化:ローカルで状態管理する必要がない ・柔軟性と拡張性:様々なカスタマイズが可能 ・履歴の追跡と監査:証跡が取れる
©2023 Voicy, Inc. Terraformのバージョン問題 AtlantisでAPIキーなどの秘密情報が出てしまうのを防ぐため、 sensitive 属性をつけたい、となりました。 ・Terraformのバージョン古い・・・ ・sensitive 使うには、v0.14
以上必要 ・v0.14 ではCLIでは隠してくれるが、tfstate 上は隠してくれない ・v0.15 まで上げてなんとかなった
©2023 Voicy, Inc. ひたすらバージョンアップ とりあえず、ひたすらアゲイン・・・
©2023 Voicy, Inc. 今回できたこと Terraformリファクタ、Atlantis導入で実現したこと ・main.tf コピらなくていい ・環境が明確になった ・ローカルで terraform
叩かなくてよくなった ・github でPRすると、github actions が動いて、fmt/lint が動く ・atlantis plan/apply を叩くことで証跡残る
©2023 Voicy, Inc. こんな感じになりました PR plan/apply
©2023 Voicy, Inc. 今回できてないこと 一応、できてないことも・・・ ・Trraform のバージョンを最新化したい(stacksどうやろ?) ・PRしたら、plan/apply まで自動でやりたい(ちょっと怖い) ・fmt/lint
はまだまだなので、つぶしたい
©2023 Voicy, Inc. We’re hiring 絶賛募集してます!