22.07.20
목차
1. AMI 생성
2. ALB
- ALB 생성
- Target Group 생성
- ALB Listener 추가
3. Auto Scaling
- 시작 구성을 위한 IAM Instance Profile 생성
- Launch Configuration(시작 구성)
- Auto Scaling Group 구성
- ALB에 Attach
4. RDS
- DB의 Endpoint 확인 및 사전 체크
- RDS 생성
5. Wordpress 연동 테스트
AMI 생성
- registry.terraform.io에서 aws_ami 확인
- 기존의 인스턴스 아이디를 사용
- 인스턴스가 존재해야하므로 depends_on
- depends_on : 의존성을 명시적으로 선언
ALB
ALB 생성
- registry.terraform.io에서 aws_lb 확인
- internal을 false로 설정하여 외부에 공개하는 Load Balancer로 설정
- dns 출력을 위해 output 추가
- 조회가 되어야 접속이 가능하다!
Target Group 생성
- registry.terraform.io에서 aws_lb_target_group 확인
- enabled : 상태확인 활성화 여부(default : true)
- healthy_threshold : 비정삭적인 대상을 정상으로 간주하기 전에 필요한
연속 상태확인 성공횟수(default : 3)
- interval : 대상에 대한 상태 확인 사이 시간(최소 5초 ~ 최대 300초)
- matcher : 대상의 정상적인 응답을 확인할 때 사용하는 응답 코드(200 : 정상 페이지 처리)
- path : Health Check 요청 대상
- timeout : 응답이 없는 상대가 상태 확인에 실패했음을 의미하는 시간
- unhealthy_threshold : 대상을 비정상으로 간주하기 전 필요한 연속적인 상태 확인 실패 횟수
ALB Listener 추가
- FrontEnd 부분인 Listener 부분 설정
- registry.terraform.io에서 aws_lb_listener 확인
Auto Scaling
시작 구성을 위한 IAM Instance Profile 생성
- 생성되는 EC2 인스턴스마다 IAM 역할을 전달 하기 위함
Launch Configuration(시작 구성)
- registry.terraform.io에서 aws_launch_configuration 확인
- user_data를 이용하여 Auto Scaling으로 생성되는 EC2 인스턴스마다
해당 내용이 적용되도록 설정
Auto Scaling Group 구성
- registry.terraform.io에서 aws_placement_group 확인
- 배치 전략은 Cluster 단위
- 최소 용량 및 최대 용량 설정
- desired_capacity : 처음 생기는 EC2 인스턴스의 수
- 시작 구성 및 VPC의 Subnet 추가
ALB에 Attach
RDS
DB의 Endpoint 확인 및 사전 체크
- 평소에 쓰던 mysql5.7로 terraform 코드를 구성하면 오류가 발생하여 8.0으로 대체
RDS 생성
Wordpress 연동 테스트
- 수정 후, plan & apply 진행!