- 이제 local이 아닌 aws에서 프로바이더를 사용해 볼 것이다.
- 그 전에 링크를 참조하여 terraform CLI를 설정하자. 테라폼을 설치한 home 디렉토리에 ".terraformrc"를 사용하여 conf 설정을 해줄 것이다.
- plugin_cache를 설정하면 플러그인 캐시가 설치되는 디렉토리를 지정할 수 있다.
- 위와 같이 설정을 마쳤으면 아래 명령어로 디렉토리를 생성해준다.
mkdir -p ~/.terraform.d/plugin-cache
- 각 워크스페이스에 필요한 프로바이더나 모듈을 다운로드 받을 때 기본적 .terraform 디렉토리 안에 해당 캐시들을 설치하게 된다. 워크스페이스의 수가 증가할 수록 해당 플러그인 캐시 용량 계속해서 증가하게 되고, 이는 저장소 용량의 부족을 일으킬 수 있다. 위와 같이 plugin-cache 설정을 하면 동일한 플러그인을 한번만 설치하도록 관리할 수 있어서 자원을 효율적으로 사용할 수 있다.
- 이후 AWS 사용을 위해 credential 설정을 해준다. AWS > IAM > 사용자추가 에서 아래와 같이 설정한다.
- 이후 생성된 IAM user > 보안설정 > 액세스 키 만들기 에서 AWS CLI 사용을 위한 키를 만든다. 생성된 정보를 csv 파일 다운하는 것을 잊지 말자.
- 이제 다시 cmd의 home으로 들어가서 아래 명령을 입력하고 알맞은 값을 입력한다.
aws configure --profile new
- 아래 명령어로 잘 입력되었는지 확인한다.
aws sts get-caller-identity
- 이제 aws provider 코드를 작성해보자. region 설정은 사용하고 있는 aws 인스턴스의 region 지역을 입력하면 된다. vpc는 테스트를 위한 스니펫을 입력하였다. 이후 terraform init을 해주자.
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "5.0.1"
}
}
}
provider "aws" {
# Configuration options
region = "us-east-2"
}
# Create a VPC
resource "aws_vpc" "example" {
cidr_block = "10.0.0.0/16"
}
- 이제 apply를 해준다.
- 이후 AWS VPC를 가보면 아래와 같이 해당 Ipv4의 CIDR이 생성된 것을 볼 수 있다.
- 확인을 위해 아래 코드를 추가해서 apply 해보면 된다.
# Test
output "vpc_ex" {
value = aws_vpc.example
}
'IaC' 카테고리의 다른 글
코드를 통한 인프라 관리 #3 (0) | 2023.05.31 |
---|---|
코드를 통한 인프라 관리 #2 (0) | 2023.05.27 |
코드를 통한 인프라 관리 #1 (0) | 2023.05.25 |