华为云IaC实践:用Terraform一键部署ECS实例与VPC网络

举报
yd_294450976 发表于 2026/10/22 21:15:48 2026/10/22
【摘要】 引言在云原生时代,基础设施即代码(Infrastructure as Code, IaC)已成为 DevOps 实践的核心环节。Terraform 作为最受欢迎的 IaC 工具之一,通过声明式配置文件描述云资源,实现一键部署、版本管理和环境复现。本文将以华为云为例,展示如何用 Terraform 一键部署 ECS 实例及配套 VPC 网络。一、环境准备首先安装 Terraform CLI(v...

引言

在云原生时代,基础设施即代码(Infrastructure as Code, IaC)已成为 DevOps 实践的核心环节。Terraform 作为最受欢迎的 IaC 工具之一,通过声明式配置文件描述云资源,实现一键部署、版本管理和环境复现。本文将以华为云为例,展示如何用 Terraform 一键部署 ECS 实例及配套 VPC 网络。

一、环境准备

首先安装 Terraform CLI(v1.5+)和华为云 Provider。在项目目录创建 main.tf 文件,配置 Provider:

terraform {  required_providers {    huaweicloud = {      source  = "huaweicloud/huaweicloud"      version = "~> 1.50"    }  }}provider "huaweicloud" {  region     = "cn-north-4"  access_key = var.ak  secret_key = var.sk}

二、创建 VPC 网络基础设施

部署 ECS 前需要先创建 VPC、子网和安全组:

resource "huaweicloud_vpc" "vpc_1" {  name = "vpc-terraform-demo"  cidr = "192.168.0.0/16"}resource "huaweicloud_vpc_subnet" "subnet_1" {  vpc_id     = huaweicloud_vpc.vpc_1.id  name       = "subnet-terraform-demo"  cidr       = "192.168.0.0/24"  gateway_ip = "192.168.0.1"}resource "huaweicloud_networking_secgroup" "secgroup_1" {  name        = "secgroup-terraform-demo"  description = "Security group for Terraform demo"}

三、创建 ECS 实例

有了网络基础后,创建 ECS 实例:

resource "huaweicloud_compute_instance" "ecs_1" {  name              = "ecs-terraform-demo"  image_id          = data.huaweicloud_images_image.image_1.id  flavor_id         = "s6.large.2"  availability_zone = "cn-north-4a"  network {    uuid = huaweicloud_vpc_subnet.subnet_1.id  }  security_group_ids = [    huaweicloud_networking_secgroup.secgroup_1.id  ]}

四、部署与验证

执行以下命令完成部署:

terraform init   # 初始化terraform plan   # 预览变更terraform apply  # 执行部署

terraform plan 会展示即将创建的资源清单,确认无误后输入 yes 执行。terraform destroy 可一键销毁所有资源,避免忘记清理导致费用产生。

五、IaC 的核心价值

相比控制台手动操作,IaC 带来三大优势:可重复——同一份配置可在不同区域部署相同环境;可版本化——配合 Git 管理基础设施变更历史,支持 Code Review;可自动化——集成 CI/CD 流水线,实现环境随代码自动更新。

总结

本文演示了从零开始用 Terraform 在华为云上部署 VPC 网络和 ECS 实例的完整流程。建议从简单场景入手,逐步加入 EIP、RDS、ELB 等资源,构建完整的基础设施代码库。Terraform 的声明式模型让云资源管理变得像写代码一样优雅而高效。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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