Terraform
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-各種クラウド環境構築
*インストール [#le51ac25]
**CentOS7 [#z3c691f0]
centos7でjqが入っていればワンライナーでいけた
sudo echo ; zcat <( CURRR_VER=$(curl -s https://checkpoi...
**Ubuntu [#xa2e8bec]
**Windows [#q9bc99fb]
*バージョン切り替え [#iecc6d66]
-tfenvという他と似た様な仕組みがあった。
install: brew install tfenv
tfenv list-remote
tfenv install 0.12.26
tfenv use 0.12.26
*tfファイル [#p0c7777f]
純粋なjsonではないが、ネストが浅くなるので読みやすい。
|iam.tf|
|main.tf|
*リストやmapなどからリソース生成 [#o3c1aa91]
-terraform公式 翻訳
https://pocketstudio.net/2018/07/13/hashicorp-terraform-0...
https://dev.classmethod.jp/articles/terraform-0-12-new-fe...
variable "ipset" {
type = list(string)
default = ["113.42.16.83/32", "192.168.11.151/32"]
}
# IP Set
resource "aws_waf_ipset" "ipset" {
name = "${var.env}IPSet"
dynamic "ip_set_descriptors" {
for_each = var.ipset
content {
type = "IPV4"
value = ip_set_descriptors.value
}
}
}
*template [#h0c17489]
巨大なresourceを必要とする場合は、ファイルの一部を別に切...
https://github.com/terraform-community-modules/tf_aws_ecs...
*既存環境からimportする [#b8767f6a]
1. 接続情報と対象のリソースファイルを作成して、terraform ...
resource "aws_vpc" "default-vpc" {
# からにしておく
}
provider "aws" {
version = "~>2.0"
region = "ap-northeast-1"
# IAM profile
profile = "YOUR_IAM_PROFILE"
}
2. importコマンド実施すると、tfstateファイルに現在の状況...
terraform init
terraform import aws_vpc.default-vpc vpc-a01106c2
3.現在のリソース状況を確認しながら変数の値を埋めていく!
terraform state show aws_vpc.default-vpc
4. terraform planして変更がないことを確認する
*関連ツール [#s0952260]
-terraforming
既存リソースをリバースエンジニアリングだが、terraform imp...
*data source [#leb0306f]
サンプルで間違って引っかかるが、dataはresource作成に当た...
-グループの情報を取得したい時は以下のように定義しておく
data "aws_iam_group" "example" {
group_name = "取得したいgroup名"
}
-その値を利用したい時に以下のように使う
${data.aws_iam_group.example.arn}
*ループ処理 [#bf31ee69]
https://qiita.com/ringo/items/875f08ec550f0826f0dc
*基本コマンド [#uea144bc]
|terraform fmt|カレントディレクトリのtfファイルをフォーマ...
|init|ワークスペースを初期化|
|play|実行するとどのような状態になるかを表示|
|apply|実施|
|destroy|削除|
|show|現在の状態を表示|
|terraform apply -target=module.ec2_1|モジュール指定で実行|
|terraform plan -target=aws_lambda_layer_version.lambda_l...
-DEBUG
OS_DEBUG=1 TF_LOG=DEBUG terraform apply
**conoha [#u25dfcb7]
-サンプルが間違いだらけ!!
provider "openstack" {
user_name = "CONOHA_USER"
password = "CONOHA_PW"
tenant_id = "自分のテナントID"
auth_url = "https://identity.tyo1.conoha.io/v2.0" #...
}
決めるのはimage_name,flavor_name
**aws [#vc624a23]
終了行:
-各種クラウド環境構築
*インストール [#le51ac25]
**CentOS7 [#z3c691f0]
centos7でjqが入っていればワンライナーでいけた
sudo echo ; zcat <( CURRR_VER=$(curl -s https://checkpoi...
**Ubuntu [#xa2e8bec]
**Windows [#q9bc99fb]
*バージョン切り替え [#iecc6d66]
-tfenvという他と似た様な仕組みがあった。
install: brew install tfenv
tfenv list-remote
tfenv install 0.12.26
tfenv use 0.12.26
*tfファイル [#p0c7777f]
純粋なjsonではないが、ネストが浅くなるので読みやすい。
|iam.tf|
|main.tf|
*リストやmapなどからリソース生成 [#o3c1aa91]
-terraform公式 翻訳
https://pocketstudio.net/2018/07/13/hashicorp-terraform-0...
https://dev.classmethod.jp/articles/terraform-0-12-new-fe...
variable "ipset" {
type = list(string)
default = ["113.42.16.83/32", "192.168.11.151/32"]
}
# IP Set
resource "aws_waf_ipset" "ipset" {
name = "${var.env}IPSet"
dynamic "ip_set_descriptors" {
for_each = var.ipset
content {
type = "IPV4"
value = ip_set_descriptors.value
}
}
}
*template [#h0c17489]
巨大なresourceを必要とする場合は、ファイルの一部を別に切...
https://github.com/terraform-community-modules/tf_aws_ecs...
*既存環境からimportする [#b8767f6a]
1. 接続情報と対象のリソースファイルを作成して、terraform ...
resource "aws_vpc" "default-vpc" {
# からにしておく
}
provider "aws" {
version = "~>2.0"
region = "ap-northeast-1"
# IAM profile
profile = "YOUR_IAM_PROFILE"
}
2. importコマンド実施すると、tfstateファイルに現在の状況...
terraform init
terraform import aws_vpc.default-vpc vpc-a01106c2
3.現在のリソース状況を確認しながら変数の値を埋めていく!
terraform state show aws_vpc.default-vpc
4. terraform planして変更がないことを確認する
*関連ツール [#s0952260]
-terraforming
既存リソースをリバースエンジニアリングだが、terraform imp...
*data source [#leb0306f]
サンプルで間違って引っかかるが、dataはresource作成に当た...
-グループの情報を取得したい時は以下のように定義しておく
data "aws_iam_group" "example" {
group_name = "取得したいgroup名"
}
-その値を利用したい時に以下のように使う
${data.aws_iam_group.example.arn}
*ループ処理 [#bf31ee69]
https://qiita.com/ringo/items/875f08ec550f0826f0dc
*基本コマンド [#uea144bc]
|terraform fmt|カレントディレクトリのtfファイルをフォーマ...
|init|ワークスペースを初期化|
|play|実行するとどのような状態になるかを表示|
|apply|実施|
|destroy|削除|
|show|現在の状態を表示|
|terraform apply -target=module.ec2_1|モジュール指定で実行|
|terraform plan -target=aws_lambda_layer_version.lambda_l...
-DEBUG
OS_DEBUG=1 TF_LOG=DEBUG terraform apply
**conoha [#u25dfcb7]
-サンプルが間違いだらけ!!
provider "openstack" {
user_name = "CONOHA_USER"
password = "CONOHA_PW"
tenant_id = "自分のテナントID"
auth_url = "https://identity.tyo1.conoha.io/v2.0" #...
}
決めるのはimage_name,flavor_name
**aws [#vc624a23]
ページ名: