본문 바로가기
AWS Solutions Architect 자격증

AWS - EC2 & Lambda(3)

by 장중앙 2021. 10. 19.

ELB

Elastic Load Balancing(ELB)

네트워크 트래픽을 분배해주는 서비스

  • 생성된 인스턴스들을 대상으로 등록하여 설정/동작
  • 트래픽 분산, 장애조치의 역할을 가지고 있음

  • ELB의 2가지 유형
    • 각 ELB의 사용을 위해서는 각각의 인스턴스에 해당 로드밸런서에 맞는 인바운드 규칙이 정의되어 있어야함 
    • Application Load Balancer
      • OSI의 7계층(Application Layer)에서 작동
      • HTTP, HTTPS 트래픽 로드 밸런싱
    • Network Load Balabcer
      • OSI의 4계층(Transfort Layer)에서 작동
      • TCP, UDP 트래픽 로드 밸런싱
      • 지연시간이 짧아 성능 우수

Application Load Balancer 실습

가용영역은 사용가능한 모든 가용영역으로 설정함

로드 벨런싱을 적용할 Target 그룹을 생성, 생성된 인스턴스를 적용가능

생성된 로드 밸런서 확인

 

 

Auto Scaling

EC2 인스턴스를 자동으로 확장하고 축소하는 기능

  • 정의한 조건에 따라 인스턴스의 개수가 적절히 조정됨
    • 정의 조건 
      • 원하는 용량 : 평소에 동작하는 인스턴스 개수
      • 최소 용량 : 인스턴스의 사용이 줄어들었을 때 최소한으로 가용할 인스턴스 개수
      • 최대 용량 : 인스턴스의 사용을 늘었을때 최대한으로 가용할 인스턴스 개수
    • 서버의 로드가 증가하면 EC2 인스턴스 개수가 증가
    • 서버의 로드가 감소하면 EC2 인스턴스 개수가 감소
  • Auto Scaling 구성 요소
    • Auto Scaling 그룹 : EC2의 인스턴스 그룹
    • 시작 템플릿 : EC2 서버를 시작하기 위한 AMI, 인스턴스 유형 정보를 가진 템플릿
    • 조정옵션 : Auto Scaling을 실행하기 위한 조건
      • 일반(수동) 조정 정책 : 원하는 EC2 인스턴스 최대, 최소 크기를 수동으로 지정
      • 대상 추적 조정 정책 : 목표값을 기반으로 조정 ex) CPU 사용률이 50%초과시 EC2 인스턴스 2개 추가
      • 예약된 조정 정책 : 일정에 따라 조정 ex) 매주 토,일요일에는 인스턴스를 4개 다른 요일에는 2개 실행

Auto Scaling 실습

이전에 생성한 로드 밸런스도 함께 작용하여 Auto Scaling으로 생성한 인스턴스들이 로드 벨런서의 대상그룹으로 설정되게끔 진행

시작 템플릿이 없기때문에 생성해야함

EC2 & Lambda 1~2 까지의 내용을 이용하여 설정

보안 그룹의 경우 HTTP, SSH, TCP인바운드 규칙이 설정되어 있음

사용자 데이터의 경우 Auto Scaling으로 생성된 인스턴스에 웹 접근에 구분을 위해 기입

인스턴스가 생성되면서 자동으로 실행할 Shell명령어

생성한 시작 템플릿을 적용

기본적으로 인스턴스 2개를 운용하고 필요시 10개로 추가할 수 있게끔 설정

* 조정정책은 이후에 수정할 예정

이렇게 생성한 Auto Scaling을 확인

원하는 용량 : 2로 설정했기 때문에 최초 2개의 인스턴스를 생성

로드 벨런서의 DNS를 이용하여 접속 확인

2개의 서버가 운영되는 것을 확인 가능

* 이후 인스턴스를 개별적으로 중지하면 Auto Scaling에서 자동으로 2개의 인스턴스를 생성함

 

생성된 Auto Scaling 그룹의 자동조정에서 조정정책 변경 가능

또한, 아래의 예약된 작업 생성을 이용하여 일정에 맞게끔 조정가능함

 

Lambda

Serverless - 사용자가 서버를 관리할 필요가 없다는 의미, 서버는 존재

  • 서버 인프라 운영은 AWS등의 클라우드 회사에서 담당
  • 사용자는 코드 입력, 필요한 기능을 사용하기만 하면 됨
  • AWS의 Serverless 서비스
    • AWS Lambda
    • DynamoDB
    • AWS Cognito
    • API GateWay
    • Amazon S3
    • AWS SNS, SQS

 

Lambda - 코드를 실행하여 동작하는 서버리스 컴퓨팅

  • EC2와 Lambda의 차이
    • EC2는 서버를 시작하고, 애플리케이션 설치, 서버가 실행되면서 사용자가 직접 운영해야함
    • Lambda는 AWS에서 서버 운영에 필요한 모든 인프라를 관리
  • Lambda 사용자는 코드를 입력하여 실행만 하면 됨
  • 요청할 때에만 시스템을 사용하는 온디맨드 방식의 이벤트 중심의 실행
    • 사용한 만큼만 비용 지불(코드 실행 횟수, 실행한 시간으로 과금)
  • EC2는 Auto Scaling기능을 사용해 서버를 확장하지만, Lambda는 사용량이 늘어나면 자동으로 용량이 확장되므로 계획이 필요없어 확장성이 높음
  • API Gateway, Kenesis, SQS, S3 등 AWS의 다른 서비스와 결합하여 사용(독립적으로 사용 X)

'AWS Solutions Architect 자격증' 카테고리의 다른 글

AWS - S3 스토리지  (0) 2021.10.20
AWS - EC2 스토리지  (0) 2021.10.19
AWS - EC2 & Lambda(2)  (0) 2021.10.19
AWS - EC2 & Lambda(1)  (0) 2021.10.19
AWS - 글로벌 인프라 및 IAM  (0) 2021.10.19

댓글