일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dict
- wetube
- docker
- socket io
- TypeScript
- node
- Vue
- 파이썬
- AWS
- react
- git
- 채팅
- MongoDB
- SSA
- SAA
- pandas
- 중급파이썬
- RDS
- EC2
- Class
- async
- merge
- crud
- flask
- S3
- lambda
- 튜플
- NeXT
- 카톡
- Props
- Today
- Total
초보 개발자
AWS ELB 실습 본문
인스턴스를 두개 생성한 뒤, 로드밸런서를 활용하여 트래픽을 분산시키는 실습을 해보려고 한다.
먼저 인스턴스를 두개 생성한 뒤 ( 가용영역은 각각 1c, 1a로 지정, 하나는 퍼블릭 서브넷에, 하나는 프라이빗 서브넷으로 만들었다.)
유저 스크립트로 기본적으로 httpd를 실행시켜 자신의 프라이빗 아이피를 나타내도록 설정해두었다.
대상그룹을 만들고 그 안에 넣어주어야 한다. 대상그룹을 만들 때 여러개가 있지만 인스턴스로 지정해주었다.
추가 설정은 아래와 같이 해주었다.
대상그룹 자체에는 보안 그룹을 지정할 수 없다. 대상 그룹 안에 있는 각 인스턴스들에게 적용해주어야한다.
또 대상그룹 안에 있는 인스턴스들은 공통된 보안그룹을 가지는 것이 좋을 것이다.
이 때 로드 밸런서의 보안 그룹을 소스에 넣어주면, 로드 밸런서로 부터 들어오는 트래픽을 지정할 수 있다.
예를들어 0.0.0.0/0의 80번 포트로 열어두었다면 로드밸런서를 타고 들어오지 않아도 직접 인스턴스에 접근이 가능한데,
로드 밸런서의 보안그룹과 80번포트를 열어두면 로드밸런서를 통해 들어왔을 때만 접근이 가능하다. 이 것이 훨씬 보안적인 측면과 사용에 있어 효과적일 것이다.
http https를 다룰것이기에 애플리케이션 로드밸런서로 만들어 주었는데 다른 통신을 할거면 다른 로드밸런서로 만들어주어야한다.
가용영역을 정하면 가용영역의 특정 서브넷을 고를 수 있다.
여기서 외부 (인터넷 페이싱)을 선택한 경우 인터넷을 통해 외부에서 접근하려면 퍼블릭 서브넷을 골라야하고, 내부를 고른 경우에는
외부에서 접근하는 것이아닌 내부에서 로드밸런서를 사용할 때라고 한다.
로드밸런서를 만들고 대상그룹을 지정해주면 아래와 같이 잘 동작이 되는 것을 확인할 수 있다. 같은 주소지만 다른 인스턴스가 실행되는 것을 확인할 수 있다.
기본 규칙은 대상그룹으로 라우팅 시켜주는 건데, 아래처럼 특정 url이 적히면 리다이렉팅 시켜주는 것 또한 추가해줄 수 있다.
HTTPS 리스너 추가
위에서 설정한 것은 http 리스너 였고 https리스너를 ALB에 하나 추가해주자.
특정 클라이언트가 https프로토콜로 443포트로 요청을 보내면 해당 대상그룹으로 라우팅 해주는 것이다.
여기서 secure이기에 ALB라면 https, NLB라면 tls프로토콜을 사용할 것이고 SSL을 추가해주어야 한다.
security policy에는 어떠한 방식으로 인증서와 협상할 것인지를 정하는 것이고 기본값으로 두자.
ACM에서 SSL을 발급받아서 넣을 수도 있고, IAM에 있는 걸 넣을 수도 있고(권장하지않음), import로 외부의 것을 등록할 수 있다.
'AWS SAA' 카테고리의 다른 글
AWS RDS (0) | 2023.02.02 |
---|---|
AWS ASG 실습 (0) | 2023.02.01 |
AWS ELB, ASG (0) | 2023.01.29 |
AWS EFS 실습 (0) | 2023.01.29 |
AWS EBS,AMI (1) | 2023.01.28 |