日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用Terraform部署ECS

更新時間: 2024-08-19 15:35:02

Terraform是一個開源的基礎設施即代碼工具,允許開發(fā)人員通過聲明式的語言來定義和管理基礎設施的配置,提供了一種簡潔的方式來創(chuàng)建、修改或刪除ECS資源,減少手動操作的繁瑣和錯誤,提高基礎設施的可管理性和可維護性。本文為您介紹如何安裝與配置Terraform、使用Terraform創(chuàng)建ECS實例。

更多Terraform信息,請參見什么是Terraform

支持的資源列表

目前支持Terraform編排和使用云服務器ECS的部分資源和數據源清單,請參見ECS Terraform資源和數據源

說明
  • Resource:資源,指新創(chuàng)建的資源,用于定義基礎設施組件,例如一個ECS實例、一個虛擬機、一個網絡安全組等。

  • Data Source:數據源,用于查詢和獲取已有的基礎設施組件的信息,在Terraform配置中使用這些信息來引用或配置其他資源。

安裝Terraform并配置權限

在本地安裝和配置Terraform

在本地使用Terraform,需要安裝并預配置Terraform。具體操作,請參見在本地安裝和配置Terraform

  • 為提高權限管理的靈活性和安全性,建議您創(chuàng)建RAM用戶,并為其授權。

    1. 登錄 RAM控制臺

    2. 創(chuàng)建一個RAM用戶,用于執(zhí)行Terraform命令,并為該用戶創(chuàng)建AccessKey。具體步驟請參見創(chuàng)建RAM用戶

    3. 為RAM用戶授權。具體步驟請參見為RAM用戶授權

  • 創(chuàng)建環(huán)境變量,用于存放身份認證信息。

    AccessKey管理頁面上創(chuàng)建和查看您的AccessKey。

    若無對應環(huán)境變量,在執(zhí)行terraform模板時無法確認身份信息,將會導致調用失敗。

使用在線服務(免安裝和權限配置)

如果您不想安裝Terraform,直接使用在線服務Cloud Shell

阿里云Cloud Shell是一款幫助您運維的免費產品,預裝了Terraform的組件,并配置好身份憑證(Credentials)。因此您可直接在Cloud Shell中運行Terraform的命令。更多信息,請參見在Cloud Shell中使用Terraform

重要

通過Cloud Shell使用Terraform時,由于其銷毀特性會導致數據丟失,因此建議您使用Cloud Shell做簡單、快速的操作,例如調試。更多使用限制,請參見使用限制

使用Terraform創(chuàng)建并管理ECS

下文以創(chuàng)建ECS為例,介紹如何使用Terraform創(chuàng)建并管理ECS資源。

  1. 創(chuàng)建專有網絡和交換機。

    1. 創(chuàng)建terraform.tf文件,輸入以下內容,并保存在當前的執(zhí)行目錄中。

      resource "alicloud_vpc" "vpc" {
        vpc_name   = "tf_test_foo"
        cidr_block = "172.16.0.0/12"
      }
      
      resource "alicloud_vswitch" "vsw" {
        vpc_id     = alicloud_vpc.vpc.id
        cidr_block = "172.16.0.0/21"
        zone_id    = "cn-beijing-f"
      }
    2. 運行terraform init進行初始化,下載所需插件。

    3. 運行terraform apply開始創(chuàng)建。

    4. 運行terraform show查看已創(chuàng)建的專有網絡和交換機。

      您也可以登錄VPC控制臺查看專有網絡和交換機的屬性。

  2. 在上一步創(chuàng)建的專有網絡中創(chuàng)建一個安全組,并添加一個允許192.168.0.0/16地址塊訪問的安全組規(guī)則。

    1. 在terraform.tf文件中增加以下內容。

      resource "alicloud_security_group" "default" {
        name   = "default"
        vpc_id = alicloud_vpc.vpc.id
      }
      
      resource "alicloud_security_group_rule" "allow_tcp" {
        type              = "ingress"
        ip_protocol       = "tcp"
        nic_type          = "intranet"
        policy            = "accept"
        port_range        = "1/65535"
        priority          = 1
        security_group_id = alicloud_security_group.default.id
        cidr_ip           = "192.168.0.0/16"
      }
    2. 運行terraform apply開始創(chuàng)建。

    3. 運行terraform show查看已創(chuàng)建的安全組和安全組規(guī)則。

      您也可以登錄ECS控制臺查看安全組和安全組規(guī)則。

  3. 創(chuàng)建ECS實例。

    1. 在terraform.tf文件中增加以下內容。

      resource "alicloud_instance" "instance" {
        # cn-beijing
        availability_zone = "cn-beijing-f"
        security_groups   = alicloud_security_group.default.*.id
        # series III
        instance_type              = "ecs.e-c1m1.large"
        system_disk_category       = "cloud_essd"
        image_id                   = "aliyun_2_1903_x64_20G_alibase_20240628.vhd"
        instance_name              = "test_foo"
        vswitch_id                 = alicloud_vswitch.vsw.id
        internet_max_bandwidth_out = 10
        password                   = "Terraform@Example"
      }
      
      output "public_ip" {
          value = alicloud_instance.instance.public_ip
      }
      說明
      • 在上述示例中,指定了internet_max_bandwidth_out= 10,因此會自動為實例分配一個公網IP,輸出到 output 中,供后續(xù)訪問實例使用。

      • 詳細的參數解釋請參見 阿里云參數說明

    2. 運行terraform apply開始創(chuàng)建。

    3. 運行terraform show查看已創(chuàng)建的ECS實例,并獲取publicip。

    4. 運行ssh root@<publicip>,并輸入設定好的密碼來訪問ECS實例。

完整代碼

說明

您也可以在OpenAPI 門戶調試運行代碼。一鍵運行

resource "alicloud_vpc" "vpc" {
  vpc_name   = "tf_test_foo"
  cidr_block = "172.16.0.0/12"
}

resource "alicloud_vswitch" "vsw" {
  vpc_id     = alicloud_vpc.vpc.id
  cidr_block = "172.16.0.0/21"
  zone_id    = "cn-beijing-f"
}

resource "alicloud_security_group" "default" {
  name   = "default"
  vpc_id = alicloud_vpc.vpc.id
}

resource "alicloud_security_group_rule" "allow_tcp" {
  type              = "ingress"
  ip_protocol       = "tcp"
  nic_type          = "intranet"
  policy            = "accept"
  port_range        = "1/65535"
  priority          = 1
  security_group_id = alicloud_security_group.default.id
  cidr_ip           = "192.168.0.0/16"
}
resource "alicloud_instance" "instance" {
  # cn-beijing
  availability_zone = "cn-beijing-f"
  security_groups   = alicloud_security_group.default.*.id
  # series III
  instance_type              = "ecs.e-c1m1.large"
  system_disk_category       = "cloud_essd"
  image_id                   = "aliyun_2_1903_x64_20G_alibase_20240628.vhd"
  instance_name              = "test_foo"
  vswitch_id                 = alicloud_vswitch.vsw.id
  internet_max_bandwidth_out = 10
  password                   = "Terraform@Example"
}

output "public_ip" {
    value = alicloud_instance.instance.public_ip
}

相關文檔

更多實踐教程,請參見Terraform的教程

更多Terraform的常用命令,請參見Terraform常用命令

更多創(chuàng)建ECS實例的方式,請參見ECS實例交付(創(chuàng)建)方式

資源編排服務為Terraform提供了托管的能力,您可以創(chuàng)建Terraform類型的模板,定義阿里云、AWS或Azure資源,配置資源參數和資源間的依賴關系。更多信息,請參見在資源編排(ROS)中使用Terraform

上一篇: CLI參考 下一篇: 資源編排ROS參考
阿里云首頁 云服務器 ECS 相關技術圈