0Pricing
Terraform Infrastructure as Code · 课时

AWS 提供商配置

在 Terraform 中配置 AWS 提供商,设置身份验证和区域,以便与您的 AWS 账户交互。

AWS 提供商配置 是 CoddyKit 上的免费 Terraform Infrastructure as Code 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Terraform Infrastructure as Code 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Terraform Infrastructure as Code 课程共包含 4 节课。

什么是 AWS 提供商?

欢迎学习配置 AWS 提供商!在 Terraform 中,提供商是一种插件,允许 Terraform 与特定云服务或服务 API 交互。

AWS 提供商是您管理 Amazon Web Services 账户中 EC2 实例、S3 存储桶和 VPC 等资源的入口。

为什么要配置 AWS?

在 Terraform 能够创建、更新或删除 AWS 中的任何资源之前,它需要了解两件主要事项:

  • 要使用哪个云服务提供商(本例中为 AWS)。
  • 如何进行身份验证以访问您的 AWS 账户(您的身份和权限)。
  • 要将资源部署到哪个 AWS 区域(例如 us-east-1)。

本课将介绍如何设置这些必要信息。

提供商块

您可以在 Terraform 配置文件(.tf 文件)中使用 provider 块定义 AWS 提供商。此块会告知 Terraform 要使用哪个提供商,并允许您设置其配置。

基本结构如下:

provider "aws" {
  # Configuration arguments go here
}

定义 AWS 区域

provider 块中的 region 参数指定 AWS 资源将部署到哪里。AWS 在全球范围内划分为许多区域(例如 us-east-1、eu-west-2)。

设置正确的区域至关重要,因为资源与创建它们的区域绑定。

provider "aws" {
  region = "us-east-1"
}

首次设置 AWS 提供商

这是一个完整且可运行的 Terraform 配置。它设置 AWS 提供商,并使用数据源获取当前 AWS 身份的信息,而不会创建任何资源。

要使其正常运行,您需要在系统中配置 AWS 凭证(下一节将介绍!)。

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region = "us-east-1"
}

data "aws_caller_identity" "current" {}

output "account_id" {
  value = data.aws_caller_identity.current.account_id
}

output "user_arn" {
  value = data.aws_caller_identity.current.arn
}

Terraform 如何进行身份验证

Terraform 需要凭证才能与您的 AWS 账户交互。它会按照特定顺序查找这些凭证。以下是最常用的方法:

  • 环境变量:直接在您的 shell 中设置。
  • 共享凭证文件:位于本地计算机上的文件。
  • IAM 角色:由 EC2 等 AWS 服务代为使用。

身份验证:环境变量

您可以将 AWS 访问密钥和私有密钥设置为环境变量。这种方式常用于 CI/CD 流水线或临时本地测试。

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

重要提示:切勿将这些敏感密钥直接提交到代码中!

身份验证:共享凭证文件

这是为本地开发配置 AWS 凭证最常见且推荐的方式。Terraform 会自动查找 ~/.aws/credentials 文件。

示例内容:

[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY

您也可以在提供商块中指定配置文件名称:profile = "your-profile"。

身份验证:IAM 角色(高级)

从 AWS 服务(例如 EC2 实例、ECS 任务或 Lambda 函数)运行 Terraform 时,您可以利用 IAM 角色。

服务不会使用明确提供的密钥,而是使用具有特定权限的角色。Terraform 会自动检测并使用此角色,因此这是用于 AWS 基础设施的高度安全的身份验证方法。

提供商配置检查

以下哪些方式是为 Terraform 中的 AWS 提供商配置身份验证时有效且安全的方式?

回顾:AWS 提供商

您已经学会了如何在 Terraform 中配置 AWS 提供商!这是使用基础设施即代码管理 AWS 资源的基础步骤。

  • provider "aws" 块定义 AWS 集成。
  • region 参数指定资源的部署位置。
  • 身份验证可以通过环境变量、共享凭证文件或 IAM 角色完成。

接下来,您将开始定义实际的 AWS 资源!

常见问题解答

「AWS 提供商配置」课时是免费的吗?

是的 — 「AWS 提供商配置」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Terraform Infrastructure as Code 课程的其余内容,请升级到 CoddyKit PRO。 Terraform Infrastructure as Code 课程共包含 4 节课。

「AWS 提供商配置」这节课中我会学到什么?

在 Terraform 中配置 AWS 提供商,设置身份验证和区域,以便与您的 AWS 账户交互。 你通过在浏览器中直接运行的动手代码来练习 Terraform Infrastructure as Code,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Terraform Infrastructure as Code 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Terraform Infrastructure as Code 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「AWS 提供商配置」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Terraform Infrastructure as Code 课中编写并运行代码吗?

能。每节 Terraform Infrastructure as Code 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. AWS 提供商配置
  2. 配置 EC2 实例
  3. 管理 S3 存储桶与 IAM
  4. 配置 VPC 与网络
← 返回 Terraform Infrastructure as Code