반응형
** Terraform 실행 시 현 디렉토리 내 모든 tf 파일 참조됨
=> 리소스 별 분리 관리 시 편함
최종 목표 아키텍처
STEP 2: EC2 인스턴스 생성
- AMI : Ubuntu Server 18
- instance type : t2.micro
- 사용자 데이터 (최종 출력 확인 시 Hello, World 확인)
#!/bin/bash
echo "Hello, World" > index.html
nohup busybox httpd -f -p ${var.server_port} &
- 키페어 : EC2 할당 (수동 or 원래 있던 키페어 사용 - 필자는 원래 있던것 사용)
1. Key pair 생성 (ec2.tf)
#key-pair 생성
#키페어 생성 및 설정
resource "aws_key_pair" "ec2-key" { # ec2-key라는 이름의 aws_key_pair라는 타입의 리소스를 정의한다.
key_name = "Terraform-ec2-keypair" # 생성될 키페어의 이름
public_key = file("~/.ssh/id_rsa.pub") # 키페어에 사용할 public key 지정
tags = {
Name = "Terraform-ec2-keypair"
}
}
key-pair 생성 참고 링크
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair
https://kitty-geno.tistory.com/72
2. EC2 생성 (ec2.tf)
#EC2 생성
# EC2 생성 및 설정
resource "aws_instance" "app_server" { # EC2 인스턴스 생성
ami = "ami-0cb1d752d27600adb" # ami 확인 필수
instance_type = "t2.micro" # 인스턴스 타입
security_groups = [aws_security_group.pubSg.id]
subnet_id = aws_subnet.pub_subnet1.id
key_name = aws_key_pair.ec2-key.key_name
associate_public_ip_address = "true"
# 유저데이터 작성
user_data = <<-EOF
#!/bin/bash
echo "Hello, World" > index.html
nohup busybox httpd -f -p 8080 &
EOF
tags = {
Name = "Terraform-EC2"
}
}
EC2 생성 참고 링크
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance
* ami 확인
- 인스턴스 생성 란에서 확인 가능
반응형
'IaC > Terraform' 카테고리의 다른 글
[Mac OS] Terraform 을 이용한 어플리케이션 구성 - Step 3~4 (0) | 2023.02.12 |
---|---|
[Mac OS] Terraform 을 이용한 어플리케이션 구성 - Step 1 (0) | 2023.02.11 |
IaC, Terraform 기초 (Infrastructure as Code, 코드형 인프라, Terraform) (0) | 2023.02.07 |
YAML 이란 (0) | 2023.01.04 |