공부/AWS

Route 53 / Auto Scaling

HY13 2021. 1. 5. 18:45

도쿄 리전

 

기초 작업 이전 글 보고 VPC 및 RDS를 생성해주자

hyeyeon13.tistory.com/17

 

- VPC

- 서브넷(PRIVATE-SUBNET 2개, 가용영역 다르게)

- 라우팅테이블(서브넷 연결)

- RDS(MYSQL) 생성

 

VPC 인바운드 규칙 다음과 같이 변경 및 추가

 

 

 

서울 리전

- 피어링 연결 (도쿄리전에서 피어링 요청 수락)

 

 

EC2 인스턴스 생성

 

단계 1)

Amazon Linux 2 AMI

 

단계 2)

t2.micro

 

단계 3)

변경사항 없음

 

단계 4)

변경사항 없음

 

단계 5)

변경사항 없음

 

단계 6)

- SSH, 내 IP

- HTTP, 사용자 지정

- 모든 ICMP - IPv4, 내 IP

 

단계 7)

키 페어 생성

 

인스턴스 생성 완료!!

 

 

MobaXterm 열어주기

- 방금 생성한 인스턴스와 키 페어 이용해서 SSH 연결해주기

 

도쿄 리전

RDS 엔드포인트 복사

database-1.cdhu8tenmr0q.ap-northeast-1.rds.amazonaws.com

 

위 그림과 같이 RDS로 핑이 나가지 않는 것을 볼 수 있다.

- RDS 내부에 방화벽이 있다고 짐작해볼 수 있다.

(구글로는 ping이 나가기 떄문)

 

 

mysql 설치 및 설정

[ec2-user@ip-172-31-43-242 ~]$ sudo yum install -y mysql
[ec2-user@ip-172-31-43-242 ~]$ sudo mysql -h database-1.cdhu8tenmr0q.ap-northeast-1.rds.amazonaws.com -u admin -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.7.22-log Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> CREATE USER 'wpuser'@'%' IDENTIFIED BY 'wppass';
Query OK, 0 rows affected (0.04 sec)

MySQL [(none)]> CREATE DATABASE IF NOT EXISTS wordpress;
Query OK, 1 row affected (0.04 sec)

MySQL [(none)]> GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
Query OK, 0 rows affected (0.04 sec)

MySQL [(none)]> quit
Bye

 

워드 프레스 설치

[ec2-user@ip-172-31-43-242 ~]$ wget https://ko.wordpress.org/wordpress-4.8.2-ko_KR.zip
[ec2-user@ip-172-31-43-242 ~]$ sudo y
um install -y httpd php php-mysql php-gd php-mbstring wget unzip
[ec2-user@ip-172-31-43-242 ~]$ cd /var/www/html
[ec2-user@ip-172-31-43-242 html]$ sudo unzip /home/ec2-user/wordpress-4.8.2-ko_KR.zip
[ec2-user@ip-172-31-43-242 html]$ sudo chown -R apache:apache wordpress
[ec2-user@ip-172-31-43-242 html]$ sudo systemctl restart httpd

 

서울 리전

 

인스턴스 퍼블릭 아이피 주소 복사

새 창 열어서 ip/wordpress 붙여넣기

하면 아래와 같은 창이 뜬다.

Lets's go 클릭

 


사용자명: 데이터베이스 생성시 만든 아이디

비밀번호: 데이터베이스 생성시 만든 비밀번호

데이터베이스 호스트: 도쿄 리전의 RDS 엔드포인트 붙여넣기

저장하기 클릭

 

설치하기 클릭

 

제목, 이름, 비밀번호

설치하기 클릭

 

로그인

 

사용자 정의하기 버튼 클릭

 

선인장 사진이 보이면 워드프레스 생성 성공!!


 

여기서 부터 쭉 서울 리전

 

Route53

 

자신의 도메인 이름 적기 - 도메인 구입하여 생성받음

 

레코드 값/트래픽 라우팅 대상 복사(뒤에 점은 지워준다)

ns-131.awsdns-16.com

ns-1081.awsdns-07.org

ns-645.awsdns-16.net

ns-1812.awsdns-34.co.uk


 

WEBSERVER 인스턴스의 퍼블릭 아이피 주소 복사: 3.34.199.63

 

위 RDS에서 만든 워드프레스 계속 사용할 예정.

 

왼쪽 목록에 호스팅 영역 클릭

자신의 도메인 클릭

레코드 생성 클릭

 

레코드 생성 클릭

 

 


Auto Scaling

 

현재 만들어진 워드 프레스를 이미지로 만들어야한다.

 

이미지를 만들어 평균이 70%가 넘으면 하나 더 복제가 된다

사용량이 갑자기 줄어드는 것: scale in

사용량이 갑자기 늘어나는 것: scale out

 

왼쪽 리스트의 인스턴스 클릭

WEBSERVER인스턴스 선택 후 우클릭 - 이미지 및 템플릿 - 이미지 생성 클릭

 

 

 

이미지 이름 및 설명 입력

이미지 생성 클릭

(이미지 만들어지는데 시간이 걸린다)

 

 

왼쪽 목록에서 이미지 - AMI 클릭

왼쪽 목록에서 스냅샷 클릭 -> 방금 만든 AMI를 볼 수 있다.

 

 

대상그룹 생성

왼쪽 목록에서 대상 그룹 클릭

대상 그룹 생성 클릭

 

이름: TG-ASG

대상 등록에 등록하지 않고 그대로 생성 버튼 클릭

 

 

 

시작 구성 생성

왼쪽 목록에서 시작 구성 클릭

시작 구성 생성 버튼 클릭

 

이름: 자신이 원하는 이름 입력

AMI: 워드프레스를 이미지로 만들어 둔 MY-AMI 선택 (워드프레스 사용량이 급증할때 사용)

인스턴스 유형: t2.micro 선택 (만약 다른 인스턴스 유형을 선택한다면 과금이 발생한다)

 

 

새 보안 그룹 생성

이름: SG-ASG

설명: SG-ASG

규칙: HTTP 추가

 

 

키페어 선택 및 시작 클릭

 

 

 

auto scaling group 생성

왼쪽 목록에 auto scaling group 클릭

이름: 원하는 이름 입력

시작 구성으로 전환 클릭

다음 클릭

 

 

서브넷: 가용영역 2a, 2c 선택

 

 

 

로드 밸런싱 세번째꺼 선택

 

 

로드밸런서 이름 입력

로드 밸런서 체계: Internet-facing 선택

기본 라우팅: TG-ASG 선택

 

 

 

그룹 크기 선택

원하는 용량: 최소 2개

최소 용량: 원하는 용량과 개수 같게 해준다

최대 용량: 

 

 

조정 정책

대상 추적 조정 정책

- 세팅 방법이 쉬워진다

-> scale in과 scale out에 경계를 둔다.

-> 50%를 기준으로 50%를 넘으면 scale out, 50%를 넘지 않으면 scale in

값을 하나만 두고 세팅하는 것은 별로 추천하지 않는다. 그러므로 조정 정책 사항은 없음으로 선택

 

 

 

다음 클릭

 

 

 

SNS: Notificatoin, 알람을 알려주는 서비스. 우리가 흔히 아는 social network service가 아니다.

주제 생성 클릭

 

 

알림 받을 대상: SCALE-OUT

해당 수신자: 자신의 이메일 입력

 

 

알림 추가 클릭

알림 받을 대상: SCALE-IN

해당 수신자: 자신이 사용하는 이메일 입력

 

 

태그는 추가 안함

다음 클릭

검토를 통해 다시 한번 확인

 

Auto Sacling 생성 완료 클릭

 

 

왼쪽 목록의 인스턴스 클릭

위 그림과 같이 WEBSERVER 위, 아래에 두개의 인스턴스가 생겼다.

 

네임 테그 변경

첫번째 인스턴스: WEB01

세번째 인스턴스: WEB02

 

 

보안그룹 - 인바운드 규칙 편집: SSH, 위치무관으로 추가

WEB01 인스턴스 퍼블릭 아이피 복사

MobaXterm에서 SSH 열어준다

아래 명령어 입력

[ec2-user@ip-172-31-37-213 ~]$ sudo systemctl start httpd && sudo systemctl enable httpd

WEB02도 똑같이 해준다.

 

새 창 열어서 아이피/wordpress 입력하면 워드프레스의 선인장 모양을 볼 수 있다.

 

 

왼쪽 목록에서 auto-scaling group클릭

MY-ASG 클릭

조정정책 클릭

70%넘으면 알람을 울리는 등 임계값을 결정해주는 것이 CloudWatch

 

CloudWatch 경보 생성 클릭

 

CloudWatch 경보 생성

지표 선택 클릭

 

 

 

검색 부분에 cpu 입력

EC2 > Auto Scaling 그룹별 선택

 

 

CPUUtilization 선택

지표 검색 클릭

 

 

 

원하는 임계값 입력

그 임계값을 넘어가면 Auto Scaling이 이미지 복사하여 인스턴스를 자동으로 만들어준다.

다음 클릭

 

 

 

다음으로 알림 전송: SCALE-OUT 선택

다음 클릭

 

 

 

다음 클릭

검토 후 경보 생성 클릭

 

 

EC2 인스턴스로 다시 돌아와서 CloudWatch 경보 선택

(SCALE-OUT-ALERT)

 

생성 버튼 클릭

 

 

 

이번에는 SCALE-IN 정책을 만들어보자.

조정정책 추가 클릭

CloudeWatch 경보 생성 클릭

 

지표선택 클릭

 

 

CPU 검색 - EC2 >Auto Scaling 그룹별 클릭

 

 

CPUUtility 선택

 

 

 

조건

보다 작음 클릭

임계값: 30

 

 

알림: SCALE-IN 클릭

 

경보 이름 입력

경보생성 클릭

 

 

 

EC2로 다시 이동

방금 만든 SCALE-IN-ALERT 선택

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'공부 > AWS' 카테고리의 다른 글

NAT GATEWAY  (1) 2021.01.07
Route 53 / Auto Scaling (2)  (0) 2021.01.06
RDS  (0) 2021.01.04
ELB - ALB(2)  (0) 2021.01.04
ELB  (0) 2020.12.31