ALB 리스너 규칙과 보안그룹의 차이?
- 보안그룹은 해당 리소스로 접근을 허용하는 경로로 가상의 방화벽이다. 보안그룹 인바운드 규칙에 "HTTP, 180.32.32.12/32"을 추가했다면 IP 주소가 180.32.32.12인 얘가 80번 포트로 보낸 요청은 해당 리소스로 접근을 허용하겠다는 의미이다.
- 리스너 규칙은 들어온 요청을 어떻게 처리할 것이냐에 대한 규칙이다. 리스너 규칙에 "80번, 대상그룹A", "443번, 대상그룹B"이 있다면, 80번 문(포트번호)으로 들어온 얘(트래픽)은 대상그룹A로, 443번 문(포트번호)으로 들어온 얘(트래픽)은 대상그룹B로 보내겠다는 규칙이다.
시작템플릿 > 사용자데이터
- EC2 AutoScalingGroup을 위한 시작 템플릿을 만들기 위해서 사용자데이터를 활용할 수 있다. 사용자데이터는 EC2 시작과 함께 해당 EC2에서 실행될 명령어이다.
- 웹서버로 아파치를 설치하기 위해선 아래 명령어를 입력하면 된다
yum install httpd -y
systemctl start httpd && systemctl enable httpd
이와 함께 시스템 모니터 도구와 터미널 멀티플렉서도 함께 설치할 수 있다.
yum install htop -y
yum install tmux -y
근데 이렇게 하면 번거로우니 한번에 입력해도 된다
yum install httpd htop tmux -y
systemctl start httpd && systemctl enable httpd
Auto Scaling Group의 작동을 확인하기 위해 EC2의 가용영역과 인스턴스ID 그리고 해당 EC2의 사설IP 주소를 불러올 수도 있다.
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` RZAZ=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/placement/availability-zone-id) IID=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/instance-id) LIP=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/local-ipv4)
*AWS교과서: 책에선 TOKEN 설정 내용이 없습니다. 토큰 설정은 IMDSv2으로 메타데이터에 대한 접근 방식 변경으로 인한 것입니다. IMDSv2는 2023년 3월부터 기본적으로 적용된 내용인데, 출판시기가 2023년 10월이고 아마 이 내용이 반영되지 않은 것 같습니다. 책 내용만 보고 Unauthorized가 계속 나타난다면 위 양식으로 시도해보시면 해결될 수도 있을 겁니다.
오토스케일링 등록
- 상태 확인 > 상태 확인 유예 기간: 상태 확인은 오토스케일링된 리소스의 Healthcheck 기능입니다. 비정상일 경우, 스케일 아웃을 실행할 수 있습니다. 다만 리소스를 추가할 경우, 최초 가동까지 다소 시간이 소요됩니다. 이때 Healthcheck할 경우 Fail이 날 수 있기 때문에 약간의 시간을 줄 필요가 있습니다. 이를 위해 최소 상태 확인까지 약간의 유예 시간을 줄 수 있는 설정이 상태 확인 유예 기간 값입니다.
- 크기 조정 정책 > 대상 추적 크기 조정 정책 > 대상 값: 지표에 따라 크기 조정을 자동으로 수행할 수 있는 기능입니다. 지표 유형이 "평균 CPU 사용률"이고 대상 값이 "80"이라면, 서버 몇개를 가동중이든 1개가 평균 CPU 사용률이 80을 초과할 경우, 스케일 아웃을 실시하도록 설정한다는 의미입니다.
- 크기 조정 정책 > 대상 추적 크기 조정 정책 > 인스턴스 워밍업: 새로 생긴 리소스(뉴비)한테는 해당 지표 체크를 하지 않겠다는 것입니다. 워밍업 값이 60이라면, 오토스케일링으로 인해 EC2가 새로 가동됐을 때 최초 60초는 평균 CPU 사용률이 얼마여도 괜찮다는 의미입니다.
- 크기 조정 정책 > 대상 추적 크기 조정 정책 > 확대 정책만 생성하려면 축소 비활성화: 축소 정책은 실행하지 않는다는 것입니다. 가령 지표 유형이 "평균 CPU 사용률"이고 대상 값이 "80" 설정에서 평균 사용률이 40으로 떨어지더라도 축소는 실시하지 않겠다는 의미입니다. 근데, 이를 설정하지 않았더라도 등록 후 편집을 통해 축소 정책을 추가할 수 있습니다.
오토스케일링 정책 편집
- 종료 정책 > 휴지 기간: 오토스케일링에게 주는 쉬는 시간입니다. 종료 정책으로 어떤 서버가 종료되면 휴지 기간 동안에는 ASG가 아무것도 안하도록 냅두는 시간입니다. 이때 동안에는 추가로 서버를 종료시키거나 확장하는 등의 오토스케일링은 이뤄지지 않습니다.
출처
[AWS] 로드벨런서(Load Balancers) Listener 룰 추가 & 수정 - ALB, NLB
오늘은 AWS 로드벨런서의 리스너(Listener) 설정 방법에 대해 정리하려고 한다. 로드벨런서와 리스너란 무엇인지 간단히 알아보고, 생성된 로드벨런서에 새로운 리스너 룰을 추가하는 방법과 이를
log4day.tistory.com
[AWS] 📚 Auto Scaling 개념 원리 & 사용 세팅 💯 정리
오토 스케일링 (Auto Scaling) 클라우드 컴퓨팅의 대표적인 장점으로는 필요에 따라 서비스를 빠르게 확장하거나 축소할 수 있는 유연성을 들 수 있다. 그중, 오토스케일링(Auto Scaling)은 클라우드의
inpa.tistory.com
AWS - 7 [ASG(오토스케일링)]
현실에서는 웹사이트와 애플리케이션이 변경이 되기 마련이며, 트래픽이 갑자기 증가하는 현상도 발생하기 마련입니다.이러한 상황에 맞춰서 스케일 아웃이 필요하며, 부하가 증가되어 더 많
velog.io
'AWS' 카테고리의 다른 글
IAM 사용자로 AWS 사용하기 (0) | 2024.04.13 |
---|---|
[AWS 교과서] 내멋대로 RDS 실습 (0) | 2024.03.04 |
[AWS교과서 실습] SSH 터미널에서 vi 편집기를 통해 Apache 파일 설정 수정하기(XFF 필드 추가를 통해 출발지IP보존하기) (0) | 2024.02.26 |
[AWS교과서 실습] User-Agent 추가하기(iphone, android만 고정 응답 반환/HTTP 헤더 기반 라우팅) (1) | 2024.02.25 |
AWS C03 합격 기록 (0) | 2024.02.09 |