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
DevelopersIO 2022 俺のTerraform Pipeline
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
takakuni
July 29, 2022
Technology
10k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DevelopersIO 2022 俺のTerraform Pipeline
takakuni
July 29, 2022
More Decks by takakuni
See All by takakuni
ECS Express Mode
takakuni
0
36
AWS WAF Anti-DDoS Protection in 5 Minutes!
takakuni
0
600
AWS Backup Air-Gapped Vaults with Multi-Party Approval Explained in 5 Minutes!
takakuni
0
300
5min GuardDuty Extended Threat Detection EKS
takakuni
0
380
OpenAI models overview 202505
takakuni
0
440
[Sample] Validate hyperlink for Amazon Bedrock Data Automation
takakuni
0
300
Classmethod AI Talks #13
takakuni
0
430
About Extended Threat Detection in Amazon GuardDuty
takakuni
0
400
SageMaker Hyperpod 101 #regrowth_sapporo
takakuni
1
420
Other Decks in Technology
See All in Technology
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.4k
20260619 私の日常業務での生成 AI 活用
masaruogura
1
200
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
450
Android の公式 Skill / Android skills
yanzm
0
150
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
1
270
FinOps × AIエージェントで実現する コストインシデントの自動調査
oasis1994liveforever
0
140
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
110
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
180
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
1k
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
370
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
7
1.9k
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.2k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Exploring anti-patterns in Rails
aemeredith
3
410
Navigating Team Friction
lara
192
16k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
590
Optimizing for Happiness
mojombo
378
71k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
俺のTerraform Pipeline AWS事業本部コンサルティング部 たかくに
2 ⾃⼰紹介 名前︓たかくに 所属︓AWS事業本部コンサルティング部 ⼊社︓2022年1⽉にジョイン 好きなAWSサービス︓Amazon VPC Twitter︓@takakuni_
3 アジェンダ ・お題 ・私の考えたアーキテクチャ ・ワークフローをざっくり解説 ・アーキテクチャ解説 ・詰まった点やこだわった点 ・まとめ
4 お題 ある企業ではAWSリソースのデプロイツールでTerraformを 採⽤しています。 企業ではさらなるIaC化推進の⼀環として、デプロイフローを CI/CDで実装することを検討しています。 あなたはこのCI/CDパイプラインをどのように設計しますか︖
5 私の⾒解 唯⼀解はないと思います。 (みんな違ってみんないい)
6 ツールの⼀例
7 私の考えたアーキテクチャ
8 私の考えたアーキテクチャ
9 ワークフロー
10 ワークフロー
11 ワークフロー
12 ワークフロー
13 ワークフロー
14 ワークフロー
15 ワークフロー
16 ワークフロー
17 ワークフロー
18 ワークフロー
19 アーキテクチャ解説
20 アーキテクチャ解説
21 アーキテクチャ解説
22 アーキテクチャ解説 (Lambda) CodeBuild (tfsec)の実⾏内容 exclude.ymlの例 tfsec -s --no-color --config-file
exclude.yml . tfsec -s --no-color --config-file exclude.yml . --format junit > reports/tfsec/report.xml --- exclude: # Ignoreしたいルールを記載 - aws-iam-enforce-mfa - aws-vpc-add-description-to-security-group
23 アーキテクチャ解説
24 アーキテクチャ解説 (tfsec) なぜ、Secrets Managerを使うのか →「Docker Hubのイメージ取得制限」を回避するため 添付画像:docker docsより引用
25 解決⽅法 ① Secrets Managerを使⽤して、認証ユーザー経由でイメー ジを取得する。 ②NAT Gatewayを使⽤して、IPアドレスを変更してイメージ を取得する。 ③イメージをECRに保存して、ECRからイメージを取得する。
26 解決⽅法 (Secrets Manager) ・Docker Hubへログインして認証 ユーザーとしてイメージを取得 ・「レジストリの認証情報」では、 Secrets Managerが必要
添付画像:AWS ナレッジセンターより引用
27 解決⽅法 (NAT Gateway)
28 解決⽅法 (ECR)
29 解決⽅法 ① Secrets Managerを使⽤して、認証ユーザー経由でイメー ジを取得する。 ②NAT Gatewayを使⽤して、IPアドレスを変更してイメージ を取得する。 ③イメージをECRに保存して、ECRからイメージを取得する。
30 解決⽅法 ① Secrets Managerを使⽤して、認証ユーザー経由でイメー ジを取得する。 →新しいイメージを使いたい。コスト最適化。 ②NAT Gatewayを使⽤して、IPアドレスを変更してイメージ を取得する。
→NAT Gatewayの使⽤⽤途が「CI/CDパイプラインに限る」 場合、コスパが悪い。 ③イメージをECRに保存して、ECRからイメージを取得する。 →バージョン管理が⼤変。古いイメージの使い回しの恐れ。
31 解決⽅法 “Too Many Requests.” でビルドが失敗する…。AWS CodeBuild で IP ガチャを回避するために
Docker Hub ロ グインしよう!という話 Docker オフィシャルイメージが ECR Public で利用可能 になりました #reinvent
32 アーキテクチャ解説
33 アーキテクチャ解説
34 アーキテクチャ解説 printenvコマンドの出⼒結果(⼀部抜粋)
35 アーキテクチャ解説
36 アーキテクチャ解説
37 アーキテクチャ解説 [AWS × Terraform] plan できるけど apply できない GitOps
な IAM ユーザーポリシーの設定方法 ・アーティファクト⽤のS3バケットへ の操作権限 ・S3、DynamoDBの暗号化で使⽤する KMSキーへの操作権限 ・CloudWatch Logsへのビルドログの 配信権限
38 まとめ
39 まとめ ・なるべくAWSリソースを使⽤した設計をご紹介 ・CodeBuildからDocker Hubへのイメージプルには注意 ・CodePipelineでは「名前空間」で値の受け渡しが可能 ・terraform planのIAMロールは「ReadOnlyAccess」が有効 TerraformのCI/CDパイプラインを実装してみた
None