4. 실습
사전 준비 사항
- SSH Client 프로그램 : 윈도우(MobaXterm)
- SCP 프로그램 : 윈도우(FileZilla client)
- 신규 VPC 생성 : SecondVPC 생성
1. 서비스 → VPC → VPC 마법사 시작 클릭
2. [1단계] 단일 퍼블릭 서브넷이 있는 VPC 선택
3. [2단계] 아래 입력 VPC 생성 선택
IPv4 CIDR 블록 : 10.20.0.0/16
VPC 이름 : SecondVPC
퍼블릭 서브넷의 IPv4 CIDR : 10.20.1.0/24
가용 영역 : ap-northeast-2a
서브넷 이름 : SecondVPC-Subnet1
AWS EC2 인스턴스를 배포 후 해당 인스턴스에 SSH Client 로 접속을 하고 기본 동작들 확인
AWS 관리 콘솔에 접속 후 EC2 배포 & 인스턴스 시작 시 명령 실행
- EC2 서비스 → '인스턴스 시작' 클릭
단계 1 : Amazon Machine Image(AMI) 선택 → 'Amazon Linux 2 AMI : 64bit(x86)' 선택
단계 2 : 인스턴스 유형 선택 → 't2.micro vCPU(1) MEM(1GiB)' 선택
단계 3 : 인스턴스 세부 정보 구성 → 아래 내용 입력 후 하단 다음: 스토리지 추가
- 네트워크 : SecondVPC
- 서브넷 : 'SecondVPC' 선택 시 자동으로 1개 있는 서브넷 선택됨
- 퍼블릭 IP 자동 할당 : 활성화
- 고급 세부 정보
- 사용자 데이터 : 텍스트로 → 아래 내용을 복사 붙여넣기 ⇒ 인스턴스 시작 시 명령 실행
#!/bin/bash
hostnamectl --static set-hostname AFOS2-WebSrv
yum install httpd -y
systemctl start httpd && systemctl enable httpd
echo "<h1>Welcome to AFOS2 Web Server</h1>" > /var/www/html/index.html
단계 4 : 스토리지 추가 선택 → '기본값 그대로 두고' 하단 다음: 태그 추가 → 인스턴스 스토리지 & EBS 볼륨 유형
단계 5 : 태그 추가 → 아래 '키 값' 입력 후 다음: 보안 그룹 구성 → EC2 태그 지정
- 키 : Name & 값 : WebSrv
단계 6 : 보안 그룹 구성 → 새 보안 그룹 생성(체크 확인) → 아래 유형(SSH & HTTP), 소스 '위치 무관 (혹은 내 IP)' 선택 후 검토 및 시작
단계 7 : 시작하기 ⇒ (SSH 키 관련 선택) 기존 키 페어 선택 또는 새 키 페어 생성 : 기존 키 페어 선택 후 자신의 SSH 키 페어 선택 후 체크 후 인스턴스 시작 클릭
AWS 관리 콘솔에서 생성된 EC2 정보 확인 - 퍼블릭 IP
- 생성된 인스턴스 선택 후 하단에 '세부 정보'에서 퍼블릭 IP 주소와 프라이빗 IP 주소 확인
- '세부 정보'에서 스토리지 클릭 후 정보 확인
자신의 PC에서 SSH 로 인스턴스의 퍼블릭 IP로 접속 & SCP로 파일 업/다운로드
- SSH 접속 : MobaXterm - session - SSH 클릭 후
- SCP 접속 : Filezilla -> 파일 -> 사이트 관리자 클릭 후
- 접속 성공 후 오른쪽 리모트 사이트 에서 /home/ec2-user로 이동 후 왼쪽 탐색기에서 파일 선택 후 업로드
EC2 퍼블릭 IP로 웹 브라우저 접속 확인
- 인스턴스 시작 시 명령 실행(User Data - shell 스크립트) 적용 확인
EC2 기본 정보 확인
- EC2 선택 -> 모니터링 -> CPU 사용률(%) 확인
- Elastic Block Store -> 볼륨 클릭 : EBS 볼륨(루트 볼륨)을 확인
- 리눅스의 기초 명령어들을 활용하여 배포한 EC2의 기본 정보 확인 : 이전 글 참조
EC2 CPUUtilization(사용률) 경보(Alarm) 생성
EC2 1분 간격 모니터링 설정(추기 미미한 비용 발생!) : EC2 → 모니터링 및 문제 해결 → 세부 모니터링 관리 [활성화]
CloudWatch 서비스 → 경보 → 경보 생성
- [단계 1] 지표 및 조건 지정 → 지표 선택 후 'EC2 → 인스턴스별 지표 'CPUUtilization' 검색 필터링(엔터) 후 '인스턴스 ID' 확인
- 탭 메뉴 중 그래프로 표시된 지표(1) 클릭 → 기간 1분
- 탭 메뉴 중 '그래프 옵션' 클릭 → 위젯 유형에 누적 면접 클릭 ⇒ 하단 [지표 선택 ]클릭
- [단계 2] 작업 구성 → 아래 설정 후 맨 하단 다음 클릭
- 경보 상태 트리거 : 경보 상태
- SNS 주제 선택 : 새 주제 생성
- 새 주제 생성 이름 : EC2_CPU_High_Alarms_Topic
- 알림을 수신할 이메일 엔드포인트 : '각자 자신의 개인 이메일, 이메일2...'
- [단계 3] 경보 이름 : WebSrv-CPU-High-Alarm ⇒ 아래 다음 클릭
- [단계 4] 맨 아래 경보 생성 클릭
CPU 부하 발생
sudo amazon-linux-extras install -y epel
sudo yum install -y stress-ng
stress-ng -h
- EC2 - 모니터링 - CPU 사용률(%) 확인 → 오른쪽 중간 상단 '자동 새로 고침' 간격 10초
- (옵션) EC2 Shell 에서 top , htop 로 CPU 상태 확인
- CPU 부하 발생
sudo stress-ng --cpu 1 --cpu-load 70% --timeout 10m --metrics --times --verify
알람 이메일 확인 & EC2 자동 재부팅 확인
index.html 에 사진 이미지 첨부하여 접속한 웹 페이지
'Infra > cloud' 카테고리의 다른 글
[AFOS] 3주차 네트워킹 서비스 - 실습 : VPC 구성(퍼블릭 서브넷) (0) | 2021.07.09 |
---|---|
[AFOS] 3주차 네트워킹 서비스 (0) | 2021.07.09 |
[AFOS] 2주차 컴퓨팅 서비스 (0) | 2021.07.09 |
[AFOS] 1주차 AWS & 가상서버 - 실습 : EC2 배포 (0) | 2021.07.09 |
[AFOS] 1주차 AWS & 가상서버 (0) | 2021.07.08 |