

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 개요
<a name="overview"></a>

Terraform 공급자는 Terraform이 다양한 API와 상호 작용할 수 있도록 하는 플러그인입니다. 테라폼 AWS 제공자는 Terraform을 사용하여 코드형 AWS 인프라 (IaC) 를 관리하기 위한 공식 플러그인입니다. Terraform 구문을 AWS API 호출로 변환하여 리소스를 생성, 읽기, 업데이트 및 삭제합니다. AWS 

 AWS 공급자는 인증을 처리하고, Terraform 구문을 AWS API 호출로 변환하고, 리소스를 프로비저닝합니다. AWS Terraform `provider` 코드 블록을 사용하여 Terraform이 API와 상호 작용하는 데 사용하는 공급자 플러그인을 구성합니다. AWS 여러 AWS 공급자 블록을 구성하여 서로 다른 지역 및 지역의 리소스를 관리할 수 있습니다. AWS 계정 

다음은 별칭이 있는 여러 AWS 공급자 블록을 사용하여 다른 지역 및 계정에 복제본이 있는 Amazon RDS (관계형 데이터베이스 서비스) 데이터베이스를 관리하는 Terraform 구성의 예입니다. 기본 공급자와 보조 공급자는 서로 다른 (IAM) 역할을 맡습니다. AWS Identity and Access Management 

```
# Configure the primary AWS Provider
provider "aws" {
  region = "us-west-1"
  alias  = "primary"
}

# Configure a secondary AWS Provider for the replica Region and account
provider "aws" {
  region      = "us-east-1"
  alias       = "replica"
  assume_role {
    role_arn     = "arn:aws:iam::<replica-account-id>:role/<role-name>"
    session_name = "terraform-session"
  }
}

# Primary Amazon RDS database
resource "aws_db_instance" "primary" {
  provider = aws.primary

  # ... RDS instance configuration
}

# Read replica in a different Region and account
resource "aws_db_instance" "read_replica" {
  provider = aws.replica

  # ... RDS read replica configuration
  replicate_source_db = aws_db_instance.primary.id
}
```

이 예제에서는 다음이 적용됩니다.
+ 첫 번째 `provider` 블록은 해당 `us-west-1` 리전의 기본 AWS 공급자를 별칭으로 구성합니다. `primary` 
+ 두 번째 `provider` 블록은 해당 지역의 보조 AWS 공급자를 별칭으로 구성합니다. `us-east-1` `replica` 이 공급자는 다른 지역 및 계정에 있는 기본 데이터베이스의 읽기 전용 복제본을 만드는 데 사용됩니다. `assume_role`블록은 복제본 계정에서 IAM 역할을 맡는 데 사용됩니다. 는 맡을 IAM 역할의 Amazon 리소스 이름 (ARN) 을 `role_arn` 지정하며 `session_name` Terraform 세션의 고유 식별자입니다.
+ `aws_db_instance.primary`리소스는 `us-west-1` 리전의 `primary` 공급자를 사용하여 기본 Amazon RDS 데이터베이스를 생성합니다.
+ `aws_db_instance.read_replica`리소스는 공급자를 사용하여 `us-east-1` 리전에 있는 기본 데이터베이스의 읽기 전용 복제본을 생성합니다. `replica` `replicate_source_db`속성은 `primary` 데이터베이스의 ID를 참조합니다.