IaC

코드를 통한 인프라 관리 #4

PON_Z 2023. 6. 1. 16:46

- 이제 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
}

 

 

 

 

ref) https://tpcable.co.kr/126

728x90

'IaC' 카테고리의 다른 글

코드를 통한 인프라 관리 #3  (0) 2023.05.31
코드를 통한 인프라 관리 #2  (0) 2023.05.27
코드를 통한 인프라 관리 #1  (0) 2023.05.25