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

使用Terraform部署ECS

更新時(shí)間: 2024-08-19 15:35:02

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

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

支持的資源列表

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

說明
  • Resource:資源,指新創(chuàng)建的資源,用于定義基礎(chǔ)設(shè)施組件,例如一個(gè)ECS實(shí)例、一個(gè)虛擬機(jī)、一個(gè)網(wǎng)絡(luò)安全組等。

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

安裝Terraform并配置權(quán)限

在本地安裝和配置Terraform

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

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

    1. 登錄 RAM控制臺(tái)

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

    3. 為RAM用戶授權(quán)。具體步驟請參見為RAM用戶授權(quán)

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

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

    若無對應(yīng)環(huán)境變量,在執(zhí)行terraform模板時(shí)無法確認(rèn)身份信息,將會(huì)導(dǎo)致調(diào)用失敗。

使用在線服務(wù)(免安裝和權(quán)限配置)

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

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

重要

通過Cloud Shell使用Terraform時(shí),由于其銷毀特性會(huì)導(dǎo)致數(shù)據(jù)丟失,因此建議您使用Cloud Shell做簡單、快速的操作,例如調(diào)試。更多使用限制,請參見使用限制

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

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

  1. 創(chuàng)建專有網(wǎng)絡(luò)和交換機(jī)。

    1. 創(chuàng)建terraform.tf文件,輸入以下內(nèi)容,并保存在當(dāng)前的執(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. 運(yùn)行terraform init進(jìn)行初始化,下載所需插件。

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

    4. 運(yùn)行terraform show查看已創(chuàng)建的專有網(wǎng)絡(luò)和交換機(jī)。

      您也可以登錄VPC控制臺(tái)查看專有網(wǎng)絡(luò)和交換機(jī)的屬性。

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

    1. 在terraform.tf文件中增加以下內(nèi)容。

      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. 運(yùn)行terraform apply開始創(chuàng)建。

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

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

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

    1. 在terraform.tf文件中增加以下內(nèi)容。

      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,因此會(huì)自動(dòng)為實(shí)例分配一個(gè)公網(wǎng)IP,輸出到 output 中,供后續(xù)訪問實(shí)例使用。

      • 詳細(xì)的參數(shù)解釋請參見 阿里云參數(shù)說明

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

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

    4. 運(yùn)行ssh root@<publicip>,并輸入設(shè)定好的密碼來訪問ECS實(shí)例。

完整代碼

說明

您也可以在OpenAPI 門戶調(diào)試運(yùn)行代碼。一鍵運(yùn)行

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
}

相關(guān)文檔

更多實(shí)踐教程,請參見Terraform的教程

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

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

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

上一篇: CLI參考 下一篇: 資源編排ROS參考
阿里云首頁 云服務(wù)器 ECS 相關(guān)技術(shù)圈