일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- AWS실습
- 리눅스
- AWS CodeDeploy
- terraform with aws
- 리눅스기초
- terraform따라하기
- Linux
- AWS CI/CD
- 최소권한
- 주피터노트북 설치
- aws
- opt/anaconda3/bin/jupyter_mac.command
- 쉘스크립트
- aws기본
- AWS구축
- blue/green배포
- 리눅스기초명령어
- terraform기본
- aws기초
- Cissp sdlc
- 리눅스명령어
- AWS배포자동화
- linux명령어
- 직무분리
- terraform기초
- GDPR
- aws terraform
- cissp
- aws따라하기
- AWS 공격테스트
ysuekkom의 IT study note
[AWS 패턴] 로드밸런싱 구축 및 DB 연결하기 II편 본문
지난 포스팅에서 기본 환경 구축 및 1개의 퍼블릭서브넷에서 프라이빗서브넷에 위치한 DB로 연결하여 워드프레스 웹 서비스를 구동시키는 것 까지 진행했다.
자세한 내용은 아래 포스팅을 참고하면 된다.
https://ysuekkom8915.tistory.com/57
이번 포스팅에서는 아래 실습 내용을 진행하겠다.
- 워드프레스 서비스가 올려진 EC2 인스턴스를 이미지화하여, 새로운 EC2를 생성한다
- 로드밸런싱(ALB)를 이용하여, 여러 EC2 인스턴스가 DB 연결될 수 있도록 구성한다
1. 워드프레스 서비스가 올라간 EC2를 이미지로 만들기
EC2 인스턴스 상탤르 "중지"상태에서 이미지화 할 것
>>EC2 > 인스턴스> 이미지로 만들 EC2 선택(본 실습에서는 wordpress-web01) > 작업-이미지 및 템플릿-이미지 생성
>>이미지 생성하기
- 이미지 이름/설명
- 재부팅 안함 옵션 활성화
- 스토리지 유형 및 다른 옵션 default값 지정
2. AMI로 새 인스턴스 생성하기
>>EC2 > 이미지 > AMI >사용완료 상태 확인>>AMI로 인스턴스 시작
혹은 EC2 인스턴스 생성하기 > 애플리케이션 및 OS 이미지 선택 시, "내 AMI" 선택해서 생성할 수 있음
- 이름: wordpress_web02
- 애플리케이션 및 OS 이미지: 내 AMI 탭에서 생성한 wordpress-ami 선택
- 키 페어: public용으로 만들어둔 키페어를 사용해도 되고, 새로 생성해도 됨(무관)
- 네트워크 설정: 실습용 생성 VPC로 변경
- 서브넷: public_subnet02(10.0.1.0/24) 대역 선택
- 퍼블릭 IP 할당: 활성화(publicSubnet이니까 활성화)
- 보안그룹: 기존 보안 그룹 선택(Public_WebServer_SG
PublicSubnet(10.0.0.0/24), wordpress_web01을 스냅샷으로 그대로 가져온 이미지로 만든 EC2이기 때문에 모든 설정이 동일함
>>이전 포스팅에서 언급했던 워드프레스 URL은 정적 주소를 사용하기 때문에 접속 불가 이슈 발생
- EIP로 고정IP 셋팅하거나
- LB(LoadBalance) 도메인으로 변경하면 깨짐/끊김/변경 없이 사용 가능 >>LB도메인으로 변경하는 실습 진행
3. 로드밸런싱 대상 그룹 생성 및 로드밸런서 생성하기(ALB)
>>EC2> Target groups > 대상그룹 진입: Create target group
- Target type: Instances
- 타겟 그룹/protocol&port 입력/선택
- VPC 선택
- Health checks: HTTP, / or /index.html
- Register targets: 타겟 그룹에 등록할 수 있는 인스턴스 목록 보여줌>> wordrpess_web01, wordrpess_web02 선택
>>EC2>로드밸런싱>로드밸런서 이동: Create load balancer
- Create LB type: ALB 선택
- Name/Scheme/IPv4
- VPC/Mappings(public_subent01,02)
- Security Group: Public_WebServer_SG
- Listeners and routing: HTTP:80/Default action: wordpress-ALB-target 선택
>>로드밸런싱 설정 완료(빨간 점선)
4. DB에 ALB 도메인 정보를 적용
DB에 접속하여 로드밸런서의 도메인으로 변경 필요함
sudo mysql -u admin -p -h [RDS 엔드포인트 도메인]
//[wordpress DB 접속]
use wordpress
select * from wp_options where option_id<3;
update wp_options set option_value='http://[로드밸런서 DNS 도메인 주소]' where option_id<3;
select * from wp_options where option_id<3; //다시 확인하기
5. ALB 도메인으로 접속 가능 여부와, 로드밸런싱 정상동작 확인하기
>>ALB 도메인으로 접속 확인
wordpress_web01 EC2로 접속하여, 테스트 페이지 구성하기
>>ALB도메인내에서 1.html로 접속 시, EC2 wordpress_web01에만 생성해놓은 1.html 테스트페이지가 정상적으로 보여졌다가, Not Found가 떴다가 반복하는걸로 로드밸런싱 정상 동작 확인
마치며
데이터베이스 연결 실습은 처음으로 진행해보았다. 앞으로 실습 구축 시 콘솔을 이용하여 AWS 서비스중 몇 가지를 더 사용해볼 예정이다. 그 이후에는 테라폼을 이용하여 코드로 인프라 구축하는 실습 위주로 진행하겠다!
눈으로 확인하거나 이론상으로만 짚고 넘어가는 것 보다, 실제로 환경을 구축해보면 생각하지 못했던 부분에서 막힐 때가 있다.
그 부분을 해결하면서 AWS 인프라에 대한 이해가 확실히 잡히는 편이니, 조금 귀찮더라도 꼭 콘솔 혹은 테라폼을 이용하여 인프라를 구축해서 시나리오 별로 확인해보길 추천한다!
실습 종료 후, 반드시 모든 자원은 삭제 하세요!
'Cloud Service > AWS 패턴' 카테고리의 다른 글
[AWS 패턴] AWS 쾌속 개발 환경 구축하기-자동화 및 무중단 릴리스(관리형 컨테이너 ECS, Blue/Green 배포) (0) | 2023.08.02 |
---|---|
[AWS 패턴] PublicSubnet에서 private AZ 내 데이터베이스 LB로 연결/접속하기 I편 (0) | 2023.07.24 |
[aws 패턴] aws 백업 알아보기 - 장애대비편(가용성 확보, 장애대비 오프사이트 구성 등) (1) | 2023.01.14 |
[AWS 패턴] AWS IAM 사용자그룹 및 사용자 추가, 권한/정책 부여 실습(Terraform IaC) (0) | 2023.01.10 |
[aws 패턴] 인메모리 캐시 & 고속 RDB를 활용하여 성능 요구사항 만족하기 (0) | 2023.01.09 |