更新时间:2023-12-22 GMT+08:00

创建一台ECS实例

应用场景

弹性云服务器(Elastic Cloud Server,ECS)是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。弹性云服务器创建成功后,您就可以像使用自己的本地PC或物理服务器一样,在云上使用弹性云服务器华为云提供了多种类型的弹性云服务器,可满足不同的使用场景。在创建之前,您需要根据实际的应用场景确认弹性云服务器的规格类型,镜像类型,磁盘种类等参数,并选择合适的网络参数和安全组规则。

操作步骤

  1. 使用data source查询可用区,规格,镜像和网络参数。

    创建main.tf文件,输入以下内容,并保存在当前的执行目录中。
    data "huaweicloud_availability_zones" "myaz" {}
    
    data "huaweicloud_compute_flavors" "myflavor" {
      availability_zone = data.huaweicloud_availability_zones.myaz.names[0]
      performance_type  = "normal"
      cpu_core_count    = 2
      memory_size       = 4
    }
    
    data "huaweicloud_images_image" "myimage" {
      name        = "Ubuntu 18.04 server 64bit"
      most_recent = true
    }
    
    data "huaweicloud_vpc_subnet" "mynet" {
      name = "subnet-default"
    }
    
    data "huaweicloud_networking_secgroup" "mysecgroup" {
      name = "default"
    }

  2. 创建ECS实例并使用随机密码方式登录。

    1. 在main.tf文件中增加以下内容。
      resource "random_password" "password" {
        length           = 16
        special          = true
        override_special = "!@#$%*"
      }
      
      resource "huaweicloud_compute_instance" "myinstance" {
        name               = "basic"
        admin_pass         = random_password.password.result
        image_id           = data.huaweicloud_images_image.myimage.id
        flavor_id          = data.huaweicloud_compute_flavors.myflavor.ids[0]
        availability_zone  = data.huaweicloud_availability_zones.myaz.names[0]
        security_group_ids = [data.huaweicloud_networking_secgroup.mysecgroup.id]
      
        network {
          uuid = data.huaweicloud_vpc_subnet.mynet.id
        }
      }
    2. 运行 terraform init 初始化环境。
    3. 运行 terraform plan 查看资源。
    4. 确认资源无误后,运行 terraform apply 开始创建。
    5. 运行 terraform show 查看已创建的ECS。