はじめに
OCIのリソース・マネージャはマネージドのTerraformです。
前回はMACにTerraformをインストールしてOCIのCompute Instanceを作成しましたが、今回は同様のことをリソース・マネージャを利用して作成します。
スタックの作成
リソース・マネージャではTerraformの構成をスタックとして作成、管理します。
まずはこのスタックを作成します。
スタックの作成には色々な方法がありますが、今回はOCIのコンソールから作成します。
コンピュート -> インスタンス -> インスタンスの作成からインスタンスの作成画面を開きます。
シェイプやCPU/memoryなどを指定して、スタックとして保存をクリックします。
リソース・マネージャのスタックの作成に移動しますので、次をクリック
特に設定する項目がないので、次をクリック
作成をクリック
スタックができました。
計画
通常のTerraformと同様に実行計画を作成します。
スタックの画面で計画をクリックし、この画面で計画をクリック
しばらく待って、状態が成功になれば完了です。
コンソール上でログが確認できますし、ログのダウンロードをクリックすると、ログがダウンロードできます。
適用
スタックの画面から適用をクリックします。
しばらく待って成功になれば完了です。
インスタンスがプロビジョニングされていることを確認します。
また、Terraform構成のダウンロードをクリックすると、ZIP形式でダウンロードできます。
解凍すると、今回使用したTerraformの構成が確認できます。
provider "oci" {}
resource "oci_core_instance" "generated_oci_core_instance" {
agent_config {
is_management_disabled = "false"
is_monitoring_disabled = "false"
plugins_config {
desired_state = "DISABLED"
name = "Vulnerability Scanning"
}
plugins_config {
desired_state = "DISABLED"
name = "Oracle Java Management Service"
}
plugins_config {
desired_state = "ENABLED"
name = "OS Management Service Agent"
}
plugins_config {
desired_state = "DISABLED"
name = "Management Agent"
}
plugins_config {
desired_state = "ENABLED"
name = "Custom Logs Monitoring"
}
plugins_config {
desired_state = "ENABLED"
name = "Compute Instance Run Command"
}
plugins_config {
desired_state = "ENABLED"
name = "Compute Instance Monitoring"
}
plugins_config {
desired_state = "DISABLED"
name = "Block Volume Management"
}
plugins_config {
desired_state = "DISABLED"
name = "Bastion"
}
}
availability_config {
recovery_action = "RESTORE_INSTANCE"
}
availability_domain = "TGjA:AP-OSAKA-1-AD-1"
compartment_id = "ocid1.compartment.oc1..aaaaaaaamyemvazvbgl42xxxxxxxxxxxxxxxxxxxxxx"
create_vnic_details {
assign_private_dns_record = "true"
assign_public_ip = "true"
subnet_id = "ocid1.subnet.oc1.ap-osaka-1.aaaaaaaalxloahnjjxybovqol6mxxxxxxxxxxxxxxxxxxxxxx"
}
display_name = "ol-instance-20230415"
instance_options {
are_legacy_imds_endpoints_disabled = "false"
}
metadata = {
"ssh_authorized_keys" = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChiyKxOXc6N56ZEty/C8e/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx tf-ssh.key"
}
shape = "VM.Standard.E4.Flex"
shape_config {
baseline_ocpu_utilization = "BASELINE_1_1"
memory_in_gbs = "8"
ocpus = "1"
}
source_details {
source_id = "ocid1.image.oc1.ap-osaka-1.aaaaaaaaprjpeoyjeuqos3cxxxxxxxxxxxxxxxxxxxxxx"
source_type = "image"
}
}
破棄
スタックの画面で破棄をクリックすると、インスタンスを削除できます。
インスタンス一つ作るだけだったら、リソース・マネージャ使わない方が早いですが、マネージドなTerraformだと自分でTFファイルを準備しないでいいのが楽で良いですね。










