• 如何通过Terraform给辅助网卡绑定EIP

如何通过Terraform给辅助网卡绑定EIP

更新时间:2020-06-05 16:36

概述

本文主要讲述如何通过Terraform给辅助网卡绑定EIP。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

在Terraform模板中创建alicloud_eip_association时,同时指定以下两个参数即可。

instance_type = "NetworkInterface"
instance_id = "[$ID]"

说明:[$ID]指的是辅助网卡的ID。

以下是具体示例:

resource "alicloud_eip" "eip" {
  name = "test_eip"
}

resource "alicloud_vpc" "vpc" {
  name       = "test_vpc"
  cidr_block = "[$IP]"
}

data "alicloud_zones" "default" {
  available_resource_creation = "VSwitch"
}

resource "alicloud_vswitch" "vswitch" {
  name              = "test_vswitch"
  cidr_block        = "[$IP]"
  availability_zone = "${data.alicloud_zones.default.zones.0.id}"
  vpc_id            = "${alicloud_vpc.vpc.id}"
}

resource "alicloud_security_group" "group" {
  name   = "test_sg"
  vpc_id = "${alicloud_vpc.vpc.id}"
}

resource "alicloud_network_interface" "default" {
  name              = "test_eni"
  vswitch_id        = "${alicloud_vswitch.vswitch.id}"
  security_groups   = ["${alicloud_security_group.group.id}"]
  private_ip        = "[$Private_IP]"
  private_ips_count = 1
}

resource "alicloud_eip_association" "default" {
  allocation_id = "${alicloud_eip.eip.id}"
  instance_type = "NetworkInterface"
  instance_id   = "${alicloud_network_interface.default.id}"
}

说明

  • [$IP]指的是cidr_block的地址。
  • [$Private_IP]指的是Private_ip的地址。

适用于

  • 云服务器ECS
  • 弹性公网IP