OpenTofu 入门:用 IaC 在 AWS 创建 VPC 和 EC2

什么是 OpenTofu OpenTofu 是 Terraform 的开源分支,用于以声明式的方式管理云基础设施(IaC,Infrastructure as Code)。 与 AWS CLI 的区别: OpenTofu AWS CLI 方式 声明式(描述终态) 命令式(执行具体操作) 状态管理 有 state 文件,追踪资源状态 无状态 典型场景 创建/销毁一整套基础设施 查询、临时操作 OpenTofu 和 AWS CLI 都直接调用 AWS API,不存在封装关系。 核心概念 Provider Provider 是 OpenTofu 操作各家云服务的插件,tofu init 时自动下载。 required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0" } } Resource vs Data Source resource — 创建资源(EC2、VPC、安全组等) data — 查询已有信息,不创建资源 # 查询最新的 Amazon Linux 2023 AMI(不创建资源) data "aws_ami" "al2023" { most_recent = true owners = ["137112412989"] filter { name = "name" values = ["al2023-ami-2023.*-x86_64"] } } # 创建 EC2 实例(使用上面查到的 AMI ID) resource "aws_instance" "server" { ami = data.aws_ami.al2023.id instance_type = "t2.nano" } Variables 变量分两个文件: ...

2026-04-29 · 3 min · 554 words · -

AWS 使用笔记

用户管理最佳实践 AWS 官方推荐:日常操作不使用 root 用户,改用 IAM 用户。 Root 用户 只用于以下场景,用完即退出: 创建 AWS 账户 设置账单和账户信息 创建第一个 IAM admin 用户 建议为 root 用户开启 MFA,日常锁起来不用。 IAM Admin 用户(日常使用) 对于个人用户,创建一个附加 AdministratorAccess 策略的 IAM 用户即可满足绝大多数需求。 AdministratorAccess 几乎等同于 root 权限,但不包括账单管理和关闭账户,日常管理 EC2、S3、RDS 等资源完全够用。 创建步骤: 以 root 登录 → IAM → 创建用户(如 admin) 附加托管策略:AdministratorAccess 为该用户开启 MFA 创建 Access Key 用于 CLI 之后退出 root,以后只用 admin 用户登录控制台和操作 CLI。 常用命令 查看所有区域的资源: ec2 > 左侧菜单 > AWS Global View # 配置 CLI(使用 IAM admin 用户的 Access Key) aws configure # S3 aws s3 ls s3://obsidian-w10n aws s3 cp foobar s3://obsidian-w10n https://aws.amazon.com/cli/ ...

2026-04-29 · 1 min · 93 words · W10N

aws-cli

aws-cli install # archlinux pacman -Sy aws-cli # macos https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html aws console> iam> user> w10n_ec2>create access key> cli> commands aws configure # default region name: ap-southeast-1 # default output format: json cat ~/.aws/credentials cat ~/.aws/config aws ec2 describe-instances --instance-ids i-xxxxxxxxxxxxxxxxx --query 'Reservations[*].Instances[*].{ID:InstanceId,State:State.Name}' --output table

2014-02-24 · 1 min · 44 words · -