[구름 k8s] TIL 2-2-2

Peppie·2022년 9월 14일
0

0. ELB 실습

ELB 생성

1. EC2 메뉴 -> 로드밸런서 -> 로드 밸런서 생성

a. Load balancer type 결정 -> Application Load Balancer
b. Load balancer name 결정
c. Scheme -> defalut 사용 (internet-facing)
d. IP address type -> default 사용 (IPv4)
e. VPC 선택
f. VPC Mapping 선택 (subnet 선택)
g. 보안 그룹 선택
h. Listeners and routing

  1. protocol : listen할 프로토콜
  2. port : listen할 포트번호
  3. default action : 패킷이 수신됐을 때 할 행동 결정 -> target group으로

2. target 그룹 생성 (EC2 메뉴 -> target groups (대상 그룹) )

a. target type 결정 -> instances 선택
b. target group 이름 결정
c. VPC 결정
d. protocol version 결정 -> HTTP1
e. health checks -> default 값

ELB에 연결된 server 상태 확인

f. advanced health check settings

healthy threshold : 인스턴스가 동작중임을 판단하는 횟수
unhealthy threshold : 인스턴스가 동작하지 않는다고 판단한 횟수

g. 태그명 지정
h. register targets -> ELB에 의해서 패킷을 분배할 대상 EC2 instance

available instances -> 패킷 분배 대상 EC2 instance 선택
include as pending below 선택 -> 실제 등록

i. create target group 선택하여 생성 완료

3. 실제 서비스 이용시 ELB의 DNS 이름으로 접속해야 ELB에 의한 Load balancing 수행

Auto Scaling : scale out/in을 통한 server 자동 증가 및 축소

4. 시작 구성 (template) 생성

a. 시작 구성 (template) : Auto Scaling에 의해 생성되는 Server 형태
b. EC2 메뉴 -> 시작 구성 -> 시작 구성 생성
c. 시작 구성 이름 설정
d. AMI 선택
e. 인스턴스 유형 선택
f. 추가 구성 : default 사용
g. 스토리지 볼륨 : default 사용
h. 보안 그룹 설정
i. 키 페어 설정

옵션 선택 : '선택한 프라이빗 키 파일 ~~~' 체크

j. 시작 그룹 생성

5. Auto Scaling 그룹 생성

a. EC2 메뉴 -> Auto Scaling 그룹 -> Auto Scaling 그룹 생성
b. 1단계 - 시작 템플릿 또는 구성 선택

  • Auto Scaling 그룹 이름 설정
  • 시작 구성/템플릿 중 선택 (전환으로 변경)

c. 2단계 - 인스턴스 시작 옵션 선택

  • 네트워크 선택 - Auto Scaling 적용 VPC, subnet 선택

d. 3단계 - 고급 옵션 구성

  • 로드 밸런싱 - 기존 로드 밸런서에 연결 선택
  • 기존 로드 밸런서에 연결 - 로드 밸런서 대상 그룹 선택
  • 상태 확인 - default 사용
  • 추가 설정 - default 사용

e. 4단계 - 그룹 크기 및 크기 조정 정책 구성

  • 그룹 크기 결정
    원하는 용량 : Auto Scaling 그룹 시작 및 유지하려는 EC2 instance 수
    최소 용량 : 최소 용량 미만으로 내려갈 수 없는 EC2 instance 수
    최대 용량 : 최대 용량 초과로 올라갈 수 없는 EC2 instnace 수

  • 크기 조정 정책 - 대상 추적 크기 조정 정책 선택 -> 지표 유형 결정 -> 대상값 설정
    Auto Scaling이 동적으로 EC2 instance 개수를 증가시키는 정책
    크기 조정 정책 이름 - Target Tracking Policy
    대상 추적 크기 조정 정책 지표 유형 - server의 서비스 형태에 따라 결정
    • 평균 CPU 사용륭 <-- 이번 실습에선 이거 선택
    • 평균 네트워크 입출력
    • 대상 당 application load balacer 요청 수

대상값 결정

확대 정책만 생성하려면 축소 비활성화 및 인스턴스 축소 보호는 default 값 사용

f. 5단계 - 알림 추가

g. 6단계 - 태그 추가

h. 7단계 - 검토

i. AutoScaling 그룹 생성

6. 생성된 Auto Scaling 그룹에서 활동 탭을 선택해서 Auto Scaling 작업 기록 확인으로 Auto Scaling 동작 과정 확인

7. 생성된 Auto Scaling 그룹에서 자동 크기 조정을 탭을 선택해서 동적 크기 조정 정책 생성
a. 지표 유형
b. 대상값

Auto Scaling 실행 테스트

  • 동적 크기 조정 정책을 CPU 사용률에 따른 지표 유형을 선택한 경우 CPU stress test를 통해 테스트 수행 가능

  • Auto Scaling에 의해서 생성된 EC2 instance

  • public IP는 EIP를 사용하여 연결

  • sudo amazon-linux-extras install -y epel : Amazon Linux repository에서 epel 패키지 설치

  • sudo yum install -y stress : CPU stress test 패키지 설치

  • stress --help : stress 명령 도움말

    • 현재 시스템 CPU core 수 확인 방법 : cat /proc/cpuinfo
  • stress --cpu <cpu 코어수>

    • CPU stress test 시작, 현재 시스템의 cpu 코어수를 입력하면 해당 CPU의 사용률을 100%로 동작할 수 있도록 테스트 수행
    • stress --cpu 1 & : CPU 코어 한개에 대해 stress test를 background로 실행

1. 스토리지 서비스 - S3

Simple Storage Service (참고1) (참고2)

객체 스토리지

객체를 저장하는 스토리지

객체 (Object) 구성

  • 속성 (Attribute) : 객체 상태
  • 행위 (Behavior) : 객체 상테 변경/이용 동작

객체

현실 세계의 모든 유무형의 사물 의미
데이터, 메타 데이터, 키 (key)로 구성

데이터

이미지, 동영상, 텍스트 문서 또는 기타 유형 파일

메타 데이터

데이터 내용, 사용방법, 객체 크기 등에 대한 정보

객체 키 (key)

객체 고유 식별자

EC2와 별도로 사용되는 serverless 형식의 서비스, 별도 EC2 인스턴스 생성없이 단독으로 사용

글로벌 서비스

S3 생성은 별도의 리전에 생성

S3에 저장할 수 있는 하나의 객체 크기는 최대 5TB

무제한 공간 제공

버킷 단위로 저장

  • 별도 파일 시스템 존재 X, 버킷에 객체 저장
  • S3 사용 시작은 버킷 생성으로부터 시작
  • 버킷은 객체를 담고 있는 공간
  • 크기 무제한, 리전을 지정하여 생성
  • 버킷 이름은 AWS 전체에서 고유해야 하고 중복 불가능
    -> 한 번 설정된 버킷 이름을 다른 계정이 사용 불가능

S3 사용 - 버킷 생성

서비스 메뉴 -> 스토리지 -> S3 -> 버킷 생성

  • 버킷 이름 : AWS 내에서 고유한 이름 설정
  • AWS 리전 선택
  • 객체 소유권 선택 : ACL 비활성화됨 (객체 소유권을 계정 소유로 결정)
  • 퍼블릭 액세스 차단 설정 : 모든 퍼블릭 액세스 차단 설정
  • 버킷 버전 관리 : 비활성화
  • 태그 설정
  • 서버 측 암호화 : 비활성화

버킷 만들기

2. TIF

지난주 처음 실습할 때 ssh 접속과 관련해서 아예 접속조차 안돼서 기타 설정이 불가능했던 것들이 이번주 들면서 기적적으로 풀리는 쾌감은 끝내줬다. 그렇지만 그 많은 것들이 안되던 지난주 세팅들을 이번주에도 이어서 하다보니 그걸 몰아서 처리하느라 또 한차례 정신이 없었다. 그럼에도 오늘 진도와 실습도 무사히 끝냈으니 아무튼 다행이다.

사실 EBS/ELB와 로드밸런싱은 본진도 나가기 전에 AWS 책으로 먼저 진행했었지만 솔직히 실감은 잘 나지 않았다. 그렇지만 오늘의 실습을 통해 로드 밸런싱과 ELB가 정확히 뭔지 또 어떻게 이뤄지는지를 제대로 알아낸 것 같아 재밌는 그런 하루였다.

0개의 댓글