2023. 12. 14. 16:00ㆍ클라우드/AWS
12월 AWS Enablement (12/14)
AWS Computing
Computing 서비스 소개 및 EC2 구성 실습
컴퓨팅 서비스
AMAZON EC2
클라우드에 위치한 가상 서버 인스턴스
AMAZON ECS, EKS, and FARGATE
Docker 컨테이너를 대규모로 실행하고 관리
AWS LAMBDA
이벤트에 대한 응답으로 코드를 실행하는 서버리스 컴퓨팅
EC2 호스트 가상화
AWS 글로벌 리전에 위치한 물리적 서버를 가상화소프트를 사용하여 여러개의 OS로 가상화
Amazon Elastic Compute Cloud (Amazon EC2)
- Linux | Windows | Mac
- Arm 및 x86 아키텍처
- 범용 및 특정 워크로드 최적화
- 베어 메탈, 디스크, 네트워킹 가능
- Packaged | Custom | Community AMI
- 다양한 구매 옵션 : 온디맨드 인스턴스, 스팟 인스턴스, 예약 인스턴스(RI), 절감형 플랜(Savings Plans), 전용 호스트
Amazon Machine Image (AMI)
- 인스턴스 시작에 필요한 정보 제공
- 동일한 구성으로 한 AMI에서 여러 인스턴스 시작
- AMI 포함 내용
- 1개 이상의 Amazon Elastic Block Store (Amazon EBS) 스냅샷 또는 루트 볼륨에 대한 템플릿 (운영체제, 애플리케이션)
- AMI를 사용하여 인스턴스를 시작할 수 있는 AWS 계정을 제어하는 권한
- 인스턴스에 연결할 볼륨을 지정하는 블록 디바이스 매핑
Amazon EC2 운영체제
- Windows Server 2012/2012 R2/ 2016/ 2019/2022
- Amazon Linux 2/Linux 2023
- Debian
- SUSE
- CentOS
- Red Hat Enterprise Linux(RHEL)
- Ubuntu
- macOS (M1/M2(Pro) Mac 인스턴스 포함)
- AWS Marketplace에서 더 많은 운영체제의 AMI 제공
Amazon EC2 인스턴스 스토어
- 블록 수준 임시 스토리지
- 인스턴스 수명 기간 동안만 지속
- 물리적으로로 연결된 디스크
- Snapshot 기능 미지원
- SSD 또는 HHD
Amazon Elastic Block Store (Amazon EBS)
- 블록 수준 영구 스토리지
- 인스턴스 수명에 관계없이 지속
- API를 이용하여 생성, 연결, 수정
- 워크로드에 따라 스토리지 선택
- io1/io2 볼륨은 최대 16개의 Nitro 기반 인스턴스에 연결 가능
- 볼륨 암호화 지원
- 스냅샷 지원 : 특정 시점 백업
Amazon EC2 인스턴스 수명 주기
실행중 (Running)
- 인스턴스 동작 중 상태
- 과금 발생
- 정지/종료/리부트 명령으로 상태 전이 가능
정지됨 (Stopped)
- 중지된 상태
- EBS 볼륨을 루트로 사용하는 인스턴스만 가능
- 과금 안 됨
- 시작/종료 명령으로 상태 전이 가능
종료됨 (Terminated)
- 인스턴스가 완전히 제거된 상태
- 시작이나 정지 불가능
- 과금 안 됨
가장 광범위하고 심층적인 인스턴스 선택
카테고리 + 기능 + 옵션 = 575개 이상의 인스턴스 유형 (거의 모든 워크로드 및 비즈니스 요구사항에 적합)
카테고리 | 기능 | 옵션 |
|
|
|
인스턴스 유형 세부 정보
https://aws.amazon.com/ko/ec2/instance-types/
AWS Nitro System
Amazon EC2 인스턴스의 빠른 설계 및 제공을 위한 모듈식 구성
Nitro Card | Nitro 보안 칩 | Nitro 하이퍼바이저 |
|
|
|
인스턴스 이름 지정 규칙
c7gn.xlarge
c
: 인스턴스 패밀리
7
: 인스턴스 세대
gn
: 추가 기능
xlarge
: 인스턴스 크기
인스턴스 추가 기능
인스턴스는 하나 이상의 추가 기능을 가질 수 있다.
g : AWS Gravition 프로세서a : AMD 프로세서i : 인텔 프로세서 |
d : 인스턴스 스토어 볼륨n : 네트워크 최적화b : 블록 스토리지 최적화 |
e : 추가 스토리지 또는 메모리z : 고주파 |
최적의 인스턴스 선택
Cost Explorer | AWS Compute Optimizer |
|
|
더 낮은 비용, 성능 최적화, 빠르게 시작
Amazon EC2 구매 옵션
온디맨드 (On-Demand) |
예약형 인스턴스 (Reserved Instances, RI) |
절감형 플랜 (Savings Plans) |
스팟 인스턴스 (Spot Instances) |
정가 약정 없이 초 단위로 컴퓨팅 용량 비용 지불 | 1년 또는 3년 약정으로 온디맨드 요금에서 상당한 할인 | 더 많은 유연성을 갖춘 Amazon EC2 RI와 동일 한 대폭 할인 | 예비 EC2 컴퓨팅 용량으로 온디맨드 요금에 비해 최대 90% 할인된 가격으로 사용 |
요구사항을 정의하기 위한 급증하는 워크로드 | 약정 및 안정적인 상태의 사용 | 약정 및 유연한 요금 모델 | 유연한 상태 비저장, 내결함성 워크로드 |
비용 및 용량 최적화
- 알려진 안정된 상태의 워크로드에 대한 RI 및 절감형 플랜 사용
- 급증하는 워크로드를 위해 온디맨드를 사용하여 확장
- 유연한 내결함성 워크로드를 위해 스팟 인스턴스를 사용하여 확장
Elastic Load Balancing
- 네트워크 트래픽 분산을 위한 애플리케이션 확장성 개선
- 여러 가용 여역을 기반으로 고가용성 제공
- 트래픽에 따라 자동 조정
- 트래픽을 받는 대상
- EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수, 가상 어플라이언스
- 종류
- Application Load Balancer
- Network Load Balancer
- Classic Load Balancer
Elastic Load Balancer Type
Application Load Balancer | Network Load Balancer | Classic Load Balancer |
|
|
|
Amazon EC2 Auto Scaling
변화하는 수요에 동적으로 대응하고 비용을 최적화
Fleet management : 비정상 인스턴스 교체
Dynamic scaling : 수요에 맞게 확장
인스턴스 시작시 사용자 데이터(User data)로 명령 실행
- 일반적인 구성 작업을 자동으로 수행
- 쉘 스크립트 방식
#!/bin/bash yum update -y amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2 yum install -y httpd mariadb-server systemctl start httpd systemctl enable httpd
- 쉘 스크립트
- #! 문자 및 스크립트를 읽을 인터프리터의 경로 (일반적으로 /bin/bash)로 시작
- root 사용자 권한으로 실행
- sudo 명령 불필요
- 생성하는 모든 파일의 소유자는 root
- root 이외의 사용제에게 파일 액세스를 허용하려면 권한 수정 필요
- 대화형으로 실행되지 않으므로 사용자의 입력이 필요한 명령은 포함할 수 없음
- 예) -y 플래그 없는 yum update
시작 템플릿(launch Template)으로 인스턴스 시작
시작(launch)을 간소화하고 단순화하기 위해 시작 요청을 템플릿화
일관된 경험, 단순한 권한, 거버넌스 및 모범 사례, 생산성 향상
Amazon EC2 관련 자격 증명
EC2 키 페어
- Linux - 최초 호스트 로그인을 위한 SSH 키 페어
- Windows - Windows 관리자 암호 검색
표준 SSH RSA 키 페어
- 퍼블릭 키, 프라이빗 키
- AWS에는 프라이빗 키가 보관되지 않음
일반 OS에 대한 초기 액세스를 제공하기 위한 AWS 접근 방식
- 안전한
- 개인화된
- 비 제네릭 (NIST, PCI DSS)
Amazon CloudWatch
- AWS 리소스 및 애프리케이션의 모니터링 및 관찰 기능
- 로그, 지표 및 이벤트 형태로 모니터링 및 운영 데이터를 수집
- AWS 리소스, 애플리케이션 및 서비스에 대한 통합 뷰
- 이상 동작 감지
- 경보 설정
- 로그와 지표 시각화
Web Application on AWS
'클라우드 > AWS' 카테고리의 다른 글
Web Application - Build Web Application Hands-On (0) | 2023.12.22 |
---|---|
AWS Core Services - AWS Storage (0) | 2023.12.14 |
AWS Core Services - AWS Database (0) | 2023.12.14 |
AWS Core Services - AWS Networking & Security (0) | 2023.12.14 |
AWS Core Services - AWS Cloud Introduction (0) | 2023.12.14 |