更新时间:2022-06-08 GMT+08:00

给RDS实例绑定EIP

应用场景

云数据库RDS实例创建成功后,可以绑定弹性公网IP,来实现通过公共网络访问数据库实例。以下教程将指导您如何通过Terraform脚本给RDS实例绑定和解绑弹性公网IP。

实例在创建、变更规格、恢复、重启或冻结状态下不能绑定和解绑弹性公网IP。

操作步骤

  1. 创建MySQL数据库,请参考创建MySQL数据库
  2. 增加安全组规则,允许指定的网络访问RDS实例的端口。

    resource "huaweicloud_networking_secgroup_rule" "allow_rds" {
      direction         = "ingress"
      ethertype         = "IPv4"
      protocol          = "tcp"
      port_range_min    = 3306
      port_range_max    = 3306
      remote_ip_prefix  = var.allow_cidr
      security_group_id = huaweicloud_networking_secgroup.mysecgroup.id
    }

  3. 创建EIP并与RDS实例内网IP进行绑定。

    # 创建EIP
    resource "huaweicloud_vpc_eip" "myeip" {
      publicip {
        type = "5_bgp"
      }
      bandwidth {
        name        = "test"
        size        = 5
        share_type  = "PER"
        charge_mode = "traffic"
      }
    }
    # 查询RDS实例对应的内网网络端口
    data "huaweicloud_networking_port" "rds_port" {
      network_id = huaweicloud_vpc_subnet.mysubnet.id
      fixed_ip   = huaweicloud_rds_instance.myinstance.private_ips[0]
    }
    # 绑定EIP
    resource "huaweicloud_vpc_eip_associate" "associated" {
      public_ip = huaweicloud_vpc_eip.myeip.address
      port_id   = data.huaweicloud_networking_port.rds_port.id
    }
    1. 运行 terraform plan 查看资源。
    2. 确认资源无误后,运行 terraform apply 开始创建。
    3. 运行 terraform show 可以查看已创建的EIP绑定信息。

表1 参数说明

资源名称

参数名称

  

参数说明

huaweicloud_vpc_eip

publicip

type

(必填)IP类型,当前仅5_bgp可选

bandwidth

name

(可选)带宽配置名称

size

(可选)IP带宽,可选值为1~300Mbit/s

share_type

(必填)设置此IP为共享带宽或独享带宽

huaweicloud_networking_port

fixed_ip

(必填)RDS实例的内网IP地址

network_id

(可选)RDS实例所属的子网网络ID

huaweicloud_vpc_eip_associate

public_ip

(必填)EIP的IP地址

port_id

(必填)RDS实例对应的Port的ID