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
Yusuke Sasaki
May 24, 2019
Technology
1
85
TerraformとAWS ECSに入門しました
社内LT資料
https://booth.pm/ja/items/1316133
を読んだ話
Yusuke Sasaki
May 24, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
800
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
3
390
20250309 無冠のわたし これからどう先生きのこれる?
akiko_pusu
9
700
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.8k
Охота на косуль у древних
ashapiro
0
130
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
550
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
380
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
3
200
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.7k
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
9
4.2k
データモデルYANGの処理系を再発明した話
tjmtrhs
0
370
Featured
See All Featured
Producing Creativity
orderedlist
PRO
344
40k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Adopting Sorbet at Scale
ufuk
75
9.2k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
Typedesign – Prime Four
hannesfritz
41
2.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Statistics for Hackers
jakevdp
797
220k
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