IaaSの払い出し¶
作業概要の作成¶
作業実施日時 |
2024/04/01 12:00:00 |
作業対象 |
server01(RHEL8) |
作業内容 |
IaaSの払い出し |
作業概要登録¶
オペレーション名 |
実施予定日時 |
---|---|
TF-AzureVM構築 |
2024/04/01 12:00:00 |
Tip
Workspace管理¶
Workspace名 |
備考 |
---|---|
tfe_ws001 |
作業項目の設定¶
Movement名 |
Terraform利用情報 |
---|---|
Workspace |
|
tfe_mov001 |
tfe_ws001 |
Module素材集¶
provider "azurerm" {
features {}
subscription_id = var.subscription_id
client_id = var.client_id
client_secret = var.client_secret
tenant_id = var.tenant_id
}
resource "azurerm_resource_group" "hogehoge" {
name = var.resource_group_name
location = var.location
}
resource "azurerm_resource_group" "hogehoge" {
name = "terraform-ita-test99"
location = var.location
}
/*
resource "azurerm_network_security_group" "hogehoge" {
name =var.security_group
location = azurerm_resource_group.hogehoge.location
resource_group_name = azurerm_resource_group.hogehoge.name
security_rule {
name = "SSH"
priority = 1001
direction = "Inbound"
access = "Allow"
protocol = "Tcp"
source_port_range = "*"
destination_port_range = "22"
source_address_prefix = "*"
destination_address_prefix = "*"
}
security_rule {
name = "HTTP"
priority = 1002
direction = "Inbound"
access = "Allow"
protocol = "Tcp"
source_port_range = "*"
destination_port_range = "80"
source_address_prefix = "*"
destination_address_prefix = "*"
}
}
resource "azurerm_virtual_network" "hogehoge" {
name = var.Vnet_name
address_space = [var.Vnet_address_space]
location = azurerm_resource_group.hogehoge.location
resource_group_name = azurerm_resource_group.hogehoge.name
}
resource "azurerm_subnet" "hogehoge" {
name = var.subnet_name
resource_group_name = azurerm_resource_group.hogehoge.name
virtual_network_name = azurerm_virtual_network.hogehoge.name
address_prefixes = [var.address_prefixes]
}
resource "azurerm_public_ip" "hogehoge" {
count = var.VM_count
name = "${var.public_ip_name}-${count.index}"
location = azurerm_resource_group.hogehoge.location
resource_group_name = azurerm_resource_group.hogehoge.name
allocation_method = var.allocation_method
domain_name_label = "${var.domain_name_label}-${count.index}"
}
resource "azurerm_network_interface" "hogehoge" {
count = var.VM_count
name = "${var.network_interface_name}-${count.index}"
location = azurerm_resource_group.hogehoge.location
resource_group_name = azurerm_resource_group.hogehoge.name
ip_configuration {
name = var.NIC_name
subnet_id = azurerm_subnet.hogehoge.id
private_ip_address_allocation = var.allocation_method
public_ip_address_id = azurerm_public_ip.hogehoge[count.index].id
}
}
resource "azurerm_network_interface_security_group_association" "hogehoge" {
count = var.VM_count
network_interface_id = azurerm_network_interface.hogehoge[count.index].id
network_security_group_id = azurerm_network_security_group.hogehoge.id
}
resource "azurerm_linux_virtual_machine" "hogehoge" {
count = var.VM_count
name = "${var.VM_name}-${count.index}"
resource_group_name = azurerm_resource_group.hogehoge.name
location = azurerm_resource_group.hogehoge.location
size = var.VM_size
admin_username = var.admin_username
network_interface_ids = [azurerm_network_interface.hogehoge[count.index].id]
admin_ssh_key {
username = var.admin_username
public_key = var.ssh_public_key
}
os_disk {
name = "${var.os_disk_name}-${count.index}"
caching = var.caching
storage_account_type = var.storage_account_type
}
source_image_reference {
publisher = var.publisher
offer = var.offer
sku = var.sku
version = var.source_image_version
}
}
*/
variable "subscription_id" {}
variable "tenant_id" {}
variable "client_id" {}
variable "client_secret" {}
variable "resource_group_name" {}
variable "location" {}
/*
variable "security_group" {}
variable "Vnet_name" {}
variable "Vnet_address_space" {}
variable "subnet_name" {}
variable "address_prefixes" {}
variable "public_ip_name" {}
variable "allocation_method" {}
variable "domain_name_label" {}
variable "network_interface_name" {}
variable "NIC_name" {}
variable "VM_name" {}
variable "VM_size" {}
variable "publisher" {}
variable "offer" {}
variable "sku" {}
variable "source_image_version" {}
variable "admin_username" {}
variable "ssh_public_key" {}
variable "os_disk_name" {}
variable "caching" {}
variable "storage_account_type" {}
variable "VM_count" {}
*/
Module素材名 |
Module素材 |
---|---|
variables |
variables.tf |
main |
main.tf |
Movement-Module紐付¶
Movement名 |
Module素材 |
---|---|
tfe_mov001 |
main |
tfe_mov001 |
variables |
パラメータシートの作成¶
グループ |
Azure認証情報 |
Azure認証情報 |
Azure認証情報 |
Azure認証情報 |
ターゲット |
ターゲット |
---|---|---|---|---|---|---|
設定項目 |
項目1設定値 |
項目2設定値 |
項目3設定値 |
項目4設定値 |
項目5設定値 |
項目6設定値 |
項目の名前 |
サブスクリプションID |
テナントID |
クライアントID |
クライアントシークレット |
リソースグループ名 |
ロケーション |
項目の名前(Rest API用) |
subscription_id |
tenant_id |
client_id |
client_secret |
resource_group_name |
location |
入力方式 |
文字列(単一行) |
文字列(単一行) |
文字列(単一行) |
パスワード |
文字列(単一行) |
文字列(単一行) |
最大バイト数 |
128 |
128 |
128 |
128 |
128 |
128 |
正規表現 |
||||||
初期値 |
||||||
必須 |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
一意制約 |
||||||
説明 |
||||||
備考 |
設定項目 |
設定値 |
---|---|
項番 |
(自動入力) |
メニュー名 |
Azureパラメータ |
メニュー名(REST) |
azure_parameters |
作成対象 |
パラメータシート(オペレーションあり) |
表示順序 |
1 |
バンドル利用 |
「利用する」にチェックを入れない(無効) |
最終更新日時 |
(自動入力) |
最終更新者 |
(自動入力) |
パラメータシートの項目と Moduleファイル の変数の紐付け¶
パラメータシート(From) |
登録方式 |
Movement名 |
IaC変数(To) |
|
---|---|---|---|---|
メニューグループ:メニュー:項目 |
Movement名:変数名 |
HCL設定 |
||
代入値自動登録用:Azureパラメータ/ターゲット/リソースグループ名 |
Value型 |
tfe_mov001 |
tfe_mov001:resource_group_name |
False |
代入値自動登録用:Azureパラメータ/ターゲット/ロケーション |
Value型 |
tfe_mov001 |
tfe_mov001:location |
False |
代入値自動登録用:Azureパラメータ/認証情報/クライアントID |
Value型 |
tfe_mov001 |
tfe_mov001:client_id |
False |
代入値自動登録用:Azureパラメータ/認証情報/クライアントシークレット |
Value型 |
tfe_mov001 |
tfe_mov001:client_secret |
False |
代入値自動登録用:Azureパラメータ/認証情報/サブスクリプションID |
Value型 |
tfe_mov001 |
tfe_mov001:subscription_id |
False |
代入値自動登録用:Azureパラメータ/認証情報/テナントID |
Value型 |
tfe_mov001 |
tfe_mov001:tenant_id |
False |
作業実施¶
パラメータ設定¶
オペレーション |
パラメータ |
|||||
---|---|---|---|---|---|---|
Azure認証情報 |
Azure認証情報 |
Azure認証情報 |
Azure認証情報 |
ターゲット |
ターゲット |
|
オペレーション名 |
サブスクリプションID |
テナントID |
クライアントID |
クライアントシークレット |
リソースグループ名 |
ロケーション |
TF-AzureVM構築 |
※任意のサブスクリプションID |
※任意のテナントID |
※任意のクライアントID |
※任意のクライアントシークレット |
※任意のリソースグループ名 |
※任意のロケーション |
作業実行¶
作業実行
作業実行 を押下します。から、tfe_mov001 Movement を選択し、次に、選択決定 を押下します。で、オペレーションに TF-AzureVM構築 を選択し画面が開き、実行が完了した後に、ステータスが「完了」になったことを確認します。
実行後作業
から、tfe_ws001 Workspace を選択し、リソース削除 を押下します。