AWS 이해하기 -기초편

허준현·2023년 2월 11일
0

AWS

목록 보기
1/4
post-thumbnail

최근에 팀에서 AWS 자격증 비용을 지원해준다고 하여 준비하면서 공부했던 내용을 작성하려고 합니다.

기초편에서는 IAM, EC2 , AutoScaling, EBS, Instance Store에 대해서 배워 봅시다!

IAM

IAM은 AWS 계정 및 권한 관리 서비스 입니다.
해당 IAM의 구성요소로는 사람, 그룹, 정책, 역할로 이루어져 있습니다.

역할은 AWS 리소스에서 사용하는 자격증명 , 정책을 연결하여 IAM 역할에 작업 수행에 필요한 권한 부여할 때 사용합니다.

정책은 AWS 리소스에 접근하기 위한 권한을 임명하는 것을 말합니다.

-> 신뢰정책 (Trust Policy) 은 다른 AWS 계정에 역할을 자신의 정책을 위임 하는 것을 말합니다.

사람, 그룹은 정책이나 역할을 부여받는 대상자를 의미합니다.

IAM 자격증명 보고서는 계정의 모든 사용자와 암호, 엑세스 키 , 자격 증명 상태에 대한 정보 보고서 다운로드 기능 제공합니다.

IAM 엑세스 관리자 : 사용자 또는 역할이 허용된 서비스에 마지막 엑세스 시간 측정 기능 제공 합니다.
해당 엑세스 관리자는 강력한 암호 정책과 멀티팩터 인증(MFA) 적용하여 좀 더 보안에 신경을 써주는 것이 좋습니다.

Permission Boundary : 정책이 겹치는 경우 겹치는 정책만 가지고 있게 됩니다.

EC2

EC2 (Elastic computer cloud) : 우리가 사용하는 기본 인스턴스를 말합니다.

TAG : AWS 자원을 관리 할 때 관리를 편하기 위해 사용자가 정의하는 키와 값쌍을 의미하며 EC2 자원을 효율적으로 관리가 가능합니다.

AMI (Amazon Machine Image) : 해당 EC2혹은 특정 리소스 설정을 동일한 설정 할 때 사용하는 image 즉 스냅샷이라고 생각하면 편하다.
종류 : AWS제공 AMI , AWS 마켓플레이스 AMI 가 있다.

Amazon Ec2 Metadata : EC2의 인스턴스의 속성 및 정보 데이터를 의미한다.

-> AMI Id, IP 주소 , EBS 매핑 등 169.254.169.254 에 접속하여 메타 데이터 조회 가능합니다.
-> userData 에 해당 데이터들을 가져와서 연결하는데 사용 할 수 있으며 userData는 인스턴스가 생성되었을 때 실행해야 하는 명령어를 의미합니다.

최대 절전 모드 (hiberate) : EC2 상태 중에서 메모리의 정보를 하드디스크에 저장하여 로드를 빠르게 하는 모드를 의미합니다.

배치 그룹 : AWS 가 제공하는 하드웨어 랙을 구성하는 방법

클로스터 : 동일한 랙 안에 인스턴스를 배치하는 전략이며 네트워크 성능을 올리 수 있으나 한 랙에 문제 발생시 모든 인스턴스에 문제가 발생합니다. -> DR전략 필수
분산(spread) : 렉 하나당 인스턴스 하나를 분리 AZ당 7개의 인스턴스만 배치할 수 있기 때문에 많은 인스턴스 배치해야하는 경우 도입이 어려울 수 있습니다.
파티션: 분산클로스터를 합친 개념

인스턴스 구매옵션

온디맨드 인스턴스 : 약정없이 초당 사용한 만큼 비용 지불, 초기 개발시에 사용합니다.
스팟 인스턴스 : 사용 안하는 인스턴스를 경매 방식으로 구매 , 저렴하나 인스턴스가 꺼질 수 있습니다.
Savings Plan : 사용량 혹은 인스턴스 패밀리를 약정해서 할인 받는 요금 모델 : RI보다 유연합니다.
-> 약간 덜 관리하고 덜 할인 받는 모델

Reserved Instances(예약 인스턴스) : 사용 기간을 약정해서 할인 받는 모델을 말합니다.
-> 제약사항이 많지만 할인율 높음

전용 호스트 : 물리적인 전용 서버를 할당받는 방식 CPU 코어나 물리적 서버에 할당되는 라이선스를 보유한 경우에 적합
전용 인스턴스 : 물리적인 전용 서버를 할당받는 방식은 동일하나 라이센스나 인스턴스 배치 불가능

EC2 Auto Scaling

고가용성을 제공하기 위해 EC2 인스턴스 를 자유자제로 조절하는 기능을 제공합니다.
조절하는 방식은 다음과 같습니다.
Horizontal Scale(Scale Out) : 인스턴스의 개수 늘리기
Vertiual Scale(Scale Up) : 성능 높이기

시작 구성 요소 : EC2의 타입, 사이즈, AMI, 보안 그룹, 유저 데이터

보안그룹이란? 각 인스턴스끼리 접근 제한을 설정 할 수 있으며 InBound OutBound 소켓 설정을 할 수 있으며 말 그대로 보안 기능을 제공한다.

구성요소

오토 스케일링 그룹 : EC2의 인스턴스의 그룹
시작 템플릿(launch Template) : EC2 서버를 시작 하기 위한 AMI
조정 옵션( 조정 정책) : Auto Scaling을 실행하기 위한 조건
  1. 항상 현재 인스턴스 수준 유지 관리

    지정된 수의 실행 인스턴스만 유지 , 해당 인스턴스가 비정상이면 종료후 새 인스턴스 생성

  2. 수동 조정

    최대 , 최소 원하는 용량을 설정하여 사용

  3. 온디맨드 기반 조정( 동적조정)

    3-1) 대상 추적 조정(Target Tracking)

    사용자가 지정한 지표 목표값이 초과 될시에 그룹을 조정하는 방식

    CPU, 인터페이스 송/수신한 평균 바이트 수

    3-2) 단계 조정(Step Scaling)

    CloudWatch alarm 의 지표를 기반으로 그룹을 조정

    크기 조정 활동 또는 상태 확인 교체가 완료되고 Cooldown Period 를 가짐

    3-3) 단순 조정(Simple Scaling)

    CloudWatch alarm 의 지표를 기반으로 그룹을 조정

    Cooldown Period를 안가지고 계속 그룹 조정

    3-4) Amazon SQS 기반 크기 조정

    SQS 대기열의 시스템 로드 변경에 따른 그룹 조정

  4. 일정을 기반으로 조정

    -> 확장 작업이 시간 및 날짜 함수에 따라 자동 실행, 사람이 몰리는 시간대를 예측하여 인스턴스 늘리기

  5. 예측 조정 사용(Predictive Scaling)

    -> 머신러닝을 사용하여 데이터 기반 용량 예측

Scaling Cooldowns : 인스턴스의 개수 변동 이후에 휴식 기간을 가짐, 안정적인 서비스가 진행될 때 까지 스케일링 진행하지 않는 것을 말한다.
LifeCycle Hook : Auto Scaling 수명 주기 이벤트를 인식하고 사용자 지정 작업 실행 (스프링 빈처리기 생각)
인스턴스 시작전 (Pending State) , 인스턴스 종료 전(Terminating State) 상태를 제공한다.

EBS

EBS(Elastic Block Sotre) : 우리가 게임을 설치하게 된다면 해당 게임 파일이 설치되는 공간 EC2와 별개의 공간으로 이루어져 있으며 공간을 늘렸다 할 수 있다.

여러개의 EBS 볼륨을 생성하여 EC2에 추가가능 하나 동일한 AZ와 SSD에 대해서만 가능
스냅샷을 통한 EBS 볼륨 백업 , 복구 , 복제 기능을 제공합니다.
수명주기관리를 통한 스냅샷 관리 자동화 기능을 제공합니다.
AWS Key Management Service (KMS) 를 통해 암호화 가능

해당 EBS에서 알고 있으면 좋은 점은 하나의 AZ에 대해서만 생성가능하며 DR의 지문에 어울리지 않지만 그만큼 빠른 성능을 제공할 수 있습니다.

Instance Store

블록 스토리지 중에서 임시 스토리지이며인스턴스는 서버에 직접 장착하여 IOPS 성능을 높인다
임시 파일을 저장하는 가장 빠른 옵션이지만 인스턴스가 종료시 해당 데이터를 손실합니다.

지금까지 AWS 에서 제공하는 기본편에 대한 기능을 알아보았습니다. :)
다음에는 AWS 데이터베이스에 대해서 배워봅시다.

profile
best of best

0개의 댓글