华为云IaC实践:用Terraform一键部署ECS实例与VPC网络
【摘要】 引言在云原生时代,基础设施即代码(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)