달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

   

   

Auto Scaling 90min.com

https://railsadventures.wordpress.com/2015/02/13/auto-scaling-90min-com/

   

   

  • Metrics are constantly going from the ELB and the EC2 instances themselves into AWS CloudWatch.
    CloudWatch is AWS's monitoring platform. It receives data from within AWS or custom data from outside. It visualises the metrics into graphs and allows you to define alarms when a metric has crossed a threshold.
  • When a certain metric goes above/below the threshold an alarm is triggered CloudWatch.
    For example, you can set an alarm when the average CPU usage of your instances is above 60%.
    Alarms can trigger a "Auto Scaling Policy".
  • An Auto Scaling Policy is how we scale up or down. It can be set to add a constant number of servers (add 5 servers for example) or to add a certain percentage of our current number of servers (add 20%).
    We can have a few Auto Scaling Policies to handle different alarms. An example usage is: add 20% of current servers is CPU > 50%, but add 75% of current servers if CPU > 85%. This way we can scale up/down faster or slower, depending on the circumstances.
  • Auto Scaling Policy decides to launch X instances from an AMI. An AMI is an image that should make your service available on boot (more on this later).
    Of course it may take it some time to boot and run the proper processes but eventually it should run the service.
  • The ELB performs health check on the newly created instances. For example, the ELB might send HTTP request to /ping on your instance. You should verify that an instance responds with 200 OK to the /ping only when it is up and running with your service.
  • When the instances pass the health check they are added behind the ELB and start serving requests like all other instances in your service.

       

       

       

Posted by codedragon codedragon

댓글을 달아 주세요

   

 

상단에 원클릭 단축키 설정하기

 

로그인

   

상단의 Edit메뉴에서 원클릭 아이콘 메뉴를 생성하고 편집할 수 있습니다.

   

Posted by codedragon codedragon

댓글을 달아 주세요

   

   

리전(Region) 변경하기

우측 상단에서 리전(Region) 변경가능

   

   

리전(Region)

  • 가용존의 묶음
  • 1개의 지역(Region)에는 물리적으로 떨어진 다수의 가용존(AZ)이 존재

   

   

가용존 (Availability Zone, AZ)

  • 데이터 센터과 같은 개념
  • 가용존은 서로 다른 지층(지진대비 등), 전원 공급자, 네트워크 공급자를 사용하여 만일의 재난상황에 대비
  • 가용존은 사용자가 복수로 선택하여 사용 가능
  • 가용존 끼리는 고속 전용선으로 연결(저렴한 데이터 전송 요금)

       

   

Amazon Region (AWS Cloud)

  • 도쿄
  • 미국 동부
  • 미국 서부1
  • 미국 서부2
  • 아일랜드
  • 상파울로
  • 프랑크푸르트
  • 싱가포르
  • 시드니
  • 중국


Posted by codedragon codedragon

댓글을 달아 주세요

      

Auto Scaling

  • 서버의 자동확장
  • 사전에 정의된 조건에 따라 EC2의 생성과 삭제를 자동화해주는 서비스
  • CloudWatch(Metric)와 연동하여 EC2의 CPU/NW등 리소스 사용량 증가시 자동 확장

 

 

CPU 가용률을 통한 사용자가 정의한 조건에 따라 자동으로 확장 또는 축소되도록 Auto Scaling 기능 실습

   

ELB(Elastic Load Balaner) 설정

Auto Scaling 설정

   

ELB(Elastic Load Balaner) 설정

지역 선택

   

상단 메뉴 >>> Services >>> EC2

   

좌측 메뉴 >>> NETWORK & SECURITY - Load Balancers

   

Create Load Balancer

   

   

2.Configure Health Check

Elastic Load Balancing은 지정된 설정에 따라 부하 분산된 각각의 아마존 EC2 인스턴스의 상태를 주기적으로 확인합니다. 비정상 인스턴스를 감지한 경우 Elastic Load Balancing은 인스턴스에 대한 트래픽 전송을 중지하고 트래픽의 경로를 정상 인스턴스로 변경해주게 됩니다.

   

알파벳으로만 이름 설정한 후 >>> Continue

   

아래와 같이 설정 후 >>> Continue

   

   

Continue

   

name과 Value입력 >>> Continue

   

   

Create

   

   

Close

   

   

   

Auto Scaling 설정

좌측 메뉴 >>> AUTO SCAILING >>> Launch Configurations >>>

Create Auto Scaling group버튼 클릭

   

Create launch configuration

   

Amazon Linux AMI 2014.09.2 (HVM)선택 >>> Select

   

t2.micro 선택 >>> Next: Configure details

   

Name 필드 설정

   

Advanced Detils 클릭 후 스크립트 추가

AutoScalescript.sh

#!/bin/sh

yum -y install httpd php mysql php-mysql

chkconfig httpd on

/etc/init.d/httpd start

cd /tmp

wget http://us-east-1-aws-training.s3.amazonaws.com/self-paced-lab-4/examplefiles-as.zip

unzip examplefiles-as.zip

mv examplefiles-as/* /var/www/html

   

Next: Add Storage

※User data 항목을 통해 Amazon EC2 인스턴스를 시작할 때 필요한 사용자 정의 스크립트를 실행할 수 있습니다.

   

   

Next:

   

Type을 All traffic 선택 >>> Review

   

Create launch configuration

   

Create launch configuration

   

subnet 항목에서 기본 서브넷 선택 후 2개의 가용성 영역을 선택 >>>

   

   

testelb 선택 >>>

   

Next: Configure scaling policies

   

Keep this group at its initial size 선택 >>> Next: Configure Notifications

   

선택 항목

설명

Keep this group at its initial size

앞에서 설정한 EC2인스턴스 개수를 유지

Use scaling policies to adjust the capacity of this group

CloudWatch알람 설정 정책에 따라 EC2인스턴스를 조절

   

설정 후 >>> Create Alarm

   

Send a notification to

임계치에 도달시 topic에 적용된 메일로 메시지 전송

Whenever

CloudWatch측정 기준

Is

임계치 설정

For at least

지정 기간동안의 한계치 지정

ex)1분 동안 CPU한계치에 1번 도달 할 경우 1을 입력하고 1Minute를 선택

Name of alarm

CloudWatch 알람 이름

   

   

Next: Configure Notifications

   

Next: Configure Tags

   

※ Auto Scaling Notification설정 방법

   

https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html

   

Key와 Value입력 >>> Review

   

Create AUto Scaling group

   

   

Close

   

   

좌측메뉴 NETWORK & SECURITY - Load Balancers 선택 >>>

항목 선택 >>> 하단의 Health Check 탭 >>> Edit Health Check

   

Advanced Details를 아래와 같이 수정 >>> Save

   

   

좌측메뉴 NETWORK & SECURITY - Load Balancers 선택 >>> Description 탭 >>>

DNS Name:항목의 주소를 복사한 후 웹브라우저에서 실행

   

   

   

   

   

Auto Scaling 으로 2개의 인스턴스가 활성화된 것 확인

   

   

   

접속이 안되는 경우

   

NETWORK & SECURITY - Security Groups에서 설정 변경

Posted by codedragon codedragon

댓글을 달아 주세요

   

EC2와 RDS로 Wordpress 구축하기

   

단계

작업내용

1

RDS에서 MySQL을 구동하고 그 주소(endpoint)를 획득

2

EC2인스턴스를 실행하고 

UserScript를 통해 Apach/PHP/Wordpress를 설치

3

Wordpress 설정화면에서 DB 연결 후 Wordpress 구동 및 확인

   

   

EC2 (Elastic Compute Cloud)

  • 클라우드 환경에서의 가상서버
  • 용량 조절이 가능하여 다양한 서버 인스턴스 유형 생성가능
  • 윈도우, 리눅스 모두 지원(BYOL가능)
  • 수분 이냉 실행 가능환경 구축 가능
  • 사용한 만큼에 대해서만 비용 지불
  • 다양한 비용 모델 제시(On-Demand, Reserved, Spot)

   

RDS(Relational Database Service)

  • 확장 가능한 관리형 관계형 데이터베이스
  • DB 전문인력 최소화(이중화, 튜닝, 성능 개선 등)
  • 시간 소모적인 관리작업 최소화(백업, 패치, 서버 증설 등)
  • MySQL, MS SQL Server, Oracle, PostgreSQL, Auroa
  • BYOL(Bring Young Own License) & License Included

   

   

Wordpress(워드프레스)

무료 웹사이트 및 블로그 서비스

https://ko.wordpress.org/

   

 

AWS 로그인

http://aws.amazon.com/ko/

우측 상단의 내계정 >>> AWS Management Console 클릭 후 로그인 수행

   

로그인

   

로그인 완료

   

   

RDS에서 MySQL구동하기

상단 Services >>>

Database >>> RDS

   

이 화면은 처음 실행할 경우 나오는 화면입니다.

Get Started Now

   

Launch DB Instance

(좌측 메뉴 Instance 클릭화면과 동일)

   

MySQL 선택 >>> Select버튼 클릭

   

No >>> Next Step

   

   

DB 사양 선택

DB Instance Class: db.t2.micro - 1 vCPU, 1 GiB RAM선택 >>>

Multi-AZ Depoyment: No 선택 >>>

   

   

아래로 조금 내린 후

endpoint로 사용할 Identifier, Username, Password설정 >>> Next Step

   

Security Group을 새로 생성

Create new Security Group 선택 >>>

Database Name 입력 >>>

   

   

Launch DB Instance

   

   

View Your DB Instances

   

   

공인 인증서의 유효기간이 지나서 나오는 경고문입니다.

   

항목 클릭하여 세부사항을 확인할 수 있습니다.

   

   

   

세부 사항에서 Security Groups의 항목 선택

   

하단의 Inbound탭 클릭

   

포트와 Source IP확인 (DEMO를 위해 Anywhere로 설정) >>> Save

   

   

   

EC2인스턴스를 실행하고 UserScript를 통해 Apach/PHP/Wordpress를 설치

   

상단 메뉴 Services >>> EC2

   

Launch Instance

   

   

Step1: Choose an Amazon Machine Image(AMI)

좌측 Quick Start메뉴 >>> Amazon Linux AMI 2014.09.2(HVM) 선택 >>> Select

   

   

Step2: Choose an Instance Type

Next: Configure Instance Details버튼 클릭

   

   

Step 3: Configure Instance Details

   

   

Advanced Details 항목 클릭후 User Script 입력(아래 userscript.sh의 테스트 스크립트 입력)

   

userscript.sh

#!/bin/sh
yum -y install httpd php mysql php-mysql
chkconfig httpd on
cd /var/www/html
wget http://wordpress.org/latest.tar.gz
tar zxvf latest.tar.gz
rm -f latest.tar.gz
chown -R apache:apache /var/www/html/wordpress
service httpd start

   

Next: Add Storage

   

Steo4: Add Storage

원하는 용량과 타입 설정후 >>> Next: Tag Instance

   

Step5: Tag Instance

원하는 태그 이름과 표시할 값 입력 >>> Review and Launch

   

Step6 : Configure Security Group

SG-WEB이라는 Security Group을 생성하고 웹서비스를 오픈하기 위해 80포트를 열어줍니다.

   

   

Review and Launch

   

Step7: Review Instance Launch

   

   

Launch

   

Create a new key pair 선택

   

Key pair name 입력 >>> Download Key Pair >>>

Launch Instances

   

   

   

하단의 View Instances 버튼 클릭

   

생성된 인스턴스 항목 클릭후 하단에서 Public IP확인

   

   

   

   

Wordpress 설정화면에서 DB 연결 후 Wordpress 구동 및 확인

   

Public IP를 통해 웹브라우저 상에서 접속

   

웹브라우저의 주소창에

http://public IP/wordpress 입력

   

한국어 선택

   

Let's go

   

RDS를 만들 때 입력했던 정보 설정

   

참고) Instance항목에서 확인 가능

   

전송

   

   

   

   

데이터베이스 연결 에러 시 조치

   

   

좌측 메뉴에서

NETWORK & SECURITY 클릭 >>> Security Groups선택 >>>

   

하단의 Inbound탭 클릭

   

포트와 Source IP확인 (DEMO를 위해 Anywhere로 설정) >>> Save

   

   

   

   

WordPresss 설정

   

사이트 제목 등 필요한 정보 입력

   

워드프레스 설치하기 버튼 클릭

   

   

로그인

   

워드프레스 설치 완료 확인

 

Posted by codedragon codedragon

댓글을 달아 주세요