본문 바로가기
AWS

AWS 기반 웹서비스 구성 실습(2)

by 장중앙 2021. 8. 18.

https://jangcenter.tistory.com/3 AWS기반 웹서비스 구성 실습(1)에서 이어짐

 

AWS 기반 웹서비스 구성 실습

1. 네트워크 구성  1. VPC 생성  2. 생성한 VPC에 또 다른 subnet 추가  3. 라우팅 테이블 편집  4. 보안 그룹 생성 서브넷에 생성할 인스턴스로 HTTP(80), SSH(22) 접근을 허용하도록 설정 2. 웹 서버..

jangcenter.tistory.com

1. 가용성 보장을 위해 다른 가용영역에 동일한 웹 서비스 구성

동일하게 인스턴스를 만들어도 되지만 복잡한 서비스의 경우 시간이 많이 소요될 수 있음
완전히 동일하거나 시간을 줄이기 위한 방법 -> 이전에 만든 인스턴스의 이미지(AMI)를 이용해 인스턴스 생성

 

기존의 인스턴스를 이용해 AMI(Amazon Machine Image)생성

 



생성된 이미지를 확인

pending(생성중) 이미지 생성이 완료되면 상태 값이 available 로 변경

생성된 AMI를 이용하여 인스턴스 생성

이후 과정은 인스턴스 생성과 유사

 

 

네트워크 : 본인이 생성한 VPC를 선택

서브넷 : 두번째로 생성한 서브넷을 선택

퍼블릭 IP 자동 할당 : 활성화

*사용자 데이터는 입력하지 않아도 됨(AMI를 이용하여 인스턴스를 생성하기 때문에) 

 

본인이 생성한 보안 그룹을 선택

 

기존 키 페어를 선택

 생성된 인스턴스 확인

2. 로드벨런스 설정

사용자가 외부에서 접속할 경우 개별 인스턴스로 가는 경우를 막기 위해 로드벨런스가 필요

사용자가 로드벨런스에 요청할 경우 로드벨런스가 인스턴스에게 분배

- 개별 인스턴스가 몇개가 있는지 등 내부를 감출 수 있으며, 부하를 분산시킴

 

 

 

 

 

일반적으로 로드밸런스로 SSH 접속이 불필요하므로 새로운 보안그룹을 생성해서 80포트로만 접근을 허용

로드벨런스가 부하분산을 위한 라우팅 대상을 묶음

 

생성된 로드벨런스 확인

F5를 누를때 마다 InstanceId가 변경됨(로드벨런스가 동작중임을 확인)

* 로드벨런스에 연결된 2개의 인스턴스중 한개를 중지한다면 실행중인 인스턴스로만 연결됨

 

인스턴스의 보안그룹 설정을 변경

모든 요청을 로드벨런스를 통해서 처리하기 위해 사용자가 개별 인스턴스로 직접 접속하는 것을 제한할 필요가 있음

기존의 인스턴스 보안그룹에서는 어디서든 80포트 접속을 허용하고 있음

기존의 HTTP규칙의 소스항목에서 로드벨런스 생성시 만든 보안그룹을 선택후 규칙 저장

작업 후에는 개별 인스턴스로의 접속이 불가

로드벨런스를 통해서만 접속 가능

 

 

댓글