안녕하세요! BETTERMONDAY 입니다! 저번 포스팅에 이어 이번에도 달려볼까요?? 이번에는 EC2 생성입니다! 그럼~~슈우우우우웃!
1. Bastion 생성
Bastion을 생성해줍니다. 앞서했던 부분이 아파트의 기둥이나 외벽 등 기초공사였다면, 이젠 안에 집을 지어야 겠죠!
#Bastion 생성
resource "aws_instance" "tier-ec2-bastion" {
ami = "ami-006e2f9fa7597680a"
instance_type = "t2.micro"
availability_zone = "ap-northeast-2a"
subnet_id = aws_subnet.public-a.id
key_name = "tier-bastion-key"
vpc_security_group_ids = [
aws_security_group.tier-sg-pub-bastion.id
]
tags = {
"Name" = "tier-bastion"
}
}
2. Web 생성
Web또한 생성을 해줍니다. 사실 Terraform Code로도 Key를 생성할 수 있지만, 굉장히 복잡하기 때문에 편의상 Key만 콘솔에서 제작 후 진행하였습니다.
#Web,DB 이중화 구성
# Availability Zona A 에 ec2생성
resource "aws_instance" "tier-ec2-pri-a-web1" {
ami = "ami-006e2f9fa7597680a"
instance_type = "t2.micro"
availability_zone = "ap-northeast-2a"
subnet_id = aws_subnet.web-sub-a.id
key_name = "tier-web-key"
vpc_security_group_ids = [
aws_security_group.tier-sg-pri-web.id
]
tags = {
"Name" = "web1"
}
}
#Availability Zona C 에 ec2 생성
resource "aws_instance" "tier-ec2-pri-web2" {
ami = "ami-006e2f9fa7597680a"
instance_type = "t2.micro"
availability_zone = "ap-northeast-2c"
subnet_id = aws_subnet.web-sub-c.id
key_name = "tier-web-key"
vpc_security_group_ids = [
aws_security_group.tier-sg-pri-web.id
]
tags = {
"Name" = "web2"
}
}
3. Was
was는 똑같이 이중화 구성을 해주되, EBS 를 추가적으로 붙여줍니다.
# was 역시 이중화 구성이지만 ebs를 추가적으로 붙여준다.
# was
resource "aws_instance" "tier-ec2-pri-a-was1" {
ami = "ami-006e2f9fa7597680a"
instance_type = "t2.micro"
availability_zone = "ap-northeast-2a"
subnet_id = aws_subnet.was-sub-a.id
key_name = "tier-was-key"
# ebs 추가적으로 구성
ebs_block_device {
device_name = "/dev/sdb"
volume_size = "8"
}
vpc_security_group_ids = [
aws_security_group.tier-sg-pri-was.id
]
tags = {
Name = "was1"
}
}
resource "aws_instance" "tier-ec2-pri-c-was2" {
ami = "ami-006e2f9fa7597680a"
instance_type = "t2.micro"
availability_zone = "ap-northeast-2c"
subnet_id = aws_subnet.was-sub-c.id
key_name = "tier-was-key"
ebs_block_device {
device_name = "/dev/sdb"
volume_size = "8"
}
vpc_security_group_ids = [
aws_security_group.tier-sg-pri-was.id
]
tags = {
Name = "was2"
}
}
4. DB
DB는 RDS 를 사용하지 않고 EC2에 설치하여 사용할 것입니다.
#db
resource "aws_instance" "tier-ec2-pri-a-db1" {
ami = "ami-006e2f9fa7597680a"
instance_type = "t2.micro"
availability_zone = "ap-northeast-2a"
subnet_id = aws_subnet.db-sub-a.id
key_name = "tier-db-key"
vpc_security_group_ids = [
aws_security_group.tier-sg-pri-db.id
]
tags = {
Name = "db1"
}
}
resource "aws_instance" "tier-ec2-pri-c-db2" {
ami = "ami-006e2f9fa7597680a"
instance_type = "t2.micro"
availability_zone = "ap-northeast-2c"
subnet_id = aws_subnet.db-sub-c.id
key_name = "tier-db-key"
vpc_security_group_ids = [
aws_security_group.tier-sg-pri-db.id
]
tags = {
Name = "db2"
}
}
네 오늘은 3tier에 필요한 EC2들을 모두 생성해보았습니다. 다음 포스팅에선 LB생성에대해 다뤄보도록 하겠습니다.
그럼 베바~~
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
AWS Snow Family (2) | 2022.12.19 |
---|---|
AWS Terraform 3tier (4) (0) | 2022.12.19 |
AWS Terraform 3tier (2) (0) | 2022.12.19 |
AWS Terraform 3tier (1) (0) | 2022.12.19 |
AWS Outposts (0) | 2022.12.19 |
댓글