본문 바로가기

♻ Terraform(테라폼)/Terraform 기본 구성

AWS CLI 및 Terraform 설치

1. AWS CLI 설치

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

2. 다운받은 CLI 파일을 압축해제

unzip awscliv2.zip
sudo ./aws/install

3. Terraform 설치

# 테라폼 다운로드 사이트
https://releases.hashicorp.com/terraform/
# 테라폼 12.29버전 다운로드 링크주소
https://releases.hashicorp.com/terraform/0.12.29/
> 해당 버전 링크주소 복사

# wget을 활용하여 다운로드
wget https://releases.hashicorp.com/terraform/0.12.29/terraform_0.12.29_linux_amd64.zip

# unzip 명령어로 압축해제
unzip terraform_0.12.29_linux_amd64.zip

# terraform 바이너리 파일을 이동
# 간혹 root 계정으로만 mv 되는 경우 root 권한으로 실행
mv terraform /usr/local/bin

# terraform 버전 확인
terraform --version
Terraform v0.12.24

4. AWS Configure 구성

- AWS 내 보안 자격증명 에서 엑세스 키와 시크릿 키를 확인 합니다. (없는 분들을 생성 하세요.)

5. AWS EC2인스턴스에 접근 할 수 있는 설정을 합니다.

- 엑세스 키와 시크릿 키를 입력 후 아래와 같이 리전, 그리고 포멧 설정을 합니다.

$ aws configure
AWS Access Key ID [None]: 
AWS Secret Access Key [None]: 
Default region name [None]: ap-northeast-2
Default output format [None]: json

6. AWS 서비스를 정상적으로 엑세스 하고 있는지 테스트해 봅시다.

aws s3 ls

- 아래와 같이 정상적으로 S3의 리스트를 조회해 오는것을 알 수 있습니다.

7. 위의 방식은 root 사용자를 기반으로 접근한 방법이고, IAM을 사용하여 접근을 할 수도 있다.

> IAM > 사용자추가 > Terraform-test 라는 이름으로 프로그래밍 엑세스 방식의 사용자를 생성한다.

- 기존 정책에 직접 연결 > AdministratorAccess 선택 후 다음 클릭

- .csv 파일을 다운로드 하여 엑세스 키와 시크릿키 확인하여 사용하면 됨.

8. 현재 설정된 시크릿키와 엑세스키를 확인

$ cat ~/.aws/credentials
[default]
aws_access_key_id = ABCDEFXXXXXXX
aws_secret_access_key = KSdifi...

9. 현재 설정된 사용자가 누구인지 확인

$ aws sts get-caller-identity
{
  "UserId": "XXXXX",
  "Account": "1234567891011",
  "Arn": "arn:aws:iam::123456781011:user/terraform-test"
}

- 다음 시간에는 Terraform을 활용한 기본 인프라 구성을 해봅시다.

- 끝-