给RDS实例绑定EIP
应用场景
云数据库RDS实例创建成功后,可以绑定弹性公网IP,来实现通过公共网络访问数据库实例。以下教程将指导您如何通过Terraform脚本给RDS实例绑定和解绑弹性公网IP。
实例在创建、变更规格、恢复、重启或冻结状态下不能绑定和解绑弹性公网IP。
操作步骤
- 创建MySQL数据库,请参考创建MySQL数据库。
- 增加安全组规则,允许指定的网络访问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 }
- 创建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 }
- 运行 terraform plan 查看资源。
- 确认资源无误后,运行 terraform apply 开始创建。
- 运行 terraform show 可以查看已创建的EIP绑定信息。
资源名称 |
参数名称 |
参数说明 |
|
---|---|---|---|
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 |