IaaS
- EC2 : Virtual Machine
- EBS : Virtual Drive ← Storing data
- ELB : Distributing load across machine
- ASG : Auto-scaling group
EC2
- OS : Linux, Windows, Mac OS
- CPU (# of)
- RAM
- Storage
- Network-attached (EBS & EFS)
- Hardware (EC2 instance)
- Network card
- speed
- Firewall rules
- Bootstrap script : EC2 User data (configure at first launch)
- Bootstrap : 머신이 작동될 때 시작되는 명령어.
- 업데이트, 소프트웨어 설치, 일반 파일 다운로드 등.. 모든 기능을.
- EC2 User Data Script : sudo 로 구성.
- Bootstrap : 머신이 작동될 때 시작되는 명령어.
Instance Type
- General Purpose : 웹서버, 코드 레포지토리와 같은 작업 수행
- Compute Optimized : 데이터 배치 프로세싱, 미디어 트랜스코딩, 웹서버 고급 성능, 머신러닝 등.. 높은 수준의 컴퓨팅을 요구하는 작업 수행
- Memory Optimized : 메모리에서 대용량의 데이터셋을 이용하는 작업 수행. 웹스케일 캐시 저장, RDB, NRDB 등과 함께 사용.
- Storage Optimized : OLTP systmes / Relational & NoSQL DB에 사용.
Firewall
보안그룹 : 네트워크 보안 수행의 기본. EC2의 방화벽의 역할을 함.
= EC2 인스턴스 외부에서 그 안팎의 트래픽 제어
허용 규칙만 포함되어 있고, IP 와 보안 그룹을 기준으로 생성
SSH 접근을 위한 보안 그룹을 따로 설정하는 것이 좋음
타임 아웃 (접근 불가) ← 보안 그룹 문제임 !!!
커넥션 거절 ← 보안 그룹은 잘 통과했으나 권한이 없어 연결 거부된 경우.
- 인바운드 : 외부에서 EC2 인스턴스로 들어감 ← 보통 제한됨
- 아웃바운드 : EC2 인스턴스에서 외부로 나감 ← 보통 자유로움
포트
22 = SSH (Secure Shell) : Linux instance 에 로그인
21 = FTP (File Transfer Protocole) : 파일 업로드
22 = SFTP (Secure File Transfer Protocol) : SSH 를 이용한 파일 업로드
80 = HTTP : unsecured website에 접근
443 = HTTPS : secured website에 접근
3389 = RDP (Remote Desktop Protocol) : Window instance에 로그인
IP
EC2는 내부 AWS 네트워크에는 Private IP를 사용
WWW 에는 Public IP 를 사용
SSH 에는 VPN이 없다면 Public IP 를 사용
⇒ Public IP를 사용해 SSH를 통해 인스턴스에 접속하고. 이후 AWS 프로덕트 이용할 때는 Private IP를 이용.
⇒ 인스턴스를 중단하고 새로 시작하면 Public IP가 변경됨
탄력적 IP : 인스턴스를 중단하고 새로 시작할 때에도 IP를 유지하고 싶다면 배정
Placement Group 배치 그룹
EC2 인스턴스가 AWS에 어떻게 배치될지 조정
3가지 전략 사용
- Cluster 클러스터 그룹 : 단일 가용 영역 내에서 지연 시간이 짧은 하드웨어 설정으로 인스턴스를 그룹화 → 높은 성능. 높은 위험.
- 인스턴스간 네트워크가 매우 효율적임. 성능이 좋음.
- 하지만, 가용 영역에 장애가 생길 경우, 인스턴스가 동시에 장애 일어남.
- 빠른 네트워킹으로 빠르게 완료해야하는 빅데이터 작업에 적용.
- Spread 분산 배치 그룹 : 인스턴스가 다른 하드웨어에 분산. 배치 그룹당 최대 7개의 인스턴스 생성. critical application (인스턴스 오류 격리) 있을 경우 사용
- 실패 위험을 최소화함.
- 모든 인스턴스가 여러 리전의 다른 하드웨어에 배치됨. → 동시 실패 위험이 감소.
- 가용성 극대화.
- Partition 분할 그룹 : 분산 배치 그룹과 비슷하지만 여러 파티션에 인스턴스가 분할. 가용 영역 내 다양한 하드웨어 랙 세트에 의존. 즉, 인스턴스가 여전히 분산되어있지만 다른 실패로부터 격리됨. Hadoop. Kafka 사용 가능
- 여러 리전의 여러 파티션에 인스턴스를 분할. 파티션에는 많은 인스턴스가 들어갈 수 있음.
- 랙 실패로부터 안전함.
탄력적 네트워크 인터페이스 ENI
VPC의 논리적 구성 요소. 가상 네트워크 카드.
EC2 인스턴스가 네트워크에 연결되도록 해줌.
기본 ENI : Eth0 ← EC2 인스턴스 네트워크 사설 IP 연결
⇒ 인스턴스A에서 네트워크 장애 발생 시, A에 attach된 IP 주소 (ENI)를 인스턴스 B로 바로 attach해서 네트워크 장애를 빠르게 해결할 수 있음
- 주요 사설 IPv4 하나와 보조 IPv4 를 1개 이상 가짐
- 각 ENI 는 Private IPv4 나 Public IPv4 1개당 탄력적 IPv4 가짐
- 하나 이상의 보안 그룹 연결
- MAC주소 및 기타 항목 연결
- 특정 가용 영역 (AZ)에서 생성했으면 그곳에서만 활용 가능
ENI 붙인 채로 인스턴스 종료 시, 자동으로 배정된 주요 IPv4는 없어지고 직접 붙인 ENI만 남는다.
절전 모드 Hibernate
인스턴스 Stop : EBS (디스크) → 다음 시작까지 유지됨
인스턴스 Terminate : EBS → 삭제로 설정하면 삭제됨
⇒ Terminate 해도, RAM의 내용을 유지하고 싶을 때, 암호화된 EBS Root Volume에 RAM 내용을 dump해두고 재부팅 시 그 내용을 그대로 불러와 중단한 적 없는 것처럼 보이게 한다.
이럴 때 사용
- 오래 실행되는 프로세스를 갖고 있고 중지하지 않을 때
- RAM 상태를 저장하고 싶을 때
- 빠르게 재부팅하고 싶을 때 (서비스 초기화 시간이 많이 걸린다면..)
인스턴스 RAM size : 150GB
EBS Volume
Elastic Block Store : 인스턴스가 실행중인동안 사용하는 Storage
인스턴스 중단해도 데이터 지속
CCP 레벨의 EBS 볼륨 : 한번에 하나의 인스턴스에만 마운트 (but, 하나의 인스턴스는 여러개의 EBS 가질 수 있음)
필요한 경우에만 연결하면 됨. 굳이 연결되지 않은 상태여도 괜찮음.
특정 가용 영역에서만 고정되어 EBS 생성 및 연결 가능 (A에서 생성하면 B에서 사용 불가 → 스냅샷 이용하면 이동은 가능)
생성 시, 연결하려는 EC2 인스턴스와 같은 리전에 생성할 것.
네트워크 USB Stick. 라고 생각하면 됨.
인스턴스와 EBS Volume이 서로 통신하려면 네트워크가 필요함.
EC2인스턴스에 쉽게 떼고 붙일 수 있어 장애 대응에 적합함.
용량은 미리 결정해야 함.
EBS 볼륨 생성 → 종료 시 삭제 옵션 (루트 볼륨에 체크되어있음, 새로운 볼륨에는 체크되어있지 않음). → 기본적으로 루트 EBS 볼륨은 인스턴스 종료와 함께 삭제되도록 설정됨. 다른 EBS 볼륨은 삭제되지 않음 → 이건 알아서 조작할 수 있는 부분.
EBS Snapshot : EBS 볼륨의 특정 시점에 대한 백업 (Copy Snapshot)
- 다른 가용 영역이나 다른 리전에도 복사 가능
- 스냅샷 아카이브 : 아카이브 복원 24시간 소요. 저렴
- 휴지통 : EBS 스냅샷 삭제 시 휴지통에 1일-1년동안 들어감. 복원 가능
- FSR : 스냅샷 완전 초기화해 지연 시간을 없앰. 스냅샷이 아주 크고, 빠른 EC2 인스턴스 초기화에 최적. 하지만 비쌈.
EBS 볼륨 유형 : 크기, 처리량, 초당 입출력 작업 수 (IOP) 에 따라 정의할 수 있음
- GP2 / GP3 (SSD) : 다양한 워크로드에 대해 가격과 성능의 균형을 맞춤 → 부팅 볼륨으로 사용 가능
- 비용 효율적인 스토리지. 낮은 대기 시간.
- 시스템 부팅 볼륨, 가상 데스크톱, 개발 및 테스트 환경에 사용.
- GP2에서는 IOP과 처리량이 서로 연결되어있으나 GP3는 독립적으로 설정
- Io1 / Io2 Block Express (SSD) : 미션 크리티컬, 저지연, 고처리량 → 부팅 볼륨으로 사용 가능
- 스토리지 크기와 별도로 프로비저닝된 IOP 사이즈 조절 가능
- EBS 다중 연결 기능 제공
- ST1 (HDD) : 저비용 대용량 볼륨. 자주 액세스하고 처리량이 많을 경우 → 부팅 볼륨으로 사용 불가
- 빅데이터, 데이터 웨어하우징, 로그 처리에 적합
- SC1 (HDD) : 가장 낮은 비용. 액세스 빈도가 낮은 작업 → 부팅 볼륨으로 사용 불가
- 아카이브 데이터용.
EBS 다중 연결 : EBS Multi-Attach
- 하나의 EBS 볼륨을 같은 가용 영역에 있는 여러 EC2 인스턴스 (최대 16개)에 연결
- Io1 과 Io2 에만 가능함
- 각 인스턴스는 EBS에 대한 읽기 / 쓰기 권한 모두 가짐. 동시에!
- 반드시 클러스터 어웨어 파일 시스템 (cluster-aware file system)을 이용
EBS 암호화 : EBS Encryption
저장 데이터가 볼륨 내부에 암호화되고, 인스턴스와 볼륨 간 데이터도 암호화됨
스냅샷도 암호화. 스냅샷으로 만든 볼륨도 암호화.
- EBS 스냅샷 생성
- EBS 스냅샷 복사해 암호화
- 스냅샷을 이용해 새 EBS 볼륨 생성 (그 볼륨도 암호화됨)
- 암호화된 볼륨을 인스턴스 원본에 연결
AMI
Amazon Machine Image (EC2로 만든 모든 이미지)
따로 구성하면, 부팅 및 설정에 드는 시간을 줄일 수 있음
EC2 인스턴스에 설치하고자하는 소프트웨어를 미리 configure
특정 지역에서 생성한 뒤 복사해 글로벌 인프라를 활용 가능
AMI 종류
- Public AMI : AWS에서 제공함
- 자체 AMI : 직접 만들고 관리
- 마켓플레이스 AMI : 다른 사람이 만든걸 사용
AMI Process
- EC2 시작 + customize
- EC2 중단 ← 데이터 무결성 확보
- AMI 빌드 ← EBS 스냅샷 생성 (Images > Create Image)
- 다른 AMI에서 인스턴스 실행
EC2 Instance Store
= 특정 유형의 EC2 인스턴스에 연결된 하드웨어 서버 디스크
⇒ 인스턴스 스토어는 장기적으로 데이터를 보관할만한 장소가 아님 (장기 기억은 EBS)
⇒ 버퍼, 캐시, 스크래치 데이터, 임시 콘텐츠를 보관하기 좋음
하드웨어 서버 디스크 성능이 향상되어야 EC2 성능이 향상됨
EFS (Elastic FIle System)
: 관리형 NFS (Network File System)
1개의 EFS로 많은 EC2 인스턴스에 마운트할 수 있음 (공유됨)
이 인스턴스들은 서로 다른 가용성 영역에 있을 수도 있음
가용성이 높고 확장성이 좋고 매우 비쌈
→ 프로덕션 환경에서는 Regional 설정을 선택해야 함.
EFS에 대한 액세스 제어를 위해 보안그룹 설정.
콘텐츠 관리, 웹 서빙, 데이터 공유, 워드 프레스에 사용.
내부적으로 NFS 프로토콜 사용.
윈도우가 아닌, Linux 기반 AMI와만 호환됨
KMS를 사용해 EFS 드라이브에서 미사용 암호화 활성화 가능
용량을 미리 계획할 필요가 없음. 자동으로 확장되고, 사용하는 GB에 따라 비용 지불
EFS 종류 : Performance 성능
- General : 지연 시간에 민감한 사용 사례에 사용 (웹 서버)
- MAX I/O : 지연시간이 길지만 처리량이 좋음. 빅데이터 애플리케이션, 미디어 서버
EFS 종류 : Throughout 처리량
- Bursting : 1TB → 실제 사용중인 스토리지 용량에 따라 처리량을 확장해 조금 더 늘릴 수 있음
- Provisioned : 필요한 처리량을 정확히 알고 있을 때, 스토리지 크기와 관계 없이 처리량 설정할 수 있음. → 비용 미리 지불
- Elastic : EFS 파일 시스템의 용량과 상관 없이 워크로드에 따라 처리량을 자동으로 조절 → 사용한만큼 비용 지불
EFS 종류 : Storage 스토리지
- 스토리지 티어
- Standard : 자주 액세스하는 파일을 위한 계층
- EFS-IA : 자주 액세스하지 않음. 파일 검색 시 비용 발생, 저장하면 비용 감소
- Archive : 거의 액세스하지 않음.
- 가용성과 지속성
- Standard : 다중 AZ 설정 시.
- One Zone : 개발만 하고 더 저렴한 옵션. 백업은 기본적으로 활성화되었으나 1개의 AZ. 액세스 빈도가 낮은 스토리지와 연결
→ 스토리지 계층 간 파일을 자동으로 이동하기 위해 수명 주기 정책을 정의
EBS vs EFS
EBS
- 한 번에 하나의 인스턴스에 연결
- 가용 영역 (AZ) 에 제한되어 있음
- EC2 인스턴스가 종료되면 EBS 도 종료되지만, 이는 따로 설정해서 종료 안되게 할 수도 있음
EFS
- 여러 AZ에 있는 여러 인스턴스에 연결해 하나의 파일 시스템을 공유
- 가격이 더 높지만 스토리지 계층을 활용해 비용 절약 가능
'AWS 자격증 공부 > AWS SAA-C03' 카테고리의 다른 글
AWS SAA : Elastic Beanstalk (2) | 2024.11.19 |
---|---|
AWS SAA : Route 53 (2) | 2024.11.19 |
AWS SAA : RDS, Aurora, ElastiCache (1) | 2024.11.19 |
AWS SAA : ELB, ASG (0) | 2024.11.16 |
AWS SAA : IAM (3) | 2024.11.15 |