SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
Terraform始めました
@w1mvy
XFLAG™スタジオ
自己紹介
2
自己紹介
• 新卒4年目
• XFLAGスタジオサーバエンジニア
• テラフォーマーズではミッシェルさん推し
• 最近結婚しました
3
4
Terraform
5
Terraform触ってる人ー?
6
手を挙げた人数によっては
この後やり辛い
7
改めて
8
Terraform始めました
9
Terraformとは
10
Terraformとは
• コードでのインフラリソースの定義、管理
• dry-run機能による、変更内容の確認
• コマンド適用による、人的ミスを減少
• AWS, GCP, DigitalOcean, Heroku, Azure に対
応
11
サンプル
12
sample.tf
provider "aws" {
access_key = “access_key”
secret_key = “secret_key”
region = “ap-northeast-1“
}
resource "aws_instance" "sample" {
ami = "ami-a31f27cd"
instance_type = "t1.micro"
tags {
Name = "sample"
}
}
13
terraform plan
+ aws_instance.sample
ami: "" => "ami-a31f27cd"
availability_zone: "" => "<computed>"
ebs_block_device.#: "" => "<computed>"
ephemeral_block_device.#: "" => "<computed>"
instance_type: "" => "t2.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: "" => "sample"
tenancy: "" => "<computed>"
vpc_security_group_ids.#: "" => "<computed>"
Plan: 1 to add, 0 to change, 0 to destroy.
14
terraform apply
aws_instance.sample: Creating...
ami: "" => "ami-a31f27cd"
availability_zone: "" => "<computed>"
ebs_block_device.#: "" => "<computed>"
ephemeral_block_device.#: "" => "<computed>"
instance_type: "" => "t2.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: "" => "sample"
tenancy: "" => "<computed>"
vpc_security_group_ids.#: "" => "<computed>"
aws_instance.sample: Creation complete
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
15
terraform.tfstate
{
"version": 1,
"serial": 1,
"modules": [
{
"path": [
"root"
],
"outputs": {},
"resources": {
"aws_instance.sample": {
"type": "aws_instance",
"primary": {
"id": "i-69e4cecc",
"attributes": {
"ami": "ami-a31f27cd",
"availability_zone": "ap-northeast-1a",
….略…..
"private_ip": "172.31.21.24",
"tags.Name": "sample"
},
"meta": {
"schema_version": "1"
}
}
}
}
}
]
}
16
terraform plan -destroy
• f
Refreshing Terraform state prior to plan...
aws_instance.sample: Refreshing state... (ID: i-69e4cecc)
The Terraform execution plan has been generated and is shown below.
Resources are shown in alphabetical order for quick scanning. Green resources
will be created (or destroyed and then created if an existing resource
exists), yellow resources are being changed in-place, and red resources
will be destroyed.
Note: You didn't specify an "-out" parameter to save this plan, so when
"apply" is called, Terraform can't guarantee this is what will execute.
- aws_instance.sample
Plan: 0 to add, 0 to change, 1 to destroy.
17
terraform destroy
Do you really want to destroy?
Terraform will delete all your managed infrastructure.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
aws_instance.sample: Refreshing state... (ID: i-69e4cecc)
aws_instance.sample: Destroying...
aws_instance.sample: Destruction complete
Apply complete! Resources: 0 added, 0 changed, 1 destroyed.
18
簡単!
19
Terraform導入にいたる経緯
20
AWS Management Console
• 愚直にポチポチする
• ただポチポチする
21
社内ツール
• aws-cliのラッパー
• yamlファイルを元にec2 instanceを生成する
• Route53などはやはりManagementConsole
22
不便…
• Route53などセンシティブな箇所は二人体制
で確認しながら作業
• 履歴が残らないため、不要なリソースの判断
が難しい
• ManagementConsoleでの操作ミスを無くし
たい
23
そんなところに新規PJ
24
そうだTerraformだ
25
Terraformに決めた理由
• 先程の不便点を解決できる
• AWS以外も扱える
• プロダクト自体の活発さ
26
構成&フロー
27
差分
28
差分
PullRequest
hook
29
差分
state file
30
PullRequest
hook
差分
plan
state file
31
PullRequest
hook
差分
plan
PullRequest
merge hook
state file
32
PullRequest
hook
差分
plan
state file
state file
33
PullRequest
hook
PullRequest
merge hook
差分
plan
state file
state file
34
PullRequest
hook
PullRequest
merge hook
差分
plan
state file
state file
35
PullRequest
hook
PullRequest
merge hook
差分
plan
state file
state file
36
PullRequest
hook
PullRequest
merge hook
リポジトリ構成
37
1.プロダクト用リポジトリ
38
プロダクト用リポジトリ
• 環境毎のtfファイル(production.tf, staging.tf…)
• 各環境のリソースなどの定義
• main.tf
• 各環境で跨いで利用するリソース(Jenkinsなど)の定義など
• variables.tf
• key, secret, ami定義
39
2.モジュール用リポジトリ
40
Terraform module
41
Terraform module
• 再利用可能なコンポーネントの定義
• 例 )
• redis用に6379 port を許可する sg定義
• 80 portを受け入れるelb定義
• github.com/terraform-community-modules
42
sampleモジュール作成
.
└── sample
└── main.tf
#main.tf
provider "aws" {
region = “ap-northeast-1“
}
resource "aws_instance" "sample" {
ami = "ami-a31f27cd"
instance_type = "t1.micro"
tags {
Name = "sample"
}
}
43
sampleモジュール利用
module "sample" {
source = "./sample"
}
# もちろんgithub上のモジュール指定も可能
module "sg_web" {
source = "github.com/terraform-community-modules/
tf_aws_sg//sg_web"
}
44
terraform plan
+ module.sample
1 resource(s)
Plan: 1 to add, 0 to change, 0 to destroy.
45
terraform plan -module-depth=1
+ module.sample.aws_instance.sample
ami: "" => "ami-a31f27cd"
availability_zone: "" => "<computed>"
ebs_block_device.#: "" => "<computed>"
ephemeral_block_device.#: "" => "<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: "" => "sample"
tenancy: "" => "<computed>"
vpc_security_group_ids.#: "" => "<computed>"
Plan: 1 to add, 0 to change, 0 to destroy.
46
モジュール用リポジトリ
• sg
• 社内httpアクセス用, github hook用 など
• elb
• http用, https用 など
• これらをプロダクト用リポジトリにて利用
47
ハマった箇所
48
planコマンドの結果
• planは通るけどapplyが失敗する
• 例: 同じ名前のsecurity groupを複数定義
• 実際には同じ名前のsgは定義できないためapply
時に失敗する
• => プロバイダ側の細かい箇所は見てくれない
49
stateファイルの管理
• 手元でテストを行っており、それで作成され
たstateファイルをremote pushしてしまった
• 開発環境作り直し
• 開発環境だけで済んだ
• -> 実行はCIに任せる
50
moduleの更新
• module側を更新する度に、module利用箇所
が全て影響を受ける
• この環境だけ先に適用したい
• -> moduleを利用する際には “ref” を指定する
51
terraformのリソース名変更
• リソース名変更 = 破棄/作成
• 一度作成したリソース名の変更が難しい
• tfstateファイルを直接書き換えれば対処可能
resource “TYPE” “NAME” {
any_parameters
}
52
増えるamiの定義
• 作りなおす度に増えるami定義
• 古いのも使ってるし消せない
variable base_ami {
description = "EC2 instance base AMI"
default = "ami-1"
}
variable base_ami_2 {
description = "EC2 instance base AMI, created 2015-11-05"
default = "ami-2"
}
variable base_ami_3 {
description = "EC2 instance base AMI, created 2015-12-07"
default = "ami-3"
}
…. 53
増えるamiの定義
• 現状。まだマシ、という程度
variable base_amis {
description = "EC2 instance base AMIs"
default = {
version_1 = "ami-version1"
version_2 = "ami-version2"
version_3 = "ami-version3"
version_4 = “ami-version4"
…
}
}
54
Terraformを導入して
よかったところ
55
Terraformを導入して
• コードで記述できることによって、
PullRequest&Reviewのレールに乗れる
• PullRequestによって、そのリソースの用途が
把握できる
• 環境一式のリソース作成が簡単
56
最後に
57
皆様
探り探りテラフォーミング
していきましょう!!
58

Weitere ähnliche Inhalte

Was ist angesagt?

Programming Hive Reading #3
Programming Hive Reading #3Programming Hive Reading #3
Programming Hive Reading #3moai kids
 
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみたADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみたNarami Kiyokura
 
Ansible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれからAnsible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれからTakeshi Kuramochi
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)Takeshi Mikami
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002Takeshi Kuramochi
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium MobileNaoya Ito
 
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTNorikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTMasahiro Nagano
 
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016Kohei Hoshi
 
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話Masahito Zembutsu
 
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題Masahiro Nagano
 
"Programming Hive" Reading #1
"Programming Hive" Reading #1"Programming Hive" Reading #1
"Programming Hive" Reading #1moai kids
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Jun Ohtani
 
CMSとPerlで遊ぼう
CMSとPerlで遊ぼうCMSとPerlで遊ぼう
CMSとPerlで遊ぼうDaiki Ichinose
 
about Thrift
about Thriftabout Thrift
about ThriftNaoya Ito
 
Zabbixを2分でインストール
Zabbixを2分でインストールZabbixを2分でインストール
Zabbixを2分でインストール真乙 九龍
 
RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会Nao Minami
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Taro Hirose
 

Was ist angesagt? (20)

Programming Hive Reading #3
Programming Hive Reading #3Programming Hive Reading #3
Programming Hive Reading #3
 
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみたADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
 
Ansible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれからAnsible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれから
 
Using Windows Azure
Using Windows AzureUsing Windows Azure
Using Windows Azure
 
ZabbixとAWS
ZabbixとAWSZabbixとAWS
ZabbixとAWS
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
 
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTNorikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
 
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
 
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
 
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
 
実践Realm
実践Realm実践Realm
実践Realm
 
"Programming Hive" Reading #1
"Programming Hive" Reading #1"Programming Hive" Reading #1
"Programming Hive" Reading #1
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207
 
CMSとPerlで遊ぼう
CMSとPerlで遊ぼうCMSとPerlで遊ぼう
CMSとPerlで遊ぼう
 
about Thrift
about Thriftabout Thrift
about Thrift
 
Zabbixを2分でインストール
Zabbixを2分でインストールZabbixを2分でインストール
Zabbixを2分でインストール
 
RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
 

Andere mochten auch

elixirを使ったゲームサーバ
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバHidetaka Kojo
 
2017冬の開発合宿vrオンラインゲーム
2017冬の開発合宿vrオンラインゲーム2017冬の開発合宿vrオンラインゲーム
2017冬の開発合宿vrオンラインゲームSyo Igarashi
 
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情スマートフォンゲームのチート事情
スマートフォンゲームのチート事情直生 亀山
 
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋Takuya Ueda
 
私なりのGo言語のご紹介
私なりのGo言語のご紹介私なりのGo言語のご紹介
私なりのGo言語のご紹介Ryuji Iwata
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いたAkihiro Kuwano
 
【初心者向け】Go言語勉強会資料
 【初心者向け】Go言語勉強会資料 【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料Yuji Otani
 

Andere mochten auch (9)

elixirを使ったゲームサーバ
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバ
 
Windsor castle
Windsor castleWindsor castle
Windsor castle
 
2017冬の開発合宿vrオンラインゲーム
2017冬の開発合宿vrオンラインゲーム2017冬の開発合宿vrオンラインゲーム
2017冬の開発合宿vrオンラインゲーム
 
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情スマートフォンゲームのチート事情
スマートフォンゲームのチート事情
 
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋
 
私なりのGo言語のご紹介
私なりのGo言語のご紹介私なりのGo言語のご紹介
私なりのGo言語のご紹介
 
Go言語オーバービュー201507
Go言語オーバービュー201507Go言語オーバービュー201507
Go言語オーバービュー201507
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
 
【初心者向け】Go言語勉強会資料
 【初心者向け】Go言語勉強会資料 【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
 

Ähnlich wie Terraform始めました

Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊Toru Makabe
 
mxnetで頑張る深層学習
mxnetで頑張る深層学習mxnetで頑張る深層学習
mxnetで頑張る深層学習Takashi Kitano
 
ZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツShinsukeYokota
 
Scalamacrosについて
ScalamacrosについてScalamacrosについて
Scalamacrosについてdekosuke
 
第3回BDD勉強会
第3回BDD勉強会第3回BDD勉強会
第3回BDD勉強会zakihaya
 
Building andobservingcloudnativeappliactionusingazure elastic-terraform
Building andobservingcloudnativeappliactionusingazure elastic-terraformBuilding andobservingcloudnativeappliactionusingazure elastic-terraform
Building andobservingcloudnativeappliactionusingazure elastic-terraformShotaro Suzuki
 
ParamTuner 東京Node学園#8
ParamTuner 東京Node学園#8 ParamTuner 東京Node学園#8
ParamTuner 東京Node学園#8 Daichi Morifuji
 
Terraformを使ったCloudStack環境構築
Terraformを使ったCloudStack環境構築Terraformを使ったCloudStack環境構築
Terraformを使ったCloudStack環境構築Atsushi Sasaki
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発Mitsuru Katoh
 
Kobe.R #15 - Incanter チョットシッテル
Kobe.R #15 - Incanter チョットシッテルKobe.R #15 - Incanter チョットシッテル
Kobe.R #15 - Incanter チョットシッテルtnoda
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2Masao Kato
 
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門icchy
 
OpenStack Trove 技術解説
OpenStack Trove 技術解説OpenStack Trove 技術解説
OpenStack Trove 技術解説Toru Makabe
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)icchy
 
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DFlashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DKatsushi Suzuki
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタートShumpei Shiraishi
 
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTerraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTakahisa Iwamoto
 

Ähnlich wie Terraform始めました (20)

Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊
 
hscj2019_ishizaki_public
hscj2019_ishizaki_publichscj2019_ishizaki_public
hscj2019_ishizaki_public
 
mxnetで頑張る深層学習
mxnetで頑張る深層学習mxnetで頑張る深層学習
mxnetで頑張る深層学習
 
ALPSチュートリアル(3) アプリケーション実習
ALPSチュートリアル(3) アプリケーション実習ALPSチュートリアル(3) アプリケーション実習
ALPSチュートリアル(3) アプリケーション実習
 
20121215 DevLOVE2012 Mahout on AWS
20121215 DevLOVE2012 Mahout on AWS20121215 DevLOVE2012 Mahout on AWS
20121215 DevLOVE2012 Mahout on AWS
 
ZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツ
 
Scalamacrosについて
ScalamacrosについてScalamacrosについて
Scalamacrosについて
 
第3回BDD勉強会
第3回BDD勉強会第3回BDD勉強会
第3回BDD勉強会
 
Building andobservingcloudnativeappliactionusingazure elastic-terraform
Building andobservingcloudnativeappliactionusingazure elastic-terraformBuilding andobservingcloudnativeappliactionusingazure elastic-terraform
Building andobservingcloudnativeappliactionusingazure elastic-terraform
 
ParamTuner 東京Node学園#8
ParamTuner 東京Node学園#8 ParamTuner 東京Node学園#8
ParamTuner 東京Node学園#8
 
Terraformを使ったCloudStack環境構築
Terraformを使ったCloudStack環境構築Terraformを使ったCloudStack環境構築
Terraformを使ったCloudStack環境構築
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
 
Kobe.R #15 - Incanter チョットシッテル
Kobe.R #15 - Incanter チョットシッテルKobe.R #15 - Incanter チョットシッテル
Kobe.R #15 - Incanter チョットシッテル
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
 
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門
 
OpenStack Trove 技術解説
OpenStack Trove 技術解説OpenStack Trove 技術解説
OpenStack Trove 技術解説
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
 
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DFlashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタート
 
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTerraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as Code
 

Terraform始めました