Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWSインフラ構築ツールとしてのTerraform / SpeeeKaigi
Search
yuma iwasaki
August 08, 2016
Programming
2.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSインフラ構築ツールとしてのTerraform / SpeeeKaigi
SpeeeKaigiで話しました
yuma iwasaki
August 08, 2016
More Decks by yuma iwasaki
See All by yuma iwasaki
僕のキャリアとワインと鍋 / daikichijojipm
suthio
11
7.9k
「Laravel Novaの適切な使い方を考えてみる」 / laravel meetup tokyo vol 11
suthio
1
2.1k
バッチをGoにリプレイスして高速化した話 / GoGoGolangEdition!
suthio
2
29k
本当は怖くない AWS Lambda / speee_cafe_meetup06
suthio
2
910
広告配信サーバーにおけるBlue Green Deploymentの導入事例について \ SpeeeCafeMeetup05
suthio
3
1.9k
初めての本当の意味でのチーム開発 / pmjp 2016-12-03
suthio
4
1.9k
広告配信サーバーの設計について / Speee Engineer Meeting 2016-06-22
suthio
5
2.8k
しくじり先生 アドネットワーク開発でしくじった話 / yapc8oji
suthio
2
2.1k
Other Decks in Programming
See All in Programming
気持ちぃ〜角丸 Squircle
ryu1013
0
320
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
800
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.7k
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Event is what happens
moro
2
1k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
860
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.2k
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
パスワード再設定メールのURLについて知っておこう
uyuki234
0
170
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
300
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.7k
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
610
We Have a Design System, Now What?
morganepeng
55
8.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
A Soul's Torment
seathinner
8
3.8k
Transcript
AWSΠϯϑϥߏஙπʔϧͱͯ͠ͷTerraform
resource "Profile" "Yuma Iwasaki" { company = "Speee Inc." division
= "Web Marketing" development_product = "UZOU ~ Native Ad Network" age = 25 programming_language [ "Ruby", "Scala", "Golang" ] }
agenda • Terraformͱʁ • AWSΠϯϑϥߏஙπʔϧൺֱ • Terraform͍ํ • ΒͲ͏͍ͬͯΔͷ͔
None
None
ΠϯϑϥߏΛίʔυԽ͢Δ͜ͱͷͰ͖Δπʔϧ
ͲΜͳ͜ͱ͕Ͱ͖Δ͔ • IaaSͷαʔόʔߏஙͷίʔυԽ • Amazon Web Services • Google Cloud
Platform • Microsoft Azure • Heroku SetupͷίʔυԽ
ओʹAWSͷΠϯϑϥߏஙπʔϧͱͯ͠ΘΕ͍ͯΔ
͜Μͳܦݧͳ͍Ͱ͔͢ʁ • VPCΛ࡞Δࡍɺςετڥͱຊ൪ڥಉ͡ૢ࡞Λͯ͠࡞ͨ͠ ͭΓ͕ͩҰ෦ؒҧ͍͑ͯͨ • ϚωδϝϯτίϯιʔϧΛݟΔͱ͍ͭͷؒʹ͔ṖͷΠϯελϯ ε͕Ͱ͖ͯͯɺ͍ͭ୭͕࡞͔͕ͨ͠Θ͔Βͳ͍
AWSͷΠϯϑϥߏஙΛίʔυԽ͢Δͱͳʹ͕͍͍ͷ͔ʁ
AWSͷΠϯϑϥߏஙΛίʔυԽ͢Δͱͳʹ͕͍͍ͷ͔ʁ • ϛεΒͳ͍ • ਓͷखϛε͠·͕͢ɺػցϛε͠ͳ͍ • ίʔυԽ͢Δ͜ͱʹΑͬͯཤྺཧ͕Մೳ • Կճߏங͢Δ߹ʹޮత •
ίϐϖͰڥߏங͕Ͱ͖Δ
Pull RequestϕʔεͰΠϯϑϥߏங͕Ͱ͖Δɻ
AWSΠϯϑϥߏஙπʔϧ • CloudFormation • Terraform • Ansible
Terraform VS CloudFormation VS Ansible
AWSରԠ • CloudFormation • AWSެࣜαʔϏεͳͷͰ΄΅શͯͷAWSαʔϏε͕ରԠ • ৽͍͠αʔϏεʹରͯ͠ɺ͍ͪૣ͘ରԠ • Terraform •
ଟ͘ͳਓ͕͏Α͏ͳαʔϏε΄΅ରԠ • Ansible • ଟ͘ͷਓ͕͏Α͏ͳαʔϏε΄΅ରԠ
هड़ํࣜ • CloudFormation • JSON • Terraform • ෦DSL •
Ansible • YAML
DryRun • CloudFormation • None • Terraform • શͯͷ࣮ߦterraform planͰ֬ೝՄೳ
• Ansible • --dry-runΦϓγϣϯͰҰ෦ରԠ
طଘڥͷίʔυԽ • CloudFormation • Cloudfomer • Terraform • Terraforming •
Ansible • None
None
ิ
TerraformͰCloudFormationɺAnsibleΛ࣮ߦ͢Δ͜ͱ͕Ͱ͖Δɻ
Terraform͍ํ
provider "aws" { region = "ap-northeast-1" } resource "aws_instance" "web"
{ ami = "ami-408c7f28" instance_type = "t1.micro" tags { Name = "HogeHogeEC2Instance } }
terraform plan
+ aws_instance.web ami: "" => "ami-408c7f28" availability_zone: "" => "<computed>"
ebs_block_device.#: "" => "<computed>" ephemeral_block_device.#: "" => "<computed>" instance_state: "" => "<computed>" instance_type: "" => "t1.micro" key_name: "" => "<computed>" placement_group: "" => "<computed>" private_dns: "" => "<computed>" private_ip: "" => "<computed>" public_dns: "" => "<computed>" public_ip: "" => "<computed>" root_block_device.#: "" => "<computed>" security_groups.#: "" => "<computed>" source_dest_check: "" => "1" subnet_id: "" => "<computed>" tags.#: "" => "1" tags.Name: "" => "HogeHoge" tenancy: "" => "<computed>" vpc_security_group_ids.#: "" => "<computed>" Plan: 1 to add, 0 to change, 0 to destroy.
terraform apply
ࠂ৴γεςϜͷ։ൃͰͲ͏͍ͬͯΔͷ͔
None
ࡶʹͳΓ͕ͪͳΠϯϑϥΛίʔυԽͯ͠ཧ
AWSͷαʔϏε͝ͱʹϑΝΠϧΛ͚ͯཧ͍ͯ͠Δɻ
ଞͷ։ൃͰ༗ޮ׆༻Ͱ͖Δ • ֤αʔϏεͷAWSڥΛඪ४Խͯ͠TerraformԽ͢Δ͜ͱͰɺ ߴ͔ͭ҆શʹΠϯϑϥߏஙΛߦ͏͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔɻ • ༰қʹςετڥΛߏங͢Δ͜ͱ͕Ͱ͖ɺ MicroservicesԽͨ࣌͠ͷςετ͕Γ͘͢ͳΔ
͓·͚
v0.7.0৽ػೳ • Data Resource • S3ͳͲ֎෦͔ΒΛಡΈࠐΜͰTerraform࣮ߦ͕Մೳ • Importػೳ • ݱࡏͷΠϯϑϥঢ়ଶ͔ΒTerraformͷίʔυΛੜʢtfϑ
ΝΠϧͷΈʣ
AWSͷΠϯϑϥߏஙίʔυԽ͠Α͏ʂ