-
[TF] AWS Resource 생성DevOps/Terraform 2021. 12. 19. 01:08
Terraform 코드를 통해 EC2를 생성할려고한다.
먼저 나는 awscli 설치를 하여 aws configure를 통해 access_key, secret_key를 선언하였다.
Terraform 코드를 사용하여 간단하게 EC2 Instance를 생성할 것이다.
provider "aws" { region = "ap-northeast-2" } resource "aws_instance" "ubuntu" { # ami Ubuntu_20.04 TLS ami = "ami-0454bb2fefc7de534" instance_type = "t2.micro" tags = { Name = "TerraformUbuntu" } }
위의 코드를 init 후에 apply를 하면 plan이 나오고 생성할 것인지 묻는다.
yes를 입력하면 Creating...이 나오고 정상적으로 작동이 되면 Apply complete가 나오고 Resources 가 1 add 되었다고 나온다.
그러면 코드로 생성한 EC2 Instance를 AWS Console 상에서 확인해보자
코드에서 선언한 ami, instance_type, tags가 정상적으로 생성되었다.
EC2 Instance의 정보를 보면 VPC, Security Group, Key pair는 선언을 해주지않아 VPC와 SG는 Default로 되어있다.
Key Pair의 경우에는 기본값이 없으므로 비어있는걸 볼 수 있다.
기본적인 리소스 생성을 위한 실습이라 선언을 하지않았다.
실습 완료되었으면
terraform destroy
나 alias 선언을 했다면tf destroy
를 사용하여 Terraform으로 생성된 리소스를 삭제하면 된다.
추가로 AMI의 경우 최신 버전이 릴리즈 되었을 때를 위해 filter를 사용하여 최신 AMI를 갱신할 수 있다.
자세한 사용법은 참조 1번 참고
data "aws_ami" "example" { executable_users = ["self"] most_recent = true name_regex = "^myami-\\d{3}" owners = ["self"] filter { name = "name" values = ["myami-*"] } filter { name = "root-device-type" values = ["ebs"] } filter { name = "virtualization-type" values = ["hvm"] } }
참조
[1] https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami
'DevOps > Terraform' 카테고리의 다른 글
[TF]Terraform 조건문 (0) 2021.12.21 [TF]Terraform Count, Foreach (0) 2021.12.19 [TF]Terraform Variable & Local & Output (0) 2021.12.19 [TF]HCL 기초문법 (0) 2021.12.19 [TF]Terraform 기초 및 설치 (0) 2021.12.15