BE전문가 프로젝트
3. 컴퓨터 계층 본문
1. EC2
- 기존 ON- premise와 같지만 클라우드에서 사용할 수 있음
웹 호스팅 |
데이터베이스 |
인증 |
서버가 처리할 수 있는 모든 것 |
1.1 가상 머신과 물리적 서버
ON-Premise와 EC2의 차이점 | 데이터 기반 의사결정 |
빠른 반복 | |
자유로운 실수 |
1.2 이미지(AMI)를 사용한 EC2 인스턴스 시작
- Amazon 머신 이미지(AMI)는 EC2 인스턴스를 시작하는 데 필요한 정보를 제공한다.
- 동일한 구성의 인스턴스가 여러 개 필요할 때는 한 AMI에서 여러 인스턴스를 시작할 수 있다. (단일 AMI를 사용해 일단의 인스턴스를 시작하고 하나의 로드 밸런서 뒤에 배치할 수 있음)
- 여러 AMI를 사용하여 다양한 유형의 인스턴스를 시작할 수 있다. (아키텍처에서 한 AMI를 사용하여 웹 서버 인스턴스를 구현하고 다른 AMI를 사용하여 애플리케이션 서버 인스턴스 구축)
AMI에 포함되어있는 것 | |
루트 볼륨용 템플릿 (부트 드라이브의 복사본) |
EC2 인스턴스 루트 볼륨, 루트 볼륨용 템플릿은 보통 전체 운영 체제(OS)및 해당 OS에 설치된 모든 구성 요소(애플리케이션, 링;ㅂ,랄;, 유틸리티 등)를 포함함 |
시작 권한 | AMI를 사용하여 인스턴스를 시작할 수 있는 AWS 계정을 제어하는 시작 권한 |
블록 디바이스 매핑 | 시작 시 인스턴스에 연결할 볼륨을 지정하는 블록 디바이스 매핑 |
AMI가져오기 | |
사전 구축 | AWS는 인스턴스를 시작할 수 있는 미리 빌드된 다수의 AMI를 제공하며, AMI에는 Window 및 Linux 옵션이 포함되며 설정을 사용자가 지정할 수 있는 다양한 하위 옵션이 제공됨 |
AWS Marketplace | 수천개의 소프트웨어 솔루션이 나영된 디지털 카탈로그를 제공하며 이러한 AMI는 빠르게 시작하는 데 도움이 되는 특정 사혜를 제공함 |
자체 생성 | AMI는 사용자가 AMI에 배치하려는 특정 OS및 애플리케이션 콘텐츠로 구성한 가상머신의 익명화된 블록 수준의 복사본임 |
전 세계의 사람들이 생성한 커뮤니티 AMI도 있으며 이러한 AMI는 AWS가 점검하지 않으며 사용자가 위험을 부담한다. 따라서 주의해서 사용할 것 |
1.3 AMI의 장점
AMI의 장점 (AMI를 사용하여 문제해결) |
|
반복성 | 동일한 AMI에서 시작된 인스턴스는 같은 복제본이므로 유사한 인스턴스의 클러스터를 구축하거나 컴퓨팅 환경을 재생성하기 유리함 |
재사용성 | AMI를 이용하여 EC2인스턴스의 전체 구성 및 콘텐츠를 패키징하므로 효율적이고 정확한 인스턴스를 계속 다시 사용 가능함 |
복구성 | 장애발생 시 동일한 AMI에서 생성된 새 인스턴스로 교체하는 데 이상적임 |
Marketplace | - 특정 소프트웨어 솔루션을 찾고 있을 시 Marketplace에 있는 솔루션을 구현할 수 있는 AMI를 구할 수 있음 - 반대로 판매도 가능함 |
백업 | 전체 EC2 인스턴스를 구성을 백업하는 뛰어난 방법을 제공하여, 장애 발생 시 대체 인스턴스를 시작하는 데 사용 가능함 |
1.4 EC2 Image Builder
- Linux 및 Windows Server 이미지의 생성, 유지 관리, 검증, 공유 및 배포를 간소화한다.
순서
원본이미지 → EC2 Image Builder → 이지미에 설치된 소프트웨어 사용자 지정 → 원본 이지미와 AWS제공 및 사용자 지정 템플릿 → 테스트 이미지 → 골든 이미지 배포
2 사용자 데이터를 사용한 EC2 인스턴스 시작
- EC2 인스턴스 생성 시 데이터를 인스턴스에 전달할 수 있는 옵션이 있음
- 사용자 데이터는 인스턴스 시작 완료를 자동화 할 수 있음(인스턴스 AMI를 패치 및 업데이트하거나 소프트웨어 라이선스 키를 이용하여 설치 또는 추가 소프트웨어 설치 가능)
- 사용자 데이터는 shell 스크립트 또는 cloud-init 명령으로 구현되며 루트 또는 관리자 권한으로 실행됨
2.1 인스턴스 메타데이터를 사용하여 EC2에 대한 정보 가져오기
- 사용자 데이터가 새 EC2 인스턴스 시작을 완료하려면 인스턴스 자체에 대한 정보를 조회해야함(시작을 완료할 새 인스턴스의 퍼블릭 IP주소, 호스트 이름 또는 mac주소를 식별하고 공유해야함)
3 EC2 인스턴스 및 데이터 저장
Amazon Elastic Block Store(EBS)를 활용한 문제 해결 | |
애플리케이션에는 블록 수준 스토리지가 필요함 |
EBS 볼륨은 EC2 인스턴스를 위해 안정적이고 분리 가능한 블록 수준 스토리지(외부 하드 디스크 처럼)를 제공함 |
인스턴스 스토어는 휘발성임 | |
종료 후에도 데이터가 지속되어야 함 |
|
데이터 볼륨을 백업할 수 있어야 함 |
인스턴스를 AMI로 백업하는 데 사용할 수 있으며 AMI는 S3에 저장되고 새로운 EC2인스턴스를 생성하는데도 사용 가능함 |
주의 사항 : 동일한 인스턴스에 여러 EBS 볼륨이 있을 수 있지만 각 볼륨은 한 번에 하나의 인스턴스에만 연결 가능 |
3.1 볼륨 유형
SSD 기반 EBS | ||
범용SSD | 프로비저닝된IOPS SSD | |
설명 | 다양한 워크로드에 사용할 수 있으며 가격 대비 성능이 우수한 범용 SSD볼룸 | 지연 시간이 짧거나 처리량이 많은 미션 크리티컬 워크로드에 적합한 고성능 SSD볼륨 |
사용 사례 | 대부분의 워크로드애 추천 | - IOPS 성능을 유지해야하는 크리티컬 비즈니스 애플리케이션 - 대규모 데이터베이스 워크로드 |
I/O 크기가 작은 읽기 및 쓰기 작업을 자주 처리하는 트랜잭션워크로드에 최적화 기준 성능 속성은 IOPS |
하드 디스크 기반 | ||
처리량 최적화 HDD | 콜드 HDD | |
설명 | 자주 액세스하고 처리량 집약적인 워크로드에 적합한 저렴한 HDD볼륨 | 자주 액세스하지 않는 워크로드에 적한한 최저 비용 HDD볼륨 |
사용 사례 | - 스트리밍 워크로드 - 데이터 웨이하우스 - 로그처리 - 부트 볼륨이 될 수 없음 - 빅 데이터 |
- 스토리지 비용이 최대한 낮아야하는 시나리오 - 자주 액세스하지 않는 대용량 데이터를 위한 처리량 중심의 스토리지 - 부트 볼륨이 될 수 없음 |
대용량 스트리밍 워크로드에 최적화되어 있으며, IOPS보다는 처리량(Mib로 측정)이 더 정확한 성능 측정기준 |
3.2 EBS 최적화 인스턴스
EBS 최적화 인스턴스 | 최적화된 구성 스택 |
Amazon EBS I/O를 위한 추가 전용 용량 | |
Amazon EBS와 기타 트래픽 간 경합을 최소화되어 EBS볼륨의 성능이 극대화 | |
425Mbos~14,000Mbps 범위의 옵션 |
*Mbps 란.. Mega bit per second, 초당 몇매가 비트인지 속도를 나타내는 것
3.3 공유 파일 시스템
여러 인스턴스가 동일한 스토리지를 사용해야하는 경우 | ||
종류 | 이유 | |
적합 | Amazon EFS Amazon FSx |
파일 시스템이 다양한 크기의 파일을 높은 처리량으로 변경을 처리하는 데 객체 스토어 시스템보다 우수함 |
부 적합 | EBS | 하나의 인스턴스에만 연결됨 |
S3 | - 옵션이지만 이상적인 것은 아님 - 블록 스토어가 아닌 객체 스토어 시스템이므로 변경 사항이 차일 내 문자 블록이 아니라 전체 파일을 덮어씀 |
3.4 Amazon EFS(Elastic File System)
- AWS클라우드 서비스와 On-Premise 리소스에서 사용할 수 있는 간단하고 확장가능하며 탄력적인 Linux 기반 워크로드용 파일 시스템을 제공
- Direct Connect 및 AWS VPN을 통해 수천 개의 EC2와 On-Premise 간에 파일을 고유함면서 여러 가용 영역과 리전, VPC에 걸쳐 파일 시스템에 액세스할 수 있음
- 파일 시스템을 생성하여 EC2에 탑재 후 해당 파일 시스템에서 데이터를 읽고 쓰기 가능
- EFS파일 시스템을 Network File System버전 4.0 및 4.1을 통해 VPC에 탑재 가능
- VPC의 여러 EC2 인스턴스들이 동시에 EFS 파일 시스템에 액세스할 수 있어 단일 연결을 넘어 확장되는 애플리케이션이 파일 시스템에 액세스 가능
3.5 Amazon FSx
Amazon FSx | |
Amazon FSx for Windows File Server |
- Windows 기반 애플리케이션을 위한 FSx - 엔터프라이즈 애플리케이션용으로 설계됨 - 네이티브 Windows 파일 시스템을 지원하는 완전 관리형 서비스 - 엔터프라이즈 애플리케이션을 손쉽게 Amazon Web Service로 이전 가능 - SMB프로토콜 - Windows NTFS - 분산 파일 시스템(DFS) - Active Directory(AD)통합 |
Amazon FSx for Lustre |
- 컴퓨팅 집약적 워크로드를 위한 FSx - 고성능 컴퓨팅(HPC), 기계학습, 미디어 처리 워크플로에 최적화된 완전 관리형 ㅍ파일 시스템 제공 - 하나의 Amazon FSx for Lustre 파일 시스템은 방대한 데이터를 1밀리초 미만의 지연시간과 초당 수백 기가바이트의 처리량 처리 가능 - S3와 통합할 수 있으며 고성능 파일 시스템으로 장기간의 데이터를 처리 가능 - POSIX와 호환되므로 아무 변경없이 현재의 Linux기반 애플리케이션 사용 가능 - 네이티브 파일 시스템 인터페이스 제공하며 Linux 운영 체제의 파일 시스템처럼 작동 - 파일 시스템에 대한 액세스는 POSIX 권한 및 VPC권한으로 제어 가능 |
4 EC2 인스턴스 유형
예 t2.large, c5.xlarge
m | 패밀리이름 |
5 | 세대번호 |
Large | 인스턴스 크기 |
세대번호가 높을 수록 더 강력하고 우수한 가격대비가치를 제공한다.
필요에따라 크기를 조정하는 것이 바람직하며 그 크기는 large(2)부터 24xLarge(96)까지 있다.
인스턴스 - 유형
- 불필요한 비용을 줄이고 인스턴스 사용률을 높이혀면 올바른 인스턴스 유형을 선택하는 것이 바람직하다.
- 각 인스턴스 패밀리 이름은 각자 고유한 장점을 가지고 있으며 솔루션 아키텍처를 설계할 때 이를 고려해야 한다.
패밀리 이름 | |
범용 | A, T, M |
컴퓨팅 최적화 | C |
메모리 최적화 | R, X |
가속화 컴퓨팅 | P, G |
스토리지 최적화 | H |
범용 - 웹사이트 및 웹 어플리케이션 같이 일시적으로 폭증할 수 있는 워크로드에 적합하다.
T3 | 휠씬 저렴한 비용으로 대부분의 범용 워크로드를 실행하도록 설계되었다. |
기준 CPU성능을 제공하여 다수의 일반적인 워크로드를 처리하는 동시에 추가 성능이 필요할 때 기준 성능 이상으로 순간 확장이 가능하다. | |
CPU사용량을 추적하며, 워크로드가 기준 임계값 미만으로 작동할 때 CPu 크래딧을 누적하고 기준 임계값을이상으로 작동할 때 사용한다. |
컴퓨팅 최적화 - 컴퓨팅 집약적 워크로드에 최적화
C5 | 컴퓨터 속도당 가격 비율이 저렴하며 매우 비용 효율적이며 높은 성능을 제공한다. |
고성능 웹서버, 과학 모델링, 배치 처리, 분산분석, 고성능 컴퓨팅, 딥러능, 확장성높은 멀티플레이어 게임 등이 해당된다. |
메모리 최적화 - 메모리 집약적 애플리케이션 또는 CPU보다 RAM이 더 필요한 경우
R4 | 고성능 데이터베이스, 데이터 마이닝 및 분석, 인 메모리 |
고성능 웹서버, 과학 모델링, 배치 처리, 분산분석, 고성능 컴퓨팅, 딥러능, 확장성높은 멀티플레이어 게임 등이 해당된다. |
가속화 컴퓨팅- 고성능 GPU 기반 인스턴스이며 일반적으로 기계학습 및 딥러닝에 사용된다.
스토리지 최적화 - 디스크 처리량이 높은 최대16TB의 HDD기반 로컬 스토리지
H1 | 16TB의 HDD기반 로컬 스토리지, 높은 디스크 처리량 및 컴퓨팅과 메모리의 균형을 제공한다. |
인텔 제온 CPU 및 EC2 인스턴스 |
모든 EC2 I 유형 - 인텔 AES-NI: 암호화로 인한 성능 저하 감소 - 인텔 AVX:부동 소수점 성능을 개선한다. HVM배포에서만 사용가능 |
일부 EC2 인스턴스 유형 - 인텔 Turbo Boost : 필요할 때 기본 클럭 속도보다 빠르게 코어 실행 - 인텔 TSX : 필요에 따라 여러 스레드 또는 단일 스레드 사용 - P State 및 C State제어 : 각 코어의 성능 및 절전상태 미세 조정 - 인텔 딥 러닝 부스트 : 인공 지능 워크로드 용 임베디드 성능 가속화, 이전 세대와 비교하여 추론 워크로드에 대하여 최대 30배의 성능 향상 |
인텔 제온 확장형 프로세서 | 최대 CPu 28코어 6개의 메모리채널 대역폭/처리량의 PCle 레인 48개 100Gbps 네트워크 대역폭 |
EC2 요금 옵션
온디맨드 인스턴스 | 컴퓨팅 파워에 대한 초당(Amazon Linux 및 Ubuntu) 또는 시간당(다른 모든 OS)비용 지불 |
장기 약정 필요없음 | |
선결제금액 없음 | |
애플리케이션 수요에 따라 컴퓨팅 파워를 확장 또는 축소 | |
즉시 필요한 컴퓨팅 파워를 해결 | |
예약 인스턴스 | 어카택처에 대해 상당한 할인을 받을 수 있다 |
3가지 선결제방법 - 스탠다드RI(75%할인) : 준비상태 사용에 가장 적합하다 - 컨버터드RI(54%할인) : - 예약RI : 사용자가 선택한 기간에 시작되므로 용량 요구사항을 충족할 수 있다 |
|
여러계정사이(결제패밀리 내)에서 공유가능 | |
미리 용량을 예약하여 비용을 절감할 수 있다. | |
Saving Plans | Computing Saving Plans는 최대의 유연성과 최대 66%의 비용 절감을 지원한다 |
RI 구매를 조정할 필요가 없다. | |
스팟 인스턴스 | 미사용 AmazonEC2 용량 구매 |
입찰 불필요 : 장기적 수요 및 공급 추세에 따른 가격 | |
인스턴스 종료 2분전에 중단 공지를 제공 | |
유연성이 성공의 핵심 | |
온디맨드 요금 대비 최대 90%를 제공하며 상태 비저장, 내결함성 워크로드에 적합하다 |
EC2 전용 옵션
AWS License Manager 사용시 AWS 및 ON-Premise 서버에서 다양한 소프트웨어 공급업체의 라이선스를 더 쉽게 관리 가능 |
관리자는 EC2인스턴스를 시작할 때 사용자 지정 라이선스규칙을 생성하고 이러한 규칙을 사용하여 허용 범위 이상의 라이선스를 사용해 라이선스를 위반하지 않도록 제한하거나 다른 서버에 단기적으로 라이선스를 제할당 가능 |
EC2 전용 인스턴스
- 전용 인스턴스는 단일 고객을 위한 전용 하드웨어의 VPC에서 실행되는 Amazon EC2 인스턴스이다
- 전용 인스턴스는 다른 AWS 계정에 속하는 인스턴스로부터 호스트 하드웨어 수준에서 물리적으로 격리됨
- 전용 인스턴스 요금은 두 부분으로 구성됨
ㆍ시간당 인스턴스 사용요금
ㆍ리전당 전용 요금
EC2 전용 호스트
- 전용 호스트는 고객 전용의 EC2 인스턴스 용량을 갖춘 물리적 서버
- 전용 호스트 사용시 Windows Server, SQL Server 및 SUSE LINUX Enterprise Server를 비롯한 기존 서버에 한정된 소프트웨어 라이선스를 사용할 수 있으므로 규정 준수 요구사항과 비용 절감을 동시에 해결가능
- ON Demend(시간당)로 구입할 수 있음
- 예약은 ON Demend요금과 비교하여 최대 70%의 할인 해택 받을 수 있음
전용 호스트 이점 | |
라이선스 비용 절감 | 전용 호스트 사용시 EC2에서 자체 소켓당 또는 코어당 소프트웨어 라이선스를 사용함으로써 비용 절감 가능 |
규정 준수 및 규제 요구 사항 충족 지원 |
특정 무리적 서버의 VPC에서 인스턴스를 시작할 수 있으며 이를 통해 기업 규정 준수 및 규제 요구사항을 충족하는 구성을 사용하여 인스턴스 배포 가능 |
EC2 테넌시
인스턴스 시작 후에는 테넌시를 변경하는 제한들
- 인스턴스 시작 후 인스턴스 테넌시를 기본에서 전용 또는 호스트로 변경 불가능하며 반대의 경우도 불가능
- 인스턴스 시작 후 인스턴스 테넌시를 전용에서 호스트 또는 호스트에서 전용으로 변경 가능
사용자의 인스턴스 추적
관리, 검색, 필터링에 도움이 되도록 AWS리소스에 메타 데이터 테그를 할당함
테그 지정 모범 사례 |
태그에 대한 표준화된 대/소문자 구분 형식 |
리소스 태그를 관리하는 데 도움이 되는 자동화된 도구를 구현함 |
태그는 적은것 보다 많은 것이 좋음 |
태그는 수정이 쉽다 |
'AWS이론 자습' 카테고리의 다른 글
6. AWS 네트워킹(2) (0) | 2022.03.17 |
---|---|
5. AWS 기반 네트워킹 (0) | 2022.02.21 |
4. DB 계층 (0) | 2022.02.18 |
2. 간단한 아키텍처 (0) | 2022.01.31 |
1. AWS (0) | 2022.01.30 |