Terraform은 IaC(Infrastructure as Code) 에 사용되는 애플리케이션 중 하나이다.
aws 관련 공부도 할 겸 실습해 보면 실무를 하는 데 도움이 될 것으로 보여서 찍먹 시작!
* 이전에 aws credential 설정 작업이 선행되어야 한다.
먼저 홈페이지에서 자신의 운영체제에 맞는 파일을 다운로드해 주자.
Terraform by HashiCorp
Terraform is an open-source infrastructure as code tool that enables you to safely and predictably provision and manage infrastructure in any cloud.
www.terraform.io

테스트를 위해 terraform을 다운로드 후 ".tf" 확장자로 코드를 작성해 주자.
아래는 iam role 생성 코드.
provider "aws" {
region = "ap-northeast-2"
}
resource "aws_iam_role" "test_role" {
name = "test_role"
# Terraform's "jsonencode" function converts a
# Terraform expression result to valid JSON syntax.
assume_role_policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = "sts:AssumeRole"
Effect = "Allow"
Sid = ""
Principal = {
Service = "ec2.amazonaws.com"
}
},
]
})
tags = {
tag-key = "tag-value"
}
}

실행 전 먼저 아래와 같은 명령어를 입력해 주면 Terraform을 실행할 수 있게 구성해 준다.
그러면 몇 개의 파일들이 생성되는데, terraform 환경 관련 파일들이니 참고하자.
terraform init

작업 실행 전 미리 볼 수 있는 명령어이다. (+ : 추가, 생성 등, - : 제거)
terraform plan

작성된 작업 내용을 실제로 적용시키는 명령어이며, 마지막에 yes를 입력하면 작성된 내용대로 실행이 된다.
terraform apply

아래는 위에서 작성한 role이 생성된 모습이다.
console에서 gui 형태로도 생성이 가능하지만, terraform을 사용하면 보다 편리하게 생성이 가능하다.

작성된 작업을 취소(생성된 Resource를 제거) 하는 명령어이다.
terraform destroy

명령어 실행 후 위에서 생성했던 role이 사라진 것을 확인할 수 있다.

* 아래는 terraform 코드를 작성하는데 참고할 수 있는 Document.
https://registry.terraform.io/providers/hashicorp/aws/latest/docs
Terraform Registry
registry.terraform.io
'Cloud' 카테고리의 다른 글
Security Group (0) | 2023.06.01 |
---|---|
AWS Credential 설정 (0) | 2023.05.20 |
AWS CLI (0) | 2023.05.20 |
댓글