728x90
반응형
EC2 기초
- Elastic Compute Cloud
- AWS에서 제공하는 서비스형 인프라스트럭처
- 하나의 서비스를 지칭하는 것이 아님
- EC2 인스턴스 : 임대한 가상 머신
- EBS 볼륨 : 데이터를 저장하는 가상 드라이브
- ELB : 로드를 분산
- ASG : 서비스를 확장
EC2 옵션
- OS : Linus, Window, Mac OS
- CPU 개수, RAM 용량
- 네트워크를 통해 연결할 스토리지 필요 여부
- EBS & EFS : 네트워크 연결
- EC2 Instance Store : 하드웨어
- EC2 인스턴스에 연결할 네트워크의 종류 선택
- 방화벽 규치
- 인스턴스를 구성 : 부트스트랩 스크립트
EC2 User Data
- EC2 사용자 데이터 스크립트를 사용 → 인스턴스 부트스트래핑 가능
- 부트스트랩 : 머신이 작동될 때 명령을 시작하는 것
- 스크립트는 처음 시작할 때, 한 번만 실행
- EC2 사용자 데이터에는 특정한 목적이 있는데, 부팅 작업을 자동화하기 때문에 부트스트래핑이라는 이름이 붙음
- 인스턴스 부팅으로 자동화하고 싶은 작업?
- 업데이트, 설치, 다운로드 등
- 사용자 데이터 스크립트에 작업을 추가할 수록, 부팅 시 인스턴스가 할 일이 늘어남
- EC2 사용자 데이터 스크립트는 루트 계정에서 실행
- → 모든 명령문은 sudo로 해야 함
EC2 인스턴스의 종류
- ..
EC2 인스턴스 유형 기본 사항
목적에 따른 분류
- General Purpose : 일반적인 목적
- Compute Optimized(C) : 컴퓨터 집약적인 작업
- 일부 데이터의 일괄 처리, 고성능 웹 서버, HPC, 머신러닝, 전용 게임 서버 등
- Memory Optimized(R) : 대규모 데이터셋 처리
- 고성능의 데이터베이스, 분산 웹스케일 캐시 저장소, BI에 최적화된 인 메모리 데이터베이스, 대규모 비정형 데이터의 실시간 처리
- Accelerate Computing
- Storage Optimized(I, G, H) : 로컬 스토리지에서 대규모 데이터 셋에 액세스 할 때 적합
- OLTP, NoSQL 데이터베이스, Redis 같은 메모리 데이터베이스의 캐시, 데이터 웨어하우징 애플리케이션, 분산 파일 시스템
- Instance Features
- Measuring Instance Performance
보안 그룹 및 클래식 포트 개요
- 보안 그룹 : AWS에서 네트워크 보안을 실행하는 데 핵심
- EC2 인스턴스에 들어오고 나가는 트래픽을 제어
- 허용 규칙만 포함
- IP 주소를 참조해 규칙을 만들 수 있다. 보안 그룹끼리 서로 참조 가능
- 보안 그룹
- EC2 인스턴스의 방화벽
- 포트로의 액세스를 통제 → 인증된 IP 주소의 범위를 확인 (IPv4, IPv6)
- 인바운드, 아웃바운드 네트워크 통제
보안 그룹 다이어그램
보안그룹에 대해 알아야 할 점
- 여러 인스턴스에 연결 가능
- 보안 그룹과 인스턴스 간의 일대일 관계는 없다
- 보안 그룹은 지역과 VPC 결합으로 통제됨 → 지역을 전환하면 새 보안 그룹을 생성하거나 다른 VPC를 생성해야 함
- 보안 그룹은 EC2 외부에 존재 → 트래픽이 차단 여부를 EC2 인스턴스에서 확인할 수 없다
- SSH 액세스를 위해 하나의 별도 보안 그룹을 유지하는 것이 좋다
- 연결에 실패하면 타임아웃이 발생하거나, 어떤 포트에 연결을 시도하는데 컴퓨터가 멈추고 대기만 한다면? ⇒ 보안 그룹의 문제
- 연결 거부 오류가 발생하면(거부 응답을 받으면) ⇒ 보안 그룹은 실행되어 트래픽을 통과했지만, 애플리케이션에 문제가 생긴 것
- 기본적으로 모든 인바운드 트래픽은 차단, 아웃바운드 트래픽은 허용
다이어그램
- 보안 그룹의 다른 보안 그룹을 참조하는 방법
- 보안 그룹 1의 인바운드를 보안 그룹 2에 허용했다면
- 허용된 그룹 내에 있거나, 같은 보안 그룹이면 통신 가능
- 그렇지 않으면 거부
시험을 위해 알아야 하는 포트
- 22 : SSH (Linux → EC2)
- 21 : FTP (파일 전송 프로토콜), 파일 공유 시스템에 파일을 업로드하는데 사용
- 22 : SFTP(Secure File Transfer Protocol), SSH를 사용해서 업로드하기 때문에 SSH와 같은 포트 사용
- 80 : HTTP, 보안되지 않은 사이트에 액세스
- 443 : HTTPS, 보안 사이트에 액세스, 현재 표준
- 3389 : RDP(Remote Descktop Protocol), 윈도우 인스턴스에 로그인할 때 사용
SSH (Secure Shell) 개요
- Linux는 SSH를 서버에 사용해 연결
- SSH : 명령줄 인터페이스 도구, Mac, Linux에서 사용
- Putty : SSH와 동일, window에서 사용
- EC2 Instance Connect : 웹 브라우저에 사용
- SSH 프로토콜을 사용 → EC2 인스턴스에 연결하도록 함
EC2 인스턴스 구매 옵션
- On-demand : 단기적인 워크로드에 좋다
- Reserved
- Reverved Instance : 1년 or 3년 단위 장기간의 워크로드
- Convertible Reserved Instance : 시간이 지나면 인스턴스 타입을 변경, 유연한 인스턴스
- Saving Plans
- 1년 or 3년
- 달러 단위로 사용량을 약정
- 사용량 한도를 넘어가면 온디맨드 가격으로 청구
- Spot Instance
- 아주 짧은 워크로드
- 지불 최대 가격을 넘으면 언제든지 손실될 위험 → 낮은 신뢰성
- 중요 작업이나 데이터베이스에는 적합하지 않다
- Dedicated hosts : 실제 물리적 서버 전체를 예약, 전용 호스트
- Dedicated Instacne : 다른 고객이 하드웨어를 공유하지 않음, 전용 인스턴스
- Capacity Reservations : 원하는 기간 동안 특정 AZ에 용량을 예약할 수 있다
스팟 인스턴스
- 온디맨드 방식에 비해 비용 절감
- 정의한 최대 가격보다 현재 스팟 가격이 높아지는 경우 - 2분 간의 유예 시간 제공
- 인스턴스 중단
- 작업을 멈추고, 인스턴스를 중단→ 중단했던 부분부터 이어서 작업 → 스팟 가격이 최대 가격보다 낮아지는 때에 인스턴스 재시작
- 인스턴스 종료
- 인스턴스 중단
- Spot Block 전략 → 서비스 중지
스팟 인스턴스의 종료
- 원리 …
Spot Fleets
- 한 세트의 스팟 인스턴스 + 선택적 온디맨드 인스턴스 조합
- 정의된 비용 제한 내에서 용량을 맞추기 위해 노력
- 사용 가능한 런치풀(Launch Pool)을 통해 실행
- 플릿이 적절한 런치풀을 선택
- 원하는 비용 용량에 도달한 경우 → 인스턴스 실행을 중단
- 스팟 인스턴스를 할당해 줄 전략을 정의하게 됨
- lowestPrice 전략
- 스팟 플릿이 가장 적은 비용을 가진 풀에서부터 인스턴스를 실행
- → 비용 최저, 짧은 워크로드 시 적합
- diversified 전략
- 기존에 정의한 모든 풀에 걸쳐 분산이 된다
- 긴 워크로드에 적합, 가용성이 뛰어남
- 하나의 풀이 중단되더라도 다른 풀이 활성화되어 있기 때문
- capacityOptimized 전략
- 인스턴스의 개수에 따라서 최적 용량으로 실행, 적절한 풀을 찾아주는 옵션
- lowestPrice 전략
'Cloud' 카테고리의 다른 글
[AWS/Cloud] 강의 노트 : 고가용성 및 스케일링성: ELB 및 ASG (0) | 2023.09.10 |
---|---|
[AWS/Cloud] 강의 노트 : EC2 인스턴스 스토리지 (0) | 2023.09.04 |
[AWS/Cloud] 강의 노트: IAM 및 AWS CLI (0) | 2023.08.31 |
[AWS/Cloud] 강의 노트: AWS 시작하기 (0) | 2023.08.30 |
[AWS/Cloud] SAA-03 취득 주절주절 후기, 공부 방법 정리 (0) | 2023.08.26 |