$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アトランティスに行ってみよう
Search
Kaoru
January 15, 2024
Programming
0
210
アトランティスに行ってみよう
Kaoru
January 15, 2024
Tweet
Share
More Decks by Kaoru
See All by Kaoru
Mobile App with AI Meetup #1
okaru
0
80
JAWS-UG SRE支部 #14 LT
okaru
0
140
ゆるSRE #11 LT
okaru
1
910
AI Engineering Summit Pre Event LT #10
okaru
2
740
AIエージェント実践集中コース LT
okaru
1
260
技術選定を突き詰める 懇親会LT
okaru
2
1.4k
Amazon S3 Tables + Amazon Athena / Apache Iceberg
okaru
2
450
JAWS-UG SRE支部 #11 LT EKS Auto Mode をやりたい
okaru
0
37
今年の一番の機能追加って何だろう?
okaru
0
150
Other Decks in Programming
See All in Programming
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
120
Cap'n Webについて
yusukebe
0
150
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
120
tparseでgo testの出力を見やすくする
utgwkk
2
280
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
120
AIコーディングエージェント(skywork)
kondai24
0
200
AIコーディングエージェント(Gemini)
kondai24
0
270
gunshi
kazupon
1
120
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
580
Go コードベースの構成と AI コンテキスト定義
andpad
0
140
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
Exploring anti-patterns in Rails
aemeredith
2
200
WENDY [Excerpt]
tessaabrams
8
35k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
32
AI: The stuff that nobody shows you
jnunemaker
PRO
1
16
A Tale of Four Properties
chriscoyier
162
23k
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
370
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
75
Speed Design
sergeychernyshev
33
1.4k
A designer walks into a library…
pauljervisheath
210
24k
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 絶賛募集してます!