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
Orbsから始めるTerraform生活/ terraform-life-starting-f...
Search
Mafuyu Kamono
March 16, 2019
Programming
2
670
Orbsから始めるTerraform生活/ terraform-life-starting-from-orbs
TerraformのCI/CDフローについてのお話
https://github.com/mafuyuk/terraform-orb
Mafuyu Kamono
March 16, 2019
Tweet
Share
More Decks by Mafuyu Kamono
See All by Mafuyu Kamono
GAE 2nd gen (gVisor based GAE) が出たので GAE 導入を決めました/ GAE 2nd gen is good
mfykmn
0
290
GAE SE 2nd Genのススメ/recommend-gae-se-2nd-gen
mfykmn
0
280
忙しいひとのためのCQRS/quickly-cqrs
mfykmn
9
1.5k
Other Decks in Programming
See All in Programming
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
3
1.2k
スモールスタートで始めるためのLambda×モノリス
akihisaikeda
2
160
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
220
ベクトル検索システムの気持ち
monochromegane
31
9.8k
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
110
AIコーディングワークフローの試行 〜AIエージェント×ワークフローでの自動化を目指して〜
rkaga
2
3.4k
PHPで書いたAPIをGoに書き換えてみた 〜パフォーマンス改善の可能性を探る実験レポート〜
koguuum
0
130
趣味全開のAITuber開発
kokushin
0
190
新しいPHP拡張モジュールインストール方法「PHP Installer for Extensions (PIE)」を使ってみよう!
cocoeyes02
0
340
Vibe Codingをせずに Clineを使っている
watany
17
6k
5年間継続して開発した自作OSSの記録
bebeji_nappa
0
170
AHC 044 混合整数計画ソルバー解法
kiri8128
0
320
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Typedesign – Prime Four
hannesfritz
41
2.6k
Making Projects Easy
brettharned
116
6.1k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Optimizing for Happiness
mojombo
377
70k
Adopting Sorbet at Scale
ufuk
76
9.3k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
A better future with KSS
kneath
239
17k
Fireside Chat
paigeccino
37
3.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
© DMM.com CONFIDENTIAL © DMM.com Orbsから始めるTerraform生活 加茂野真冬 - DMM.com LLC
2019.03.16 HashiCorp Terraform & Vault Enterprise 勉強会 in 金沢
© DMM.com 今日話すこと 2 TerraformによるインフラのCI/CD パイプラインについて話します
© DMM.com 今日話さないこと 3 • 他ツールとの比較 • Terraformの基礎知識
© DMM.com 4 $ cat about-me.tf data { fullname =
"Mafuyu Kamono" orgnization = "DMM.com LLC" position = "Backend Engineer" detail = "https://mafuyuk.com" twitter-id = "@mafuyuk_m" }
© DMM.com Infrastructure as Code 5 • インフラをコードとして管理できる • ソフトウェア開発で培われてきた
プラクティスがインフラ構築でも適用できる
© DMM.com DevOps 6 https://ja.wikipedia.org/wiki/DevOps
© DMM.com DevOps 7 https://ja.wikipedia.org/wiki/DevOps
© DMM.com TerraformのCI/CDパイプライン 8 branch/feature Verify branch/master tag/vx.x.x Plan Apply
Approval Admin
© DMM.com TerraformのCI/CDパイプライン 9 branch/feature Verify branch/master tag/vx.x.x Plan Apply
Approval Admin 毎回同じようなもの を作ってるな...
© DMM.com 10 CI/CDの パッケージマネージャ
© DMM.com 11 https://www.terraform.io/docs/github-actions/getting-started/index.html Terraform Github Actions
© DMM.com Github Actionsを今回使わなかった理由 12 • Github Actionsの利用申請がまだ承認 されていないため使えなかった •
Privateリポジトリでしか使えない • TerraformのGithub Actionsが CIの部分までしかない
© DMM.com CircleCI Orbsとは? • CircleCIのパッケージマネージャ • 再利用性を高めることができる • CircleCI
version 2.1からの機能 13 https://circleci.com/orbs/
© DMM.com 14 https://circleci.com/orbs/registry/orb/mafuyuk/terraform https://github.com/mafuyuk/terraform-orb Terraform Orb
© DMM.com 15 https://circleci.com/orbs/registry/orb/mafuyuk/terraform#usage-continuous-integration Terraform Orb: 継続的インテグレーション
© DMM.com 16 https://circleci.com/orbs/registry/orb/mafuyuk/terraform#usage-continuous-delivery Terraform Orb: 継続的デリバリ
© DMM.com 17 https://circleci.com/orbs/registry/orb/mafuyuk/terraform#usage-deploy Terraform Orb: 継続的デプロイメント
© DMM.com 18 Terraform Orb作成時に意識していたこと • ベターなフローを用意する - Running Terraform
in Automation - Terraform Best Practices • 細かい部分はOrbにカプセル化しユーザーはフロー のみ意識できるようにする • カスタマイズ性を高く
© DMM.com 19 是非使ってみてください
© DMM.com 20 気になる内容は気軽にissuieや DM、PR投げてください! 一緒に作っていきましょう!
© DMM.com まとめ 21 • Terraform+αでインフラ構築を更に 加速できる • Orbを導入してTerraformのCI/CDパ イプライン構築を簡単にできるように
した
© DMM.com 22 Terraform周りの便利ツール(おまけ) • https://github.com/gruntwork-io/terratest テストツール • https://github.com/coinbase/terraform-landscape terraform
planの出力を見やすくする • https://github.com/wata727/tflint planでは検知できないエラーを事前に検知できる • https://github.com/camptocamp/terraboard stateのモニタリング • https://github.com/tfutils/tfenv ローカルでのterraform version管理ツール
© DMM.com 23 END. ここから、Orbsから始めよう。 Terraformの物語を。 Orbsから始めるTerraform生活を!