OCI インスタンスにエフェメラルIPアドレスをTerraformで付与してみた
数か月前にOCIのインスタンスにエフェメラルIPアドレスを付与してみたけど改めて備忘録として残そうと思います。
Terraformコンフィグ
/* サーバ */ resource "oci_core_instance" "instance9" { availability_domain = "${data.oci_identity_availability_domain.ad1.name}" compartment_id = "${var.compartment}" display_name = "TESTSERVER" shape = "${var.instance-shape1}" create_vnic_details { assign_public_ip = false subnet_id = "${oci_core_subnet.subnet1.id}" nsg_ids = ["${oci_core_network_security_group.sg_web1.id}"] } source_details { source_type = "image" source_id = "${var.instance-image-win2019-ocid[var.EC-region]}" } shape_config { ocpus = "1" } } /* サーバ の Private IP を指定して予約済 Public IP を割り当てる */ resource "oci_core_public_ip" "ephemeral_public_ip_assigned3" { compartment_id = "${var.compartment}" lifetime = "RESERVED" display_name = "testserver_assined" private_ip_id = "${lookup(data.oci_core_private_ips.instance_private_ips2.private_ips[0], "id")}" } /* サーバ の VNIC 一覧を取得する */ data "oci_core_vnic_attachments" "instance_vnics2" { compartment_id = "${var.compartment}" instance_id = "${oci_core_instance.instance9.id}" } /* サーバ の VNIC 一覧からプライマリ VNIC を取得する */ data "oci_core_vnic" "instance_primary_vnic2" { vnic_id = "${lookup(data.oci_core_vnic_attachments.instance_vnics2.vnic_attachments[0], "vnic_id")}" } /* サーバ のプライマリ VNIC に割り当てられている Private IP を取得する */ data "oci_core_private_ips" "instance_private_ips2" { vnic_id = "${data.oci_core_vnic.instance_primary_vnic2.id}" }