티스토리 뷰
1. 모니터링 할 인스턴스 생성을 위해 AWS Console 에서 EC2 서비스로 이동
2. 인스턴스 시작 버튼을 클릭
3. 다음과 같이 설정합니다
이름 및 태그 : -ec2
Amazon Machine Image(AMI):
Amazon Linux 2 AMI ( Kernel 5.10, SSD
Volume Type
인스턴스 유형: t2.micro
키 페어: 새 키 페어 생성 클릭
키 페어 이름: -key
키 페어 유형: RSA
프라이빗 키 파일 형식: .pem
네트워크 설정에서 편집 클릭
보안그룹 생성을 선택하고, 이름과, 설명란에 -sg를 입력
하단의 보안 그룹 규칙 추가를 클릭하고, 아래 규칙을 추가
유형 : http
소스유형: 위치무관
나머지 설정은 기본설정으로 한 뒤, 인스턴스 시작 클릭
4. EC2 서비스에서 인스턴스로 이동한 뒤 위에서 생성한 인스턴스를 선택,
그리고 세부 모니터링 관리 클릭, 모니터링 탭에서 세부모니터링 관리 클릭
5. 세부 모니터링 팝업 창에서 인스턴스ID 를 메모장에 복사한 뒤,
세부 모니터링 활성화 체크 후 확인 클릭
6. 인스턴스 메뉴의 모니터링 탭으로 이동하여 그래프를 확인
(사용자지정 Custom) 버튼을 이용하여 분, 시간, 일 등 사용자가 원하는 주기로 선택 가능
7. 각 지표의 항목창에 마우스 커서를 올려두면 확장버튼이 나타나며, 해당 버튼을 클릭하면 확대된 그래프 확인 가능
8.서비스 검색란에 Cloudwatch 를 검색하여 서비스로 이동
9.좌측 메뉴중 지표>모든 지표 클릭
10. 찾아보기 클릭한 뒤 EC2 클릭
11. 인스턴스별 지표 항목을 클릭
12. 이전에 메모장에 복사했던 인스턴스 ID를 지표 검색창에 붙여넣어 검색
13. 원하는 지표 메트릭 의 체크박스를 선택하여 상단의 그래프 창에서 지표 그래프 확인(이름 다음에 CPU라고 붙어 있으면 CPU 지표이다-체크 박스를 누르면 위에 지표가 나타난다.
14.EC2 인스턴스의 주요 지표들을 각각 확인
◼CPU Utilization: 현재 인스턴스에서 사용하고 있는 컴퓨팅 파워
◼Disk Read Ops/Disk Write Ops: 해당 인스턴스에 연결된 모든 로컬 디스크에서 읽은 쓴 오퍼레이션의 수
◼Network In/Out: 인스턴스의 네트워크 인터페이스를 통해 들어온 나간 바이트 량
◼Status Check Failed: 상태 검사 실패 여부
15. Cloudwatch 메뉴에서 대시보드 클릭, 우측 대시보드 생성 클릭
16. 대시보드 이름에 -dashboard 입력한 뒤 대시보드 생성 클릭
17. 지표 데이터 유형을 선택하고, 행을 선택한 뒤 다음 클릭
18. EC2 > 인스턴스별 지표 > 인스턴스 ID 입력 > CPUUtilization 선택 > 위젯 생성을 클릭
19. 생성한 인스턴스의 CPU 관련 지표 위젯이 추가 된 것을 확인.
다양한 위젯의 다른 지표항목도 추가하여 위젯 구성
(저장을 눌러 현재 대시보드를 저장할 수 있음)
세부 모니터링은 추가 요금이 적용된다는 점을 유의하자.
LAB 7
Resource Monitoring
1.Cloudwatch Agent 를 설치하기 위해 권한이 필요, IAM 서비스로 이동
2. 좌측 메뉴 중 역할을 클릭하고 역할생성을 클릭
3. 엔터티 유형은 AWS서비스를 선택하고, 서비스 또는 사용사례에 EC2를 선택 한 뒤 다음을 클릭
4.검색란에 CloudWatchAgentServerPolicy 를 검색하여 선택 한 뒤,
AmazonSSMFullAccess 권한도 검색하여 선택한 뒤 다음을 클릭
5.역할 이름란에 -cwagspolicy 를 입력한 뒤 역할 생성을 클릭
6.EC2로 이동하여 위에서의 이름을 검색하여 이전에 생성했던 인스턴스를 선택
7. 우측의 작업, 보안, IAM 역할 수정을 클릭
8. IAM 역할에 -cwagspolicy 이름을 검색하고 이전에 생성했던 역할을 선택한 뒤 IAM 역할 업데이트를 클릭
9.인스턴스 목록 화면으로 돌아가, 해당 인스턴를 선택한 뒤, 연결을 클릭하고, 연결을 한번 더 클릭하여 접속
10.아래 명령으로 Cloudwatch Agent 설치
sudo yum install amazon-cloudwatch-agent
11.Cloudwatch Agent 구성 마법사를 실행
sudo /opt/aws/amazon-cloudwatch-agent/bin\
/amazon-cloudwatch-agent-config-wizard
12.Enter 키를 연속으로 입력하여 Default 설정으로 선택하다가 Log file path 를 입력하라는 메시지가 나오면 /var/log/messages 를 입력
13. 다시 Enter 키를 연속으로 입력하여 Default 설정으로 선택을 하다가 모니터링할 추가 로그 파일을 지정하시겠습니까?
라는 질문 이후 Log file path 에 /var/log/secure 를 입력
14. 그리고 다시 Enter 키를 연속으로 입력하여 Default 설정으로 선택을 하다가 모니터링할 추가 로그 파일을 지정하시겠습니까? 라는 질문이 다시 나오면 2를 입력하고,
CloudWatch 에이전트가 X Ray 추적도 검색하도록 하시겠습니까? 라는 질문에도 2를 입력
15. 그리고 다시 Enter 키를 연속으로 입력하여 Default 설정으로 선택을 하면 성공적으로 구성이 완료
16.아래 명령으로 Collectd 를 설치
sudo amazon-linux-extras install collectd
17. Cloudwatch Agent Agent를 실행
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
-a fetch-config -m ec2 -s -c \
file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
EC2 memory 모니터링
18. Cloudwatch 서비스로 이동하여 좌측메뉴 중 지표를 클릭하고, 모든 지표를 클릭
그리고 1~2 2분 뒤 CWAgent 생성이 완료되면 CWAgent를 클릭
19.InstanceID 를 클릭
20.mem_used_percent 지표 메트릭 를 선택하여 그래프를 확인
(그래프가 출력이 안된다면 1~5 5분 정도 대기후 우측 상단 새로고침 버튼을 눌러 다시 확인
EBS모니터링
21. 이번에는 EBS 볼륨을 모니터링 해보기 위해 EC2 서비스로 이동한 뒤
좌측 메뉴 중 Elastic Block Store 의 볼륨을 클릭
22.검색란에 이름을 입력하고 출력되는 볼륨을 선택하고, 상태 검사 탭의 볼륨 상태, I/O 상태, 자동 활성화된 I/O O가 활성화 상태인지 확인
23.EBS 볼륨의 지표를 확인하기 위해 모니터링 탭을 클릭
24.EBS 볼륨의 주요 지표들을 확인
(인스턴스 지표와 마찬가지로 각 그래프 확대 가능
✓읽기 쓰기 처리량 (KiB/s)
✓읽기 쓰기 작업 (Ops/s)
✓평균 대기열 길이 작업
✓유휴 시간
✓평균 읽기 쓰기 크기 (KiB/s)
✓평균 읽기 쓰기 지연 시간 (ms/s)
✓버스트 잔고
25.대시보드에 EBS 볼륨의 위젯을 추가 해보기 위해,
먼저, EBS 볼륨 검색창에 이름을 검색해, 해당 EBS 볼륨 ID를 복사
26.CloudWatch 서비스로 이동하여 대시보드를 클릭,
대시보드 생성을 클릭하고 -EBS-dashboarddashboard을 입력하여 대시보드를 생성
27.원하는 위젯을 선택
EBS--> 볼륨 별 지표 복사한 EBS 볼륨 ID를 검색하고, 원하는 지표 선택
위젯 생성 버튼을 클릭
28. 대시보드에 위젯이 추가된 것을 확인
ELB 모니터링
29.로드밸런서와 연결하기 위한 인스턴스를 아래 설정으로, 하나 더 추가로 배포 (LAB6 참고
•이름 : -ec2-2
•AMI : Amazon Linux 2 AMI (HVM) Kernel 5.10, SSD Volume Type
•인스턴스 유형 : t2.micro
•키 페어 : -key 선택 (LAB6 에서 생성했던)
•보안그룹 : -sg 선택 (LAB6 에서 생성했던)
•나머지 항목은 기본값으로 설정합니다
설정을 완료했다면 인스턴스 시작을 클릭하여 인스턴스 배포
30. 로드밸런서 생성을 위해 EC2 서비스 --> 로드밸런서로 이동
31. 로드밸런서 생성 클릭
32. Application Load Balancer(ALB) 생성을 클릭
33.이름은 -alb라고 입력
34. 매핑에서, 서브넷을 모두 선택
35.보안그룹은 이전에 만들었던 -sg 선택
36.리스너 및 라우팅 탭에서 대상 그룹 생성을 클릭
37.대상 유형은 인스턴스를 선택
38.이름은 -alb-tg 입력 한 뒤 아래 다음 클릭
39.대상등록에서, 이전에 생성했던 두 인스턴스( ec2, ec2-2) 를 선택하고, 아래에 보류중인 것으로 포함 클릭
40.그리고 하단 대상 그룹 생성을 클릭
41.다시 로드밸런서 생성 창으로 돌아와서, 새로고침 버튼을 클릭하여 방금 생성한 대상그룹을 선택한 뒤 로드밸런서 생성을 클릭합니다.
42.로드밸런서의 상태가 활성이 될때까지 대기하다가 활성이 되면, 좌측에 DNS 이름 복사버튼 클릭
43.복사한 DNS를 웹브라우저창에서 접속
(Web 페이지를 출력하기 위한 구성이 되어있지 않아 오류 메시지가 뜨지만 무시)
44.로드밸런서에서 체크 및 리스너 및 규칙 > 생성한 대상 그룹을 선택
45.연결된 인스턴스들의 상태를 확인
(현재 Web Server Server가 구축되지 않아 unhealthy 상태)
46.-ec2 인스턴스로 접속하여 아래 명령을 사용하여 웹서버를 설치
sudo yum install httpd
47.아래 명령으로 웹서버를 시작
sudo systemctl start httpd
sudo systemctl status httpd
48.웹서버 페이지 구성 파일을 복사
sudo cp /usr/share/httpd/noindex/index.html /var/www/html/index.html
49.다시 대상그룹 화면으로 돌아와 인스턴스들의 상태를 확인(2~3 3분 소요)
50. 타겟그룹의 모니터링 탭에서 호스트에 대한 위젯들을 확인
51. 기존 Cloudwatch 대시보드에 로드밸런서 위젯도 추가하여 구성