2-创建一台阿里云ECS并绑定EIP
通常情况下,创建服务器的时候不会直接用公网IP,都是先创建服务器,然后再创建弹性IP,再把弹性IP绑定到服务器上。
直接上配置
terraform {
required_providers {
alicloud = {
source = "aliyun/alicloud"
version = ">= 1.200.0"
}
}
required_version = ">= 1.1.0"
}
provider "alicloud" {
region = "cn-beijing"
access_key = "LTAI5tHoKTbsrygyj11bh"
secret_key = "VM3BioB6DzgESQ0sd6eB0bTlz"
}
# 创建 ECS 实例(不分配公网IP)
resource "alicloud_instance" "my_ecs_3" { # 这里的my_ecs_3是Terraform 内部的资源标识符,用于 Terraform 配置文件中引用该资源
instance_name = "my-ecs-3" # 这是阿里云 ECS 的 真实实例名称,会显示在阿里云控制台。
image_id = "ubuntu_24_04_x64_20G_alibase_20250722.vhd"
instance_type = "ecs.t5-lc1m1.small"
security_groups = ["sg-2zegke7sqqv0vqv7kb5y"]
vswitch_id = "vsw-2zeo9oxtwaa2rvjw9lpz6"
internet_max_bandwidth_out = 0 # 不分配公网IP
}
# 创建弹性公网IP
resource "alicloud_eip" "my_eip" {
bandwidth = 5
internet_charge_type = "PayByTraffic"
}
# 关联EIP到ECS
resource "alicloud_eip_association" "my_eip_assoc" {
instance_id = alicloud_instance.my_ecs_3.id
allocation_id = alicloud_eip.my_eip.id
}
# 输出 ECS 私网 IP
output "ecs_private_ip" {
value = alicloud_instance.my_ecs_3.private_ip
}
# 输出 ECS 公网 IP(EIP)
output "ecs_public_ip" {
value = alicloud_eip.my_eip.ip_address
}