개요 - AWS 권장 가이드

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

개요

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를 참조합니다.