《从零上手 AI DevSpace:用 Agent + Terraform 一键部署华为云基础设施》

举报
yd_286050264 发表于 2026/10/28 14:47:19 2026/10/28
【摘要】 1 前言 提出三个痛点:控制台操作繁琐、Terraform 学习门槛高、教程过时 2 AI DevSpace 是什么 华为云智能开发环境,内置华为云知识库的 AI Agent,支持自然语言→代码→部署全流程 3 实践前准备 ① 进入实践中心开通环境 ② 创建 AK/SK 并用环境变量传入 ③ 确认 Terraform 已安装 4 动手实践 用一句话描述需求 → Ag

# 从零上手 AI DevSpace:用 Agent + Terraform 一键部署华为云基础设施

## 前言

作为经常和云资源打交道的开发者,你是否也经历过这些痛点:

- 每次创建 ECS、VPC、安全组,都要在控制台点十几个页面,参数填错又重来
- 听说 Terraform 可以"基础设施即代码",但看着 HCL 语法一脸懵
- 网上教程要么太老,要么跟华为云的实际 API 对不上

最近体验了华为云 **AI DevSpace** 智能开发环境,发现它把这些问题解决得相当漂亮。今天就把我的完整实践过程分享出来,希望能帮你少走弯路。

## 一、AI DevSpace 是什么?

AI DevSpace 是华为云推出的**智能开发环境**,核心是一个内置了华为云知识库的 AI Agent。你可以用自然语言跟它对话,它会帮你:

- 生成 Terraform 配置文件
- 解释每段代码对应的云资源
- 直接执行 `terraform plan / apply` 部署
- 查询现有云资源状态

简单说,**你说"帮我建一个带 EIP 的 ECS",它就帮你把 VPC、子网、安全组、ECS、EIP 全套代码写好,还能直接部署。**

## 二、实践前的准备

### 2.1 开通环境

在浏览器打开 [AI 办公实践中心](https://hands-on-agent.developer.huaweicloud.com/#tasks),点击「前往 AI DevSpace 实践」,进入智能开发环境。

### 2.2 准备华为云凭证

部署云资源需要 AK/SK(访问密钥),在华为云控制台「我的凭证」页面创建。**安全提醒:AK/SK 不要硬编码到代码里**,建议通过环境变量传入:

```bash
export HW_ACCESS_KEY="你的AK"
export HW_SECRET_KEY="你的SK"
```

### 2.3 确认 Terraform 已安装

AI DevSpace 环境中通常已预装 Terraform,可以在终端确认:

```bash
terraform version
```

如果没有,Agent 会自动帮你安装华为云镜像版的 Terraform,国内下载速度很快。

## 三、动手实践:用自然语言部署一套云资源

### 3.1 提出需求

我在 Agent 对话框里输入:

> 帮我在华为云 cn-north-4 区域创建一套基础设施:一个 VPC,一个子网,一个安全组(放通 22 和 80 端口),一台 s6.large.2 的 ECS,并给 ECS 绑定弹性公网 IP。

### 3.2 Agent 的响应过程

Agent 没有直接甩代码,而是先做了一轮**资源调研**:

1. 查询了 cn-north-4 区域可用的可用区
2. 查询了 s6.large.2 规格的详细信息
3. 检查了我账号下是否已有可复用的 VPC

然后给出了一套完整的 Terraform 配置,并逐段解释:

```hcl
# providers.tf — 声明华为云 Provider
terraform {
  required_providers {
    huaweicloud = {
      source  = "huaweicloud/huaweicloud"
      version = ">= 1.50.0"
    }
  }
}

provider "huaweicloud" {
  region = "cn-north-4"
  # AK/SK 通过环境变量传入,不硬编码
}
```

```hcl
# network.tf — 网络资源
resource "huaweicloud_vpc" "main" {
  name = "vpc-devspace-demo"
  cidr = "192.168.0.0/16"
}

resource "huaweicloud_vpc_subnet" "main" {
  name       = "subnet-devspace-demo"
  vpc_id     = huaweicloud_vpc.main.id
  cidr       = "192.168.0.0/24"
  gateway_ip = "192.168.0.1"
}

resource "huaweicloud_networking_secgroup" "main" {
  name        = "sg-devspace-demo"
  description = "Security group for DevSpace demo"
}

resource "huaweicloud_networking_secgroup_rule" "ssh" {
  direction         = "ingress"
  port_range_min    = 22
  port_range_max    = 22
  protocol          = "tcp"
  remote_ip_prefix  = "0.0.0.0/0"
  security_group_id = huaweicloud_networking_secgroup.main.id
}

resource "huaweicloud_networking_secgroup_rule" "http" {
  direction         = "ingress"
  port_range_min    = 80
  port_range_max    = 80
  protocol          = "tcp"
  remote_ip_prefix  = "0.0.0.0/0"
  security_group_id = huaweicloud_networking_secgroup.main.id
}
```

```hcl
# compute.tf — 计算资源
resource "huaweicloud_compute_instance" "web" {
  name              = "ecs-devspace-demo"
  flavor_id         = "s6.large.2"
  image_id          = data.huaweicloud_images_image.default.id
  availability_zone = "cn-north-4a"
  security_group_ids = [huaweicloud_networking_secgroup.main.id]

  network {
    uuid = huaweicloud_vpc_subnet.main.id
  }
}

resource "huaweicloud_vpc_eip" "web" {
  publicip {
    type = "5_bgp"
  }
  bandwidth {
    name        = "bw-devspace-demo"
    size        = 5
    share_type  = "PER"
    charge_mode = "traffic"
  }
}

resource "huaweicloud_compute_eip_associate" "web" {
  public_ip   = huaweicloud_vpc_eip.web.publicip[0].ip_address
  instance_id = huaweicloud_compute_instance.web.id
}
```

### 3.3 Agent 的解释

Agent 逐段解释了每段代码的含义:

- **providers.tf**:声明使用华为云 Provider,region 设为 cn-north-4(北京4)。AK/SK 不写在文件里,通过环境变量 `HW_ACCESS_KEY` / `HW_SECRET_KEY` 传入,避免泄露。
- **network.tf**:创建 VPC(192.168.0.0/16)和子网(192.168.0.0/24),安全组放通了 22(SSH)和 80(HTTP)端口。
- **compute.tf**:创建 s6.large.2 规格的 ECS,并绑定一个 5Mbps 的按流量计费 EIP。

### 3.4 部署执行

Agent 在执行前会做**确认仪式**,告诉我:

> 即将执行 `terraform apply`,会创建以下资源:
> - 新增 6 个资源:1 VPC + 1 子网 + 1 安全组 + 2 安全组规则 + 1 ECS + 1 EIP
> - 无删除操作
> - 无不可逆操作
> 
> 请确认后继续。

我回复"确认"后,Agent 执行了部署。大约 2 分钟后,所有资源创建完成,EIP 地址也返回了。

## 四、体验亮点与踩坑心得

### ✨ 亮点

1. **自然语言交互**:不需要记 HCL 语法,说人话就行。Agent 会自动翻译成正确的 Terraform 配置。
2. **先调研再写码**:Agent 不是盲目生成代码,而是先查询区域、规格、镜像等实际信息,确保代码可执行。
3. **安全意识到位**:Agent 主动提醒不要硬编码 AK/SK,安全组规则也会分析是否过于开放。
4. **确认机制**:所有会改变云状态的操作,Agent 都会先说明要做什么、影响哪些资源,等用户确认后才执行。

### ⚠️ 踩坑提醒

1. **区域选择**:不同区域可用的规格和镜像不同,写代码前最好先确认目标区域的资源可用性。
2. **State 管理**:默认 state 文件在本地,团队协作时建议配置 OBS 作为远程 backend。
3. **安全组规则**:示例中为了简单放通了 0.0.0.0/0,生产环境建议限制为特定 IP 段。Agent 也会主动提醒这一点。
4. **销毁资源**:测试完记得 `terraform destroy` 清理资源,避免持续计费。Agent 同样会在销毁前做确认。

## 五、总结

AI DevSpace 的核心价值不在于"帮你写代码"这件事本身,而在于:

- **降低了 IaC 的学习门槛**:不需要先学 HCL 语法、不需要翻文档找 resource 参数,用自然语言描述需求即可。
- **内置华为云知识**:Agent 了解华为云的 API、命名规范、最佳实践,生成的代码直接可用,不需要反复调试。
- **全流程闭环**:从生成代码 → 解释 → 部署 → 查询 → 销毁,一个环境里全部完成。

如果你也在用华为云,强烈推荐去 [AI 办公实践中心](https://hands-on-agent.developer.huaweicloud.com/#tasks) 体验一下。每日体验还能赚积分,何乐而不为呢 😄

---

> **作者注**:本文基于 2026 年 10 月的实际体验编写,AI DevSpace 功能可能持续迭代更新,请以实际体验为准。如有问题欢迎在评论区交流。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。