Terraform创建阿里云基础组件资源

news2025/5/24 10:13:57
这里首先要找到阿里云的官方使用说明:

中文版:Terraform(Terraform)-阿里云帮助中心

英文版:Terraform Registry

各自创建一个阿里云的RAM子账号,并给与OPAPI的调用权限,(就是有aksk,生成好之后保存下.)

创建路径:

登陆阿里云主账号-->控制台-->右上角企业-->人员权限管理--用户--创建用户

创建好之后会让你保存csv格式的aksk.保存下来备用
配置本地环境变量配置方法参见,或者直接写到代码中(不太安全)
给子账号授权

这里授权的权限是ecs与vpc的所有权限.根据个人需求自定义.

Terraform本地windows部署-CSDN博客

如果使用vscode这类编辑工具的话可以直接使用如下方式定义本地环境变量.
export ALICLOUD_ACCESS_KEY="<yourAccessKeyID>"
export ALICLOUD_SECRET_KEY="<yourAccessKeySecret>"
export ALICLOUD_REGION="cn-beijing"
终于环境变量如何引用后面会提.
创建资源所需文件
创建main.tf文件

这里说明一下,其中有三个注释项目,就是上面设置的三个环境变量,这里如果不填入,或者直接注释掉系统就自动会从环境变量中调用.调用的位置只有这里,其他位置不需要额外配置调用内容,

#main.tf

#这里原本可以用来指定阿里云上创建大好的AKSK以及地域信息.这里因为使用了环境变量的形式,所以就给注释掉了.
provider "alicloud" {
  # access_key = var.alicloud_access_key
  # secret_key = var.alicloud_secret_key
  # region     = var.region
}

------------------
#创建安全组相关信息
resource "alicloud_security_group" "default" {
  security_group_name = "terraform-example"    #安全组名字
  vpc_id              = alicloud_vpc.default.id    #关联的vpc的id号码
  security_group_type = "normal"    #安全组类型是普通类型,还有企业类型的这里没设置.需要的话另说.
}


resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
  count = length(var.tcp_rules)    #动态创建多条规则时使用,同时定义多个端口号count统计所有端口号的总和,   
  type              = "ingress"    #入方向ingress,出方向egress
  ip_protocol       = "tcp"        #tcp协议
  nic_type          = "intranet"   #网络类型,这里表示内网规则internet表示外网,这里是内网
  policy            = "accept"     #表示允许流量通过,drop表示禁止流量通过
  port_range        = var.tcp_rules[count.index]    #配置端口范围,这里因为是配置了多个端口,所以使用了一个列表+下标索引进行配置,
  priority          = 1    #流量进出优先级,范围是i1-100,数值越小优先级越高.
  security_group_id = alicloud_security_group.default.id    #安全组id,用来关联这一大段规则属于哪个安全组,
  cidr_ip           = "0.0.0.0/0"    #允许IP访问范围.
}

#出网流量.这里不做解释.跟上面的入网条目类似,区别在于

resource "alicloud_security_group_rule" "allow_all_tcp_egress" {
  type              = "egress"
  ip_protocol       = "tcp"
  nic_type          = "intranet"
  policy            = "accept"
  port_range        = "1/65535"
  priority          = 1
  security_group_id = alicloud_security_group.default.id
  cidr_ip           = "0.0.0.0/0"
}


#定义变量,这里定义了一堆端口号,
variable "tcp_rules" {
  type    = list(string)
  default = ["80/80", "443/443", "8080/8080", "3306/3306", "22/22"]
}
#这里定义了vpc名字
variable "vpc_name" {
  type    = string
  default = "tf-vpc"
}

----------------
#定义一个版本相关信息,
terraform {
  required_providers {
    alicloud = {
      source = "aliyun/alicloud"
      version = "1.249.0"
    }
  }
}

--------------
#创建vpc
resource "alicloud_vpc" "default" {
#  ipv6_isp    = "BGP"    #指定运营商,这里表示阿里云BGP多线提供
  description = "test"    #vpc描述信息
  cidr_block  = "10.0.0.0/12"    #网段划分,这里是指整个vpc的网段,避免过小导致vpc内的ip数量不足.
  vpc_name    = "tf-vpc"    #vpc名字
  enable_ipv6 = true    #是否启用ipv6功能.
}

上面的内容可以定义在一个或者多个文件中,看自己需求.

初始化创建资源
#初始化资源
34826@DESKTOP-FRSFPNH MINGW64 /e/GOPATH/src/terraform
$ terraform.exe init

Initializing the backend...
Initializing provider plugins...
- Reusing previous version of aliyun/alicloud from the dependency lock file
- Using previously-installed aliyun/alicloud v1.249.0

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see  
any changes that are required for your infrastructure. All Terraform commands  
should now work.

If you ever set or change modules or backend configuration for Terraform,      
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

#这里说明初始化成功

代码检查

-----------
代码内容检查
34826@DESKTOP-FRSFPNH MINGW64 /e/GOPATH/src/terraform
$ terraform.exe validate -json

{
  "format_version": "1.0",
  "valid": true,
  "error_count": 0,
  "warning_count": 0,
  "diagnostics": []
}
查看执行计划
34826@DESKTOP-FRSFPNH MINGW64 /e/GOPATH/src/terraform
$ terraform.exe plan

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # alicloud_security_group.default will be created
  + resource "alicloud_security_group" "default" {
      + create_time         = (known after apply)
      + id                  = (known after apply)
      + inner_access        = (known after apply)
      + inner_access_policy = (known after apply)
      + name                = (known after apply)
      + security_group_name = "terraform-example"
      + security_group_type = "normal"
      + vpc_id              = (known after apply)
    }

  # alicloud_security_group_rule.allow_all_tcp_egress will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_egress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "1/65535"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "egress"
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[0] will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "80/80"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "ingress"
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[1] will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "443/443"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "ingress"
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[2] will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "8080/8080"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "ingress"
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[3] will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "3306/3306"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "ingress"
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[4] will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "22/22"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "ingress"
    }

  # alicloud_vpc.default will be created
  + resource "alicloud_vpc" "default" {
      + cidr_block                                  = "10.0.0.0/12"
      + create_time                                 = (known after apply)
      + description                                 = "test"
      + dns_hostname_status                         = (known after apply)
      + enable_ipv6                                 = true
      + id                                          = (known after apply)
      + ipv6_cidr_block                             = (known after apply)
      + ipv6_cidr_blocks                            = (known after apply)
      + ipv6_isp                                    = "BGP"
      + name                                        = (known after apply)
      + region_id                                   = (known after apply)
      + resource_group_id                           = (known after apply)
      + route_table_id                              = (known after apply)
      + router_id                                   = (known after apply)
      + router_table_id                             = (known after apply)
      + secondary_cidr_blocks                       = (known after apply)
      + status                                      = (known after apply)
      + system_route_table_route_propagation_enable = (known after apply)
      + user_cidrs                                  = (known after apply)
      + vpc_name                                    = "tf-vpc"
    }

  # alicloud_vswitch.main will be created
  + resource "alicloud_vswitch" "main" {
      + availability_zone    = (known after apply)
      + cidr_block           = "10.0.0.0/16"
      + create_time          = (known after apply)
      + id                   = (known after apply)
      + ipv6_cidr_block      = (known after apply)
      + ipv6_cidr_block_mask = (known after apply)
      + name                 = (known after apply)
      + status               = (known after apply)
      + vpc_id               = (known after apply)
      + vswitch_name         = (known after apply)
      + zone_id              = "cn-beijing-b"
    }

Plan: 9 to add, 0 to change, 0 to destroy.

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 

Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.

这里可以自己检查下要创建的资源是否都包含在其中,不要因为有些参数没加载成功出现资源漏创建的情况.

执行创建操作
#执行创建操作,
34826@DESKTOP-FRSFPNH MINGW64 /e/GOPATH/src/terraform
$ terraform apply

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # alicloud_security_group.default will be created
  + resource "alicloud_security_group" "default" {
      + create_time         = (known after apply)
      + id                  = (known after apply)
      + inner_access        = (known after apply)
      + inner_access_policy = (known after apply)
      + name                = (known after apply)
      + security_group_name = "terraform-example"
      + security_group_type = "normal"
      + vpc_id              = (known after apply)
    }

  # alicloud_security_group_rule.allow_all_tcp_egress will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_egress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "1/65535"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "egress"
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[0] will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "80/80"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "ingress"
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[1] will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "443/443"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "ingress"
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[2] will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "8080/8080"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "ingress"
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[3] will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "3306/3306"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "ingress"
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[4] will be created
  + resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      + cidr_ip                = "0.0.0.0/0"
      + id                     = (known after apply)
      + ip_protocol            = "tcp"
      + nic_type               = "intranet"
      + policy                 = "accept"
      + port_range             = "22/22"
      + prefix_list_id         = (known after apply)
      + priority               = 1
      + security_group_id      = (known after apply)
      + security_group_rule_id = (known after apply)
      + type                   = "ingress"
    }

  # alicloud_vpc.default will be created
  + resource "alicloud_vpc" "default" {
      + cidr_block                                  = "10.0.0.0/12"
      + create_time                                 = (known after apply)
      + description                                 = "test"
      + dns_hostname_status                         = (known after apply)
      + enable_ipv6                                 = true
      + id                                          = (known after apply)
      + ipv6_cidr_block                             = (known after apply)
      + ipv6_cidr_blocks                            = (known after apply)
      + ipv6_isp                                    = "BGP"
      + name                                        = (known after apply)
      + region_id                                   = (known after apply)
      + resource_group_id                           = (known after apply)
      + route_table_id                              = (known after apply)
      + router_id                                   = (known after apply)
      + router_table_id                             = (known after apply)
      + secondary_cidr_blocks                       = (known after apply)
      + status                                      = (known after apply)
      + system_route_table_route_propagation_enable = (known after apply)
      + user_cidrs                                  = (known after apply)
      + vpc_name                                    = "tf-vpc"
    }

  # alicloud_vswitch.main will be created
  + resource "alicloud_vswitch" "main" {
      + availability_zone    = (known after apply)
      + cidr_block           = "10.0.0.0/16"
      + create_time          = (known after apply)
      + id                   = (known after apply)
      + ipv6_cidr_block      = (known after apply)
      + ipv6_cidr_block_mask = (known after apply)
      + name                 = (known after apply)
      + status               = (known after apply)
      + vpc_id               = (known after apply)
      + vswitch_name         = (known after apply)
      + zone_id              = "cn-beijing-b"
    }

Plan: 9 to add, 0 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

alicloud_vpc.default: Creating...
alicloud_vpc.default: Creation complete after 7s [id=vpc-2ze7fwv7cpnu8iy265ptf]
alicloud_vswitch.main: Creating...
alicloud_security_group.default: Creating...
alicloud_security_group.default: Creation complete after 1s [id=sg-2zei6vhmj9odactm3zmg]
alicloud_security_group_rule.allow_all_tcp_ingress[4]: Creating...
alicloud_security_group_rule.allow_all_tcp_egress: Creating...
alicloud_security_group_rule.allow_all_tcp_ingress[1]: Creating...
alicloud_security_group_rule.allow_all_tcp_ingress[0]: Creating...
alicloud_security_group_rule.allow_all_tcp_ingress[2]: Creating...
alicloud_security_group_rule.allow_all_tcp_ingress[3]: Creating...
alicloud_security_group_rule.allow_all_tcp_egress: Creation complete after 1s [id=sg-2zei6vhmj9odactm3zmg:egress:tcp:1/65535:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[0]: Creation complete after 1s [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:80/80:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[2]: Creation complete after 1s [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:8080/8080:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[1]: Creation complete after 1s [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:443/443:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[3]: Creation complete after 1s [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:3306/3306:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[4]: Creation complete after 1s [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:22/22:intranet:0.0.0.0/0:accept:1]
alicloud_vswitch.main: Creation complete after 4s [id=vsw-2zerm02oxz9z1kp064jrw]

Apply complete! Resources: 9 added, 0 changed, 0 destroyed.
登陆阿里云检查是否创建成功
vpc:

交换机:

ecs-->安全组

资源创建成功.

释放资源
34826@DESKTOP-FRSFPNH MINGW64 /e/GOPATH/src/terraform
$ terraform destroy
alicloud_vpc.default: Refreshing state... [id=vpc-2ze7fwv7cpnu8iy265ptf]
alicloud_security_group.default: Refreshing state... [id=sg-2zei6vhmj9odactm3zmg]
alicloud_vswitch.main: Refreshing state... [id=vsw-2zerm02oxz9z1kp064jrw]
alicloud_security_group_rule.allow_all_tcp_egress: Refreshing state... [id=sg-2zei6vhmj9odactm3zmg:egress:tcp:1/65535:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[4]: Refreshing state... [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:22/22:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[1]: Refreshing state... [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:443/443:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[2]: Refreshing state... [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:8080/8080:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[3]: Refreshing state... [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:3306/3306:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[0]: Refreshing state... [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:80/80:intranet:0.0.0.0/0:accept:1]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  - destroy

Terraform will perform the following actions:

  # alicloud_security_group.default will be destroyed
  - resource "alicloud_security_group" "default" {
      - create_time         = "2025-05-23T10:23:59Z" -> null
      - id                  = "sg-2zei6vhmj9odactm3zmg" -> null
      - inner_access        = true -> null
      - inner_access_policy = "Accept" -> null
      - name                = "terraform-example" -> null
      - security_group_name = "terraform-example" -> null
      - security_group_type = "normal" -> null
      - tags                = {} -> null
      - vpc_id              = "vpc-2ze7fwv7cpnu8iy265ptf" -> null
        # (2 unchanged attributes hidden)
    }

  # alicloud_security_group_rule.allow_all_tcp_egress will be destroyed
  - resource "alicloud_security_group_rule" "allow_all_tcp_egress" {
      - cidr_ip                    = "0.0.0.0/0" -> null
      - id                         = "sg-2zei6vhmj9odactm3zmg:egress:tcp:1/65535:intranet:0.0.0.0/0:accept:1" -> null
      - ip_protocol                = "tcp" -> null
      - nic_type                   = "intranet" -> null
      - policy                     = "accept" -> null
      - port_range                 = "1/65535" -> null
      - priority                   = 1 -> null
      - security_group_id          = "sg-2zei6vhmj9odactm3zmg" -> null
      - security_group_rule_id     = "sgr-2ze0arx65gjwu4jws1sf" -> null
      - type                       = "egress" -> null
        # (5 unchanged attributes hidden)
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[0] will be destroyed
  - resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      - cidr_ip                    = "0.0.0.0/0" -> null
      - id                         = "sg-2zei6vhmj9odactm3zmg:ingress:tcp:80/80:intranet:0.0.0.0/0:accept:1" -> null
      - ip_protocol                = "tcp" -> null
      - nic_type                   = "intranet" -> null
      - policy                     = "accept" -> null
      - port_range                 = "80/80" -> null
      - priority                   = 1 -> null
      - security_group_id          = "sg-2zei6vhmj9odactm3zmg" -> null
      - security_group_rule_id     = "sgr-2ze8adp4bid9tf56l24x" -> null
      - type                       = "ingress" -> null
        # (5 unchanged attributes hidden)
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[1] will be destroyed
  - resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      - cidr_ip                    = "0.0.0.0/0" -> null
      - id                         = "sg-2zei6vhmj9odactm3zmg:ingress:tcp:443/443:intranet:0.0.0.0/0:accept:1" -> null
      - ip_protocol                = "tcp" -> null
      - nic_type                   = "intranet" -> null
      - policy                     = "accept" -> null
      - port_range                 = "443/443" -> null
      - priority                   = 1 -> null
      - security_group_id          = "sg-2zei6vhmj9odactm3zmg" -> null
      - security_group_rule_id     = "sgr-2ze3k611m1jf9lhv7z9t" -> null
      - type                       = "ingress" -> null
        # (5 unchanged attributes hidden)
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[2] will be destroyed
  - resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      - cidr_ip                    = "0.0.0.0/0" -> null
      - id                         = "sg-2zei6vhmj9odactm3zmg:ingress:tcp:8080/8080:intranet:0.0.0.0/0:accept:1" -> null
      - ip_protocol                = "tcp" -> null
      - nic_type                   = "intranet" -> null
      - policy                     = "accept" -> null
      - port_range                 = "8080/8080" -> null
      - priority                   = 1 -> null
      - security_group_id          = "sg-2zei6vhmj9odactm3zmg" -> null
      - security_group_rule_id     = "sgr-2ze79n9hu282um50noj2" -> null
      - type                       = "ingress" -> null
        # (5 unchanged attributes hidden)
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[3] will be destroyed
  - resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      - cidr_ip                    = "0.0.0.0/0" -> null
      - id                         = "sg-2zei6vhmj9odactm3zmg:ingress:tcp:3306/3306:intranet:0.0.0.0/0:accept:1" -> null
      - ip_protocol                = "tcp" -> null
      - nic_type                   = "intranet" -> null
      - policy                     = "accept" -> null
      - port_range                 = "3306/3306" -> null
      - priority                   = 1 -> null
      - security_group_id          = "sg-2zei6vhmj9odactm3zmg" -> null
      - security_group_rule_id     = "sgr-2zej25002q98mn93498d" -> null
      - type                       = "ingress" -> null
        # (5 unchanged attributes hidden)
    }

  # alicloud_security_group_rule.allow_all_tcp_ingress[4] will be destroyed
  - resource "alicloud_security_group_rule" "allow_all_tcp_ingress" {
      - cidr_ip                    = "0.0.0.0/0" -> null
      - id                         = "sg-2zei6vhmj9odactm3zmg:ingress:tcp:22/22:intranet:0.0.0.0/0:accept:1" -> null
      - ip_protocol                = "tcp" -> null
      - nic_type                   = "intranet" -> null
      - policy                     = "accept" -> null
      - port_range                 = "22/22" -> null
      - priority                   = 1 -> null
      - security_group_id          = "sg-2zei6vhmj9odactm3zmg" -> null
      - security_group_rule_id     = "sgr-2zeb98gdsh1n8xll6voj" -> null
      - type                       = "ingress" -> null
        # (5 unchanged attributes hidden)
    }

  # alicloud_vpc.default will be destroyed
  - resource "alicloud_vpc" "default" {
      - cidr_block                                  = "10.0.0.0/12" -> null
      - classic_link_enabled                        = false -> null
      - create_time                                 = "2025-05-23T10:23:52Z" -> null
      - description                                 = "test" -> null
      - dns_hostname_status                         = "DISABLED" -> null
      - enable_ipv6                                 = true -> null
      - id                                          = "vpc-2ze7fwv7cpnu8iy265ptf" -> null
      - ipv6_cidr_block                             = "2408:400a:73b:2a00::/56" -> null
      - ipv6_cidr_blocks                            = [
          - {
              - ipv6_cidr_block = "2408:400a:73b:2a00::/56"
              - ipv6_isp        = "BGP"
            },
        ] -> null
      - ipv6_isp                                    = "BGP" -> null
      - name                                        = "tf-vpc" -> null
      - region_id                                   = "cn-beijing" -> null
      - resource_group_id                           = "rg-acfm2d7xyl7us2a" -> null
      - route_table_id                              = "vtb-2ze5jelvopjsqidcc33ed" -> null
      - router_id                                   = "vrt-2ze5qp3bdj97nvlozegvo" -> null
      - router_table_id                             = "vtb-2ze5jelvopjsqidcc33ed" -> null
      - secondary_cidr_blocks                       = [] -> null
      - status                                      = "Available" -> null
      - system_route_table_route_propagation_enable = true -> null
      - tags                                        = {} -> null
      - user_cidrs                                  = [] -> null
      - vpc_name                                    = "tf-vpc" -> null
        # (2 unchanged attributes hidden)
    }

  # alicloud_vswitch.main will be destroyed
  - resource "alicloud_vswitch" "main" {
      - availability_zone = "cn-beijing-b" -> null
      - cidr_block        = "10.0.0.0/16" -> null
      - create_time       = "2025-05-23T10:23:58Z" -> null
      - id                = "vsw-2zerm02oxz9z1kp064jrw" -> null
        name              = null
      - status            = "Available" -> null
      - tags              = {} -> null
      - vpc_id            = "vpc-2ze7fwv7cpnu8iy265ptf" -> null
      - zone_id           = "cn-beijing-b" -> null
        # (3 unchanged attributes hidden)
    }

Plan: 0 to add, 0 to change, 9 to destroy.

Do you really want to destroy all resources?
  Terraform will destroy all your managed infrastructure, as shown above.
  There is no undo. Only 'yes' will be accepted to confirm.

  Enter a value: yes

alicloud_security_group_rule.allow_all_tcp_egress: Destroying... [id=sg-2zei6vhmj9odactm3zmg:egress:tcp:1/65535:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[0]: Destroying... [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:80/80:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[4]: Destroying... [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:22/22:intranet:0.0.0.0/0:accept:1]
alicloud_vswitch.main: Destroying... [id=vsw-2zerm02oxz9z1kp064jrw]
alicloud_security_group_rule.allow_all_tcp_ingress[2]: Destroying... [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:8080/8080:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[3]: Destroying... [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:3306/3306:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[1]: Destroying... [id=sg-2zei6vhmj9odactm3zmg:ingress:tcp:443/443:intranet:0.0.0.0/0:accept:1]
alicloud_security_group_rule.allow_all_tcp_ingress[2]: Destruction complete after 1s
alicloud_security_group_rule.allow_all_tcp_ingress[3]: Destruction complete after 1s
alicloud_security_group_rule.allow_all_tcp_ingress[0]: Destruction complete after 1s
alicloud_security_group_rule.allow_all_tcp_egress: Destruction complete after 1s
alicloud_security_group_rule.allow_all_tcp_ingress[1]: Destruction complete after 1s
alicloud_security_group_rule.allow_all_tcp_ingress[4]: Destruction complete after 1s
alicloud_security_group.default: Destroying... [id=sg-2zei6vhmj9odactm3zmg]
alicloud_security_group.default: Destruction complete after 0s
alicloud_vswitch.main: Destruction complete after 4s
alicloud_vpc.default: Destroying... [id=vpc-2ze7fwv7cpnu8iy265ptf]
alicloud_vpc.default: Destruction complete after 6s

Destroy complete! Resources: 9 destroyed.

登陆页面验证:

资源释放成功

其他功能后续会陆续补充.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2384522.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业级调度器LVS

访问效果 涉及内容&#xff1a;浏览拆分、 DNS 解析、反向代理、负载均衡、数据库等 1 集群 1.1 集群类型简介 对于⼀个业务项⽬集群来说&#xff0c;根据业务中的特性和特点&#xff0c;它主要有三种分类&#xff1a; 高扩展 (LB) &#xff1a;单个主机负载不足的时候&#xf…

【Web前端】HTML网页编程基础

HTML5简介与基础骨架 HTML5是用来描述网页的一种语言&#xff0c;被称为超文本标记语言。用HTML5编写的文件&#xff0c;后缀以.html结尾 HTML是一种标记语言&#xff0c;标记语言是一套标记标签。标签是由尖括号包围的关键字&#xff0c;例如<html> 标签有两种表现形…

阿里开源 CosyVoice2:打造 TTS 文本转语音实战应用

1、引言 1.1、CosyVoice2 简介 阿里通义实验室推出音频基座大模型 FunAudioLLM,包含 SenseVoice 和 CosyVoice 两大模型。 CosyVoice:模拟音色与提升情感表现力 多语言 支持的语言: 中文、英文、日文、韩文、中文方言(粤语、四川话、上海话、天津话、武汉话等)跨语言及…

RabbitMQ可靠传输——持久性、发送方确认

一、持久性 前面学习消息确认机制时&#xff0c;是为了保证Broker到消费者直接的可靠传输的&#xff0c;但是如果是Broker出现问题&#xff08;如停止服务&#xff09;&#xff0c;如何保证消息可靠性&#xff1f;对此&#xff0c;RabbitMQ提供了持久化功能&#xff1a; 持久…

无人机开启未来配送新篇章

低空物流&#xff08;无人机物流&#xff09;是利用无人机等低空飞行器进行货物运输的物流方式&#xff0c;依托低空空域&#xff08;通常在120-300米&#xff09;实现快速、高效、灵活的配送服务。它是低空经济的重要组成部分&#xff0c;广泛应用于快递配送、医疗物资运输、农…

Qt状态机QStateMachine

QStateMachine QState 提供了一种强大且灵活的方式来表示状态机中的状态&#xff0c;通过与状态机类(QStateMachine)和转换类(QSignalTransition&#xff0c; QEventTransition)结合&#xff0c;可以实现复杂的状态逻辑和用户交互。合理使用嵌套状态机、信号转换、动作与动画、…

Java详解LeetCode 热题 100(20):LeetCode 48. 旋转图像(Rotate Image)详解

文章目录 1. 题目描述2. 理解题目3. 解法一&#xff1a;转置 翻转3.1 思路3.2 Java代码实现3.3 代码详解3.4 复杂度分析3.5 适用场景 4. 解法二&#xff1a;四点旋转法4.1 思路4.2 Java代码实现4.3 代码详解4.4 复杂度分析4.5 适用场景 5. 详细步骤分析与示例跟踪5.1 解法一&a…

CAU人工智能class4 批次归一化

归一化 在对输入数据进行预处理时会用到归一化&#xff0c;将输入数据的范围收缩到0到1之间&#xff0c;这有利于避免纲量对模型训练产生的影响。 但当模型过深时会产生下述问题&#xff1a; 当一个学习系统的输入分布发生变化时&#xff0c;这种现象称之为“内部协变量偏移”…

Android11以上通过adb复制文件到内置存储让文件管理器可见

之前Android版本如果需要将文件通过adb push放到内置存储&#xff0c;push到/data/media/10下的目录即可&#xff0c;直接放/sdcard/文件管理器是看不到的。 现在最新的Android版本直接将文件放在/sdcard或/data/media/10下文件管理器也看不到 可以将文件再复制一份到一下路径…

篇章二 需求分析(一)

目录 1.知名MQ 2.需求分析 2.1 核心概念 2.2 生产者消费者模型的类别 2.3 BrokerServer 内部的关键概念&#xff08;MQ&#xff09; 1.虚拟主机&#xff08;Virtual Host&#xff09; 2.交换机&#xff08;Exchange&#xff09; 3.队列&#xff08;Queue&#xff09; 4…

图解深度学习 - 机器学习简史

前言 深度学习并非总是解决问题的最佳方案&#xff1a;缺乏足够数据时&#xff0c;深度学习难以施展&#xff1b;某些情况下&#xff0c;其他机器学习算法可能更为高效。 若初学者首次接触的是深度学习&#xff0c;可能会形成一种偏见&#xff0c;视所有机器学习问题为深度学…

Gmsh 代码深度解析与应用实例

在科学计算与工程仿真领域&#xff0c;Gmsh 是一款广受欢迎的开源有限元网格生成器&#xff0c;它不仅支持复杂的几何建模&#xff0c;还能高效生成高质量的网格&#xff0c;并具备强大的后处理功能。本文将深入解析几段具有代表性的 Gmsh 代码&#xff0c;从基础几何创建到高级…

49页 @《人工智能生命体 新启点》中國龍 原创连载

《 人工智能生命体 新启点 》一书&#xff0c;以建立意识来建立起生命体&#xff0c;让其成为独立、自主的活动个体&#xff1b;也就可以理解为建立生命体的思想指导。 让我们能够赋予他灵魂&#xff01;

量化研究---bigquant策略交易api研究

api接口来平台的代码整理&#xff0c;原理是读取bigquant的模拟测试信号&#xff0c;下单&#xff0c;可以完美的对接qmt交易&#xff0c;我优化了交易api的部分内容 我开发对接qmt的交易系统 看api源代码 源代码 # 导入系统包 import os import json import requests from ty…

编译原理 期末速成

一、基本概念 1. 翻译程序 vs 编译程序 翻译程序的三种方式 编译&#xff1a;将高级语言编写的源程序翻译成等价的机器语言或汇编语言。&#xff08;生成文件&#xff0c;等价&#xff09;解释&#xff1a;将高级语言编写的源程序翻译一句执行一句&#xff0c;不生成目标文件…

echarts之漏斗图

vue3echarts实现漏斗图 echarts中文官网&#xff1a;https://echarts.apache.org/examples/zh/index.html 效果图如下&#xff1a; 整体代码如下&#xff1a; <template><div id"funnelChart" style"width:100%;height:400px;"></div&g…

零基础设计模式——第二部分:创建型模式 - 原型模式

第二部分&#xff1a;创建型模式 - 5. 原型模式 (Prototype Pattern) 我们已经探讨了单例、工厂方法、抽象工厂和生成器模式。现在&#xff0c;我们来看创建型模式的最后一个主要成员——原型模式。这种模式关注的是通过复制现有对象来创建新对象&#xff0c;而不是通过传统的…

java 进阶 1.0.3

Thread API说明 自己滚去看文档 CPU线程调度 每一个线程的优先使用权都是系统随机分配的&#xff0c;人人平等 谁先分配到就谁先用 也可以耍赖&#xff0c;就是赋予某一个线程拥有之高使用权&#xff1a;优先级 这样的操作就叫做线程调度 最基本的是系统轮流获得 java的做法是抢…

从 Docker 到 runC

从 Docker 到 runC:容器底层原理详解 目录 1. Docker 与 runC 的关系 2. Docker 的核心组件 3. runC 的核心功能 4. 实战示例:从 Docker 到 runC 4.1 示例场景:运行一个简单容器 4.2 Docker 底层调用 runC 的流程 4.3 查看 runC 的调用 4.4 直接调用 runC 创建容器 …

PET,Prompt Tuning,P Tuning,Lora,Qlora 大模型微调的简介

概览 到2025年&#xff0c;虽然PET&#xff08;Pattern-Exploiting Training&#xff09;和Prompt Tuning在学术界仍有探讨&#xff0c;但在工业和生产环境中它们已基本被LoRA/QLoRA等参数高效微调&#xff08;PEFT&#xff09;方法取代 。LoRA因其实现简单、推理零开销&#…