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
180
アトランティスに行ってみよう
Kaoru
January 15, 2024
Tweet
Share
More Decks by Kaoru
See All by Kaoru
JAWS-UG SRE支部 #11 LT EKS Auto Mode をやりたい
okaru
0
6
今年の一番の機能追加って何だろう?
okaru
0
93
宇宙最速のランチRecap LT会 (AWS re:Invent 2024)
okaru
2
170
TiDBを入れたけれど オートスケールがなかったよ
okaru
0
15
『Datadogのコスト削減』やってみた
okaru
0
18
令和最新版 メールの技術LT会 @ yabaibuki.dev #1 〜BIMIって・・・〜
okaru
0
100
ゆるSRE勉強会 #6 LT
okaru
0
410
小規模な会社のSREのリアル
okaru
0
170
Techbrew in Tokyo April 2024
okaru
0
29
Other Decks in Programming
See All in Programming
私の愛したLaravel 〜レールを超えたその先へ〜
kentaroutakeda
12
3.6k
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
1
360
AI Agents with JavaScript
slobodan
0
170
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
4
780
Going Structural with Named Tuples
bishabosha
0
180
令和トラベルにおけるコンテンツ生成AIアプリケーション開発の実践
ippo012
1
270
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
250
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
3
1.8k
AHC 044 混合整数計画ソルバー解法
kiri8128
0
300
Day0 初心者向けワークショップ実践!ソフトウェアテストの第一歩
satohiroyuki
0
490
PHPのガベージコレクションを深掘りしよう
rinchoku
0
250
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Become a Pro
speakerdeck
PRO
27
5.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
17
1.1k
Unsuck your backbone
ammeep
670
57k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
7
620
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
12
1.4k
What's in a price? How to price your products and services
michaelherold
245
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
29
2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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 絶賛募集してます!