[AWS SAA 스터디] EC2 & EBS

이영한·2022년 6월 12일
0

AWS SAA 스터디

목록 보기
3/3
post-thumbnail

EC2 개요

  • AMI : EC2에 들어갈 os 및 기본 소프트웨어 이미지
  • 인스턴스 타입 : 하드웨어(cpu, memory, storage …) 타입
  • VPC
  • 태넌시 모델 : ec2 인스턴스의 물리적 기기를 공유해서 사용해도 되는가를 설정(공유 태넌시, 전용 인스턴스, 전용 호스트)
  • 플레이스먼트 그룹 : 인스턴스를 AZ에 어떻게 분배할지
    • 클러스터 플레이스먼트 그룹 : 같은 AZ에 인스턴스 만듦. 전송 지연 낮음
    • 스프레드 플레이스먼트 그룹 : 다수의 AZ에 인스턴스 만듦. 데이터 소실 서비스 실패 등의 위험을 감소
    • 파티션 플레이스먼트 그룹 : 연관된 인스턴스를 파티션으로 묶어 배치. 다른 파티션에 속한 인스턴스는 물리적으로 분리
  • 가격 모델 :
    • 온디맨드 : 필요할 때 사용중지 가능. 가장 비쌈
    • 예약 인스턴스 : 1년 이상 기간 동안 서버 운영시 사용. 가격 할인
    • 스팟 인스턴스 : 경매로 인스턴스 구매
  • 라이프 사이클
    • 인스턴스 중지시
      • EBS 데이터는 유지되지만 인스턴스 스토어 볼륨은 유실
      • 퍼블릭 ip가 재시작시 바뀜. 유지하려면 eip 필요
    • sg는 언제든 설정 가능(가동중에도)
    • 성능 업그레이드가 필요할시 새로운 인스턴스 타입으로 재실행
  • 리소스 태그 : key-value로 이루어져서 리소스 관리 편하게 가능

EC2 스토리지 볼륨

  • EBS
    • 인스턴스에 부착되는 스토리지 볼륨으로 99.99% 신뢰도를 가짐.
    • IOPS로 성능 측정
  • EBS 종류
    • 프로비전 IOPS SSD : 높은 수준의 IOPS가 필요한 경우 사용
    • 범용 SSD : 일반적인 EBS
    • 처리량 최적화 HDD : 처리량이 중요한 곳에 쓰이는 스토리지
    • 콜드 HDD : 접근 빈도가 낮은 데이터 작업에 적합
  • EBS 볼륨의 특징 : 스냅샹 생성을 복제 가능, AMI 생성에 사용
  • 인스턴스 스토어 볼륨
    • 인스턴스 종료시 삭제되는 볼륨
    • 인스턴스 생성시 자동으로 생성되며 별도의 비용이 들지는 않음
  • ec2와 관련하여 저장할 데이터가 많다면 EBS, 인스턴스 볼륨 말고 S3에 저장하는게 좋음

EC2 인스턴스의 보안 유지

EC2 Auto Scailing

  • 기능

    • 지정된 수의 EC2 동작 유지
    • 요구에 맞춰 EC2 수를 동적으로 추가 및 감소
    • 인스턴스 에러 발생시 새 인스턴스로 대치
  • 론치 환경 설정

    • AMI, 인스턴스 타입, 키페어, SG 등등 인스턴스에 대한 환경 설정 파라미터를 지정한는 것

    • 오토 스케일링에서만 사용할 수 있으며 환경 설정을 가지고 직접 인스턴스를 시작할 수는 없음

  • 론치 템플릿 (권장)

  • Auto Scailing 그룹

    • 최소 용량(Minimum) : 가동중인 인스턴스 수의 최소 수
    • 최대 용량(Maximum) : 가동중인 인스턴스 수의 최대 수, 지나치게 많은 인스턴스가 동작하지 못하게 하는 안전 장치
    • 희망 용량(Desired Capacity) : 유지하고 싶은 인스턴스 수, 입력하지 않으면 Minimum에 맞춰 인스턴스 수를 유지한다
    • ALB 타겟 그룹 설정 : Auto scailing 그룹 생성 시 ALB 타겟 그룹에 연결하면 Auto Scailing에 의해 새롭게 생긴 인스턴스가 자동으로 ALB 타겟 그룹에 추가되어 로드 밸런싱이 된다.
    • 헬스체크
      • 메모리 고갈, 파일시스템오류, 네트워크 연결 오류 등 여러 오류에 대한 체크.
      • 인스턴스 및 호스팅 수준의 문제점은 찾을 수 있지만 어플리케이션 특화 문제점은 발견하지 못할 수 있다
      • 헬스 체크에 실패시 인스턴스를 삭제하고 다른 인스턴스로 대체
  • Auto Scailing Option

    • 수동 스케일링 : 최소, 최대, 희망 용량을 수동으로 변화시켜 인스턴스 수를 조절하는 것
    • 동적 스케일링 : 인스턴스의 성능 지표(cpu 활성화율, 요청 횟수, 네트워크 바이트 인 아웃)등을 Cloud Watch로 추적하여 희망 용량을 조정함
    • 단순 스케일링 정책 : 동적 스케일링의 일종. 지표가 한계치에 도달하면 특정규칙에 따라 희망용량을 조정함
      • ChangeInCapacity : 지정된 수만큼 희망용량 증가
        • ex) 2로 설정시 지표 도달마다 2개씩 인스턴스 증가
      • ExactCapacity :인스턴스 수가 특정 수가 되도록 인스턴스 수 증가
        • ex) 6으로 설정시 지표 도달하면 인스턴스 수가 6으로 설정
      • PercentChangeInCapacity : 특정 비율만큼 인스턴스 수 증가
        • ex) 현재 인스턴스 수가 4이고 50%로 설정하면 지표 한계치 도달시 2만큼 증가
    • 휴식기 : Auto Scailing이 조정 작업을 종료후에 정책을 다시 실행하기 까지 작동하지 않는 시간. 기본 300초 이지만 조절 가능하다
    • 단계별 스케일링 정책 : 지표의 값에 따라 단계적으로 스케일링을 발생 시키는 것
      • 단계 지정 방법
        • 하위 경계 : 단계의 하단
        • 상위 경계 : 단계의 상단
        • 조정 타입 : 스케일링 정책
        • 희망 용량 증가 기준 : 얼마나 조정할건지
          • ex) cpu 사용률, 하위 경계 50, 상위 경계 60, 조정 타입 ChangeInCapacity, 희망 용량 증가 기준 2
            ⇒ 50< cpu 사용률 <60에 이르렀을 때 인스턴스 수 두 개를 증가시키는 스케일링이 발생 (경계는 포함에 안됨)
        • 단계별 스케일링 정책에서 오토 스케일링이 새 인스턴스 추가를 위한 대기 시간(warm-up time)을 지정할 수 있으며 휴식기는 없다
    • 목표 추적 정책 : 특정 지표와 타겟 값을 지정하면 Auto Scailing이 Cloud watch 알람 생성, 인스턴스 개수 지정을 위한 스케일링 정책 생성 등의 업무를 실행
    • 예약된 작업(Scheduled Actions)
      • 워크로드 패턴이 예측 가능한 경우 미리 인스턴스 확보 가능
      • 최소, 최대, 희망 용량 값, 시작 날짜 및 시간을 설정 가능

AWS System Manager (= EC2 System Manager, Simple Systems Manager)

  • AWS 리소스 및 온프레미스 서버의 자동 및 수동 작업을 관리(주요기능 : 액션, 인사이트)
  • 액션
    • 미리 작성된 문서를 통해 AWS 리소스에 대한 각종 작업을 수행
    • 자동화 액션
      • AWS 리소스에 대한 일괄적 작업 (인스턴스 재시작, CloudFormation 스택 업데이트 등등)
      • 필요한 상황, 단계에 맞춰 처리할 수도 있음
    • Run 명령
      • Linux or Windows 인스턴스에 대한 작업 수행
      • 로그인 없이 접속, 커스텀 스크립트 실행을 위한 서드파티 도구 등을 실행
      • AmazonEC2RoleforSSM 정책 필요
    • 세션 매니저 : SG, 인바운드 포트 개방, 퍼블릭 서브넷 등을 이용하지 않고 Linux, Windows 인스턴스에 대한 Bash, PowerShell 접근 허용
    • 패치 매니저 : 인스턴스 패치 업무의 자동화 도구, 인스턴스가 동일한 패치 수준을 유지하도록 돕는다. 태그를 통해 관리할 수 있다
    • 스테이트 매니저 : 인스턴스에 대해 일회성으로 명령이나 정책을 실행
  • 인사이트
    • AWS 리소스의 운영 세부 사항 정보를 System Manager를 통해 한 번에 모아서 볼 수 있도록 함
    • 빌트인 인사이트
      • System Manager가 기본적으로 제공하는 인사이트
        • AWS Config Compliance, Aws Config 룰, 리소스별 컴플라이언스 적용 그룹, 환경설정 변경 사항 이력
        • CloudTrail Events
        • Personal Health Dashboard에 영향을 미칠 수 있는 각종 이슈에 대한 경고
        • Trusted Advisor Recommendations : AWS 환경 요소 최적화 서비스
      • 인벤토리 매니저
        • OS, 애플리케이션 버전, IP 등의 인스턴스 데이터 수집
        • AWS-GatherSoftwareInventory를 통해 리전별로 생성된 인벤토리에서 데이터를 수집할 인스턴스 선택 가능
        • Global Inventory Association : 계정내 모든 인스턴스를 선택
        • 온프레미스에서 설정시 인벤토리 목적별로 리전 지정 필요
      • 컴플라이언스
        • 지정한 환경 설정이 인스턴스의 패치 및 상태 관리에 어떻게 적용되고 있는지
        • 패치 컴플라이언스 : 패치 베이스라인이 적용된 인스턴스의 수 및 설치된 패치 세부 정보를 보여줌
        • 어소시에이션 컴플라이언스 : 패치 작업이 성공적으로 실행된 인스턴스 수
profile
간단하게 개발하고 싶습니다

0개의 댓글