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
TerraformとAWS ECSに入門しました
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yusuke Sasaki
May 24, 2019
Technology
94
1
Share
TerraformとAWS ECSに入門しました
社内LT資料
https://booth.pm/ja/items/1316133
を読んだ話
Yusuke Sasaki
May 24, 2019
Other Decks in Technology
See All in Technology
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
230
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
920
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
0
340
建設的な現実逃避のしかた / How to practice constructive escapism
pauli
3
170
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
130
OCI技術資料 : 証明書サービス概要
ocise
1
7.2k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.3k
プロダクトを育てるように生成AIによる開発プロセスを育てよう
kakehashi
PRO
1
620
GitHub Advanced Security × Defender for Cloudで開発とSecOpsのサイロを超える: コードとクラウドをつなぐ、開発プラットフォームのセキュリティ
yuriemori
1
130
20260326_AIDD事例紹介_ULSC.pdf
findy_eventslides
0
530
Kubernetes基盤における開発者体験 とセキュリティの両⽴ / Balancing developer experience and security in a Kubernetes-based environment
chmikata
0
170
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
550
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
500
Docker and Python
trallard
47
3.8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
350
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
310
Amusing Abliteration
ianozsvald
1
150
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
Color Theory Basics | Prateek | Gurzu
gurzu
0
280
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
260
Transcript
TerraformとAWS TerraformとAWS ECSに入門しました ECSに入門しました 佐々木 2019/05/24 LT大会 佐々木 2019/05/24 LT大会
1 1
技術書典6で買ったterraform本 技術書典6で買ったterraform本 TerraformとAWSに特化したノウハウ本、おす TerraformとAWSに特化したノウハウ本、おす すめ すめ Kubernetesなどクラウドネイティブなアプリ Kubernetesなどクラウドネイティブなアプリ ケーション開発をしてみたという話 ケーション開発をしてみたという話
=> 今回「コンテナ時代の~」を写経しました => 今回「コンテナ時代の~」を写経しました コンテナ時代のWebサービスの作り方 コンテナ時代のWebサービスの作り方 Pragmatic Terraform on AWS Pragmatic Terraform on AWS showKsではじめるクラウドネイティブ開発 showKsではじめるクラウドネイティブ開発 3 3
コンテナ時代のWebサービスの作り方 コンテナ時代のWebサービスの作り方 GitHub/CircleCI/Docker/Terraformなどを使って GitHub/CircleCI/Docker/Terraformなどを使って ECS上でRailsを動かす話 ECS上でRailsを動かす話 4 4
terraformとは terraformとは AWS/Azure/GCPなどのクラウドリソースを構成 AWS/Azure/GCPなどのクラウドリソースを構成 管理するツール 管理するツール AWS EC2インスタンスを管理する例 AWS EC2インスタンスを管理する例
( ( ): ): sample.tf sample.tf provider provider "aws" "aws" { { region region = = "ap-northeast-1" "ap-northeast-1" } } resource resource "aws_instance" "aws_instance" "sandbox" "sandbox" { { ami ami = = "ami-785c491f" "ami-785c491f" instance_type = instance_type = "t2.micro" "t2.micro" } } 5 5
terraformとは terraformとは ディレクトリの初期化、"aws"プロバイダーのた ディレクトリの初期化、"aws"プロバイダーのた めのプラグインをインストール めのプラグインをインストール .tfファイルのdry‑run、変更内容の整合性や差分 .tfファイルのdry‑run、変更内容の整合性や差分 を確認 を確認
.tfファイルを元にインフラを構築する、.tfstate .tfファイルを元にインフラを構築する、.tfstate ファイルに管理下となった状態を格納 ファイルに管理下となった状態を格納 terraform init terraform init terraform plan terraform plan terraform apply terraform apply 6 6
Amazon ECS Amazon ECS Elastic Container Service(ECS) Elastic Container Service(ECS)
Dockerコンテナをサポートするマネージドなコ Dockerコンテナをサポートするマネージドなコ ンテナオーケストレーションサービス ンテナオーケストレーションサービス クラスタ・サービス・タスク定義といった概念 クラスタ・サービス・タスク定義といった概念 がある がある 7 7
Terraform ディレクトリ構成 Terraform ディレクトリ構成 各ディレクトリに対してinit/plan/applyする 各ディレクトリに対してinit/plan/applyする ecr/ // ECR(Docker )
管理 ecr/ // ECR(Docker ) 管理 iam/ // IAM( ) 管理 iam/ // IAM( ) 管理 service/ // ECS( ) 管理 service/ // ECS( ) 管理 vpc/ // VPC(仮想 ) 管理 vpc/ // VPC(仮想 ) 管理 8 8
terraform apply後のアーキテクチャ terraform apply後のアーキテクチャ 9 9
CircleCI デプロイの様子 CircleCI デプロイの様子 10 10
デプロイ(1/3) docker buildしてpush デプロイ(1/3) docker buildしてpush 11 11
デプロイ(2/3) タスク定義更新 デプロイ(2/3) タスク定義更新 12 12
デプロイ(3/3) DB migration デプロイ(3/3) DB migration 13 13
CloudWatch migrationのログ CloudWatch migrationのログ 14 14
まとめ まとめ ECSでwebアプリのCI/CDする環境をterraformを ECSでwebアプリのCI/CDする環境をterraformを 使って構築した 使って構築した 入門したけどどハマりポイントはたくさんあり 入門したけどどハマりポイントはたくさんあり AWS奥が深い AWS奥が深い
特にネットワーク周り理解不足なので今後精進 特にネットワーク周り理解不足なので今後精進 していきます していきます 15 15