You need to enable JavaScript to run this app.
导航
获取 VPC 访问入口信息
最近更新时间:2024.06.19 16:55:02首次发布时间:2023.04.26 10:22:33

本文介绍使用 Terraform 获取 VPC 访问入口的方法。

准备工作

  • 安装 Terraform。

    注意

    请安装 Terraform v0.12.31 版本。您可以通过terraform version命令查看版本信息。

  • ~/.terraform.d/plugins/darwin_amd64 添加 terraform-provider-volcengine 文件。

    terraform-provider-volcengine
    35.57MB

  • 获取火山引擎账号的密钥和实例所在地域的信息。

    参数说明
    access_key您火山引擎账号的 AccessKey ID(AK)。获取方式,请参见 访问密钥使用指南
    secret_key您火山引擎账号的 Secret Access Key(SK)。获取方式,请参见 访问密钥使用指南
    region您容器服务业务所在的地域。例如 cn-guangzhou

操作步骤

  1. 登录已安装的 Terraform 终端。

  2. 创建一个文件夹,并在该文件夹中创建名为main.tf的配置文件。

    variable "common" {
      type = object({
        registry  = string
        region    = string
      })
      default = {
      # 实例的名称
        registry  = "****"
      # 实例所处的地域
        region    = "cn-guangzhou"
      }
    }
    provider "volcengine" {
      # 火山引擎账号的 AK
      access_key = "AKLT****" 
      # 火山引擎账号的 SK
      secret_key = "WmpW****"  
      region = var.common.region
    }
    
    data "volcengine_cr_vpc_endpoints" "status_null" {
      registry    = var.common.registry
      output_file = "status_null"
    }
    
    data "volcengine_cr_vpc_endpoints" "status_one" {
      registry    = var.common.registry
      statuses    = ["Enabled"]
      output_file = "status_one"
    }
    
    data "volcengine_cr_vpc_endpoints" "status_two" {
      registry    = var.common.registry
      statuses    = ["Enabled", "Enabling"]
      output_file = "status_two"
    }
    
    data "volcengine_cr_vpc_endpoints" "status_all" {
      registry    = var.common.registry
      statuses    = ["Enabled", "Enabling", "Disabling", "Failed"]
      output_file = "status_all"
    }
    
  3. 初始化 Terraform 运行环境。

    terraform init
    
  4. 进行资源规划。

    terraform plan
    
  5. 获取获取 VPC 访问入口信息。

    terraform apply -auto-approve
    

操作结果

操作完成后即可在 status_all 文件中查看目标 VPC 访问地址信息。

alt

常见问题

Q:执行 terraform plan 时报错 permission denied

A:出现报错 Error: Failed to instantiate provider "volcengine" to obtain schema: fork/exec /Users/bytedance/.terraform.d/plugins/darwin_amd64/terraform-provider-volcengine: permission denied 的原因是没有授予 terraform-provider-volcengine 文件的执行权限。请授予相应的文件执行权限。

授权命令示例: chmod 755 ~/.terraform.d/plugins/darwin_amd64/terraform-provider-volcengine

Q:执行 terraform plan 时报错 Error on reading XXX,XXX is not exist

A:terraform apply 以后会生成 terraform.tfstate 这个文件,作用是记录本地资源创删状态。但是再次手动执行 terraform apply 后会误报资源已存在。解决的办法是手动删除这个文件,执行命令为 rm terraform.tfstate terraform.tfstate.backup