# AWS CLI 버전 확인
aws --version
# AWS ec2 설정 확인하기
aws ec2 describe-instances
# AWS ec2 설정 확인하기 - 정보를 필터링(id, 상태, privateIP)해서 텍스트로 출력하기
aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, State.Name, PrivateIpAddress]' --output text
# 반복(1초간격)해서 인스턴스 정보 확인 - 오토스케일링에 의해서 인스턴스가 증가하게 되면 그 정보를 확인하기 위해서
while true; do aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, State.Name, PrivateIpAddress]' --output text; date; sleep 1; done
--------------------------------------------------------
# ApachBench(부하테스트용) 확인 - 이미 설치되어있어서 사용가능함
ab -V
# ALB DNS 이름 변수 지정
ALB=ALB DNS 이름
# dig(도메인주소찾기)로 ALB 변수로 잘 들어갔는지 체크 - IP 주소 나옴
dig +short $ALB
# ALB로 요청보내보기 - ALB에 아무 인스턴스도 연결되어있지 않기떄문에 503이 반환됨
curl $ALB
--------------------------------------
(아래는 Auto Scaling 배포 후)
# 반복문으로 인스턴스 정보확인
while true; do aws ec2 describe-instances --filter "Name=tag:Lab,Values=ASLab" --query 'Reservations[*].Instances[*].[InstanceId, State.Name, PrivateIpAddress]' --output text; date; sleep 1; done
# 반복문으로 ALB에 요청 보내기
while true; do curl $ALB --silent --connect-timeout 1; date; echo "---[AutoScaling]---"; sleep 1; done
#!/bin/bash
RZAZ=`curl http://169.254.169.254/latest/meta-data/placement/availability-zone-id`
IID=`curl 169.254.169.254/latest/meta-data/instance-id`
LIP=`curl 169.254.169.254/latest/meta-data/local-ipv4`
amazon-linux-extras install -y php7.2
yum install httpd htop tmux -y
systemctl start httpd && systemctl enable httpd
echo "<h1>RegionAz($RZAZ) : Instance ID($IID) : Private IP($LIP) : Web Server</h1>" > /var/www/html/index.html
echo "1" > /var/www/html/HealthCheck.txt
curl -o /var/www/html/load.php https://cloudneta-book.s3.ap-northeast-2.amazonaws.com/chapter5/load.php --silent
curl -o /var/www/html/cpuload.php https://cloudneta-book.s3.ap-northeast-2.amazonaws.com/chapter5/cpuload-aws.php --silent
생성된 Auto Scaling 그룹 클릭 → 세부 정보 → 하단 고급 구성 편집 클릭 → 업데이트
종료 정책 : Newest Instance → 기본 Default 는 제거
및 Newest Instance 선택
기본 휴지 기간 : 180초
축소 조정 정책을 추가 : 생성된 Auto Scaling 그룹 클릭 → 자동 조정 → 정책 추가 클릭
( 내용 요약 )
새로생성 으로 이름 만들어 준 후 체크 클릭
위젯 유형 - 행
대시보드에 추가 하기
# 관리자 권한으로 변경
sudo su -
# 인스턴스 상태확인 모니터링 ( 터미널 1 )
htop
# 웹 접속 테스트 (리전, 인스턴스ID, Private IP)
ALB=ALB-TEST-1723846256.ap-northeast-2.elb.amazonaws.com
# 접속 시 마다 CPU 부하 발생
curl $ALB/load.php;echo
# 접속 시 마다 현재 CPU 부하 출력
curl $ALB/cpuload.php;echo
# 1개 요청(풀)로 총합 500번 요청 진행
ab -n 500 -c 1 http://$ALB/load.php
---------정보확인
# 현재 인스턴스 정보 확인
while true; do aws ec2 describe-instances --filter "Name=tag:Lab,Values=ASLab" --query 'Reservations[*].Instances[*].[InstanceId, State.Name, PrivateIpAddress]' --output text; date; sleep 1; done
# ALB 부하분산 접속 확인
while true; do curl $ALB --silent --connect-timeout 1; date; echo "---[AutoScaling]---"; sleep 1; done
# 접속 되는 EC2 마다 현재 CPU 부하 출력
while true; do curl $ALB/cpuload.php --silent --connect-timeout 1; date; echo "---[AutoScaling]---"; sleep 1; done
# EC2 증가 이후 증감 확인
for i in {1..100}; do curl $ALB --silent ; done | sort | uniq -c | sort -nr
로그확인하기
Auto Scaling > 내가만든그룹선택 > 활동
여기서 작업 로그를 확인할 수 있음