- 가상화 정의
: 운영 체제에서 물리적 하드웨어를 분리하여 제공하는 기술
- 하이퍼바이저
: 하드웨어 자원을 가상화하여 여러 개의 가상머신을 동시에 실행할 수 있도록 해줌
다수의 운영 체제를 동시에 실행할 수 있게 해주는 논리적 플랫폼
- 가상화의 발전
: 클라이언트 하이퍼바이저 -> 서버 하이퍼바이저 -> 가상인프라 -> 클라우드
- 클라우드 컴퓨팅
: 인터넷을 통해 it 리소스를 언제든지 사용하고 사용한 만큼 비용 지불 서비스
초기 선 투자 불필요 / 사용한 만큼 비용 지불 / 탄력적 운영 및 확장 가능
속도와 민첩성 / 비즈니스에만 집중 / 손 쉬운 글로벌 진출
- 퍼블릭 클라우드
: 클라우드 컴퓨팅 서비스 제공 업체(CSP)에 필요한 자원들을 대여하여 사용하는 방식
- 프라이빗 클라우드
: 기업이 직접 클라우드 환경 구축
- 하이브리드 유형
: 기존 On-premise(프라이빗 클라우드) + 퍼블릭 클라우드
- 멀티 클라우드
: 2개 이상 서로 다른 클라우드 함께 사용
하나의 CSP에 종속되지 않기 위해 사용
- On-Premises
: 기업이나 조직이 자체적으로 보유하고 운영하는 서버나 시스템
- AWS
1. EC2 (Elastic Compute Cloud)
: Virtual Machine
가상 서버 서비스 / 재구성이 가능한 컴퓨팅 소스 / 확장,축소되는 컴퓨팅 용량
- 구매 옵션
On-Demand 인스턴스 | Reserved 인스턴스 | Spot 인스턴스 |
- 컴퓨팅 사용한 만큼 비용 지불, 사전 계약금 지불 안함 - 장기계약 불필요 |
- 계약금 지불 후 저렴한 사용요금 부과 |
- 사용되지 않은 EC2 용량 경매 - 해당 인스턴스에 대해 더 높은 비용이 제시될 시 사용 중인 인스턴스 중단 |
- 보안그룹(Security Group)
: 특정 port 또는 ip주소 만 접속 가능하게끔 하는 규칙
In/Out bound 지정 가능
모든 인터넷 프로토콜 지원
인스턴스 동작 중에도 규칙 변경 가능
- 암호
(1) 표준 SSH RSA key pair
: Public/Private Keys
2. VPC 서비스
: Virtual Private Cloud
사용자가 정의한 가상의 네트워크 환경
- 생성 과정
: Region IP 대역 결정(지역, 나라 선택)
가용영역(AZ)에 Subnet 생성 (실제 데이터 센터 선택)
Routing 설정
Traffic 통제
- IP Range결정
(1) IP address group
(2) CIDR
: Classless Inter-Domain Routing
클래스 없는 도메인 간 IP 할당 기법
VPC 내 위치한 서버들이 사용할 Private IP 범위를 지정하는 것
CIDR은 VPC 생성 이후 변경 불가능
VPC CIDER은 16~26bit 사이로 설정 가능
RPC 1918 가이드에 따라 사설 네트워크 대역으로 설정할 것을 권장
P는 32개의 이진법으로 표현 가능함
A.B.C.D / N 형태의 IP 주소이면 N만큼을 Network 범위로 쓰겠다 라는 의미
CIDER 숫자가 높을수록 Host 개수가 줄어드는 것이 특징
- Subnet 역할
: VPC의 IP 대역을 적절한 단위로 분할 사용
각 Subnet의 애역은 VPC의 대역에 존재해야함
각 Subnet의 대역은 중복 불가
Broadcasting 영역 분리가 주요 목적이지만 AWS는 Subnet 별로 경로를 제어하여 원하는 트래픽만 subnet 별로 받을 수 있도록 네트워크 레벨에서 격리시키는 것이 목적임
- 고려사항
(1) subnet의 CIDR은 생성 후 변경 불가
: IP 대역을 너무 작게 설정하면 서비스 확장시 문제가 생길 수 있기 때문에 서비스 확장성 여부를 판단하여 넉넉하게 설 정하는 것을 권고
(2) subnet 의 IP 대역 중 예약된 IP존재
: subnet CIDER 영역내 모든 IP를 사용 가능한 것이 아님
- Routing Table 특징
: VPC 생성 시 자동으로 main routing table 생성
subnet은 하나의 routing table과 연결 될 수 있음
main routing table은 삭제 불가
- AWS Storage
(1) Block Storage
: Local Disk또는 SAN storage에 block 단위로 저장
Amazon EBS(Elastic Bock Store)
(2) File Storage
: 파일 시스템으로 구성된 저장소를 Network로 연결
(3) Object Storage
: Encapsulate 된 데이터 및 속성, 메타데이터, 오브젝트 ID를 저장하는 가상의 컨테이너
- EBS 특징
: EC2 인스턴스를 위한 비휘발성 블록 스토리지
가상디스크 = Volume
API 기반 볼륨 생성, 연결, 삭제
네트워크를 통해 연결
EBS 볼륨과 인스턴스는 같은 Availability Zone에 있는 경우 연결 가능
Q) EBS 볼륨을 다른 AZ로 이동 가능한가?
-> Snapshot 생성 후 다른 AZ에 EBS생성 가능
Q) EBS 볼륨을 다른 Region으로 이동 가능한가?
-> Snapshot 생성 후 다른 Region으로 Snapshot Copy -> 타 Region으로 복제된 Snapshot으로 EBS 볼륨 생성
- Volume Type 선택할 때 중요 고려 지표
- EBS Volume Snapshot
: EBS 볼륨을 특정 시점 기준으로 복사하여 백업하는 기능
볼륨을 그대로 복사해 놓는 방식 ->threhrk Qkfma
Snaptshot은 추후 EBS 볼륨으로 다시 생성하거나 AMI(Amazon Machine Image)로 변환하여 인스턴스를 배포하는데 사용됨
- 저장소: S3에 저장 / 변경분만 저장되는 증분식 백업
- AMI
: 인스턴스를 배포 가능한 템플릿
OS + system server + application이 묶여 있는 형태
- S3 (Simplt Storage Service)
: AWS에서 제공하는 object Storage 서비스
명령어 기바능로 데이터 생성/수정/삭제 가능
고가용성: 99.9 / 무제한 용량 제공 / 초기 저장 용량 확보 불필요 / 사용 만큼 과금
강력한 보안 기능 / Versioning 기능 제공
- S3 Bucket
: Object를 저장하는 컨테이너 (저장소 역할)
ID당 100개 생성 가능
- S3 object, key
: object는 S3에 저장되는 기본 개체 (최대 크기 5TB)
Key(키) 및 Version ID (Versioning 활성화한 경우) 를 통해 버킷 내 고유 식별
- S3 Versioning
: 동일 Bucket 내 여러 개의 Object 변형을 보존하는 방법
Key 는 동일하지만, Version ID 가 다른 두개의 Object 보유
Bucket Versioning 사용시, 모든 버전의 Object 를 보존, 복원 가능
변경 사항을 계속 저장하는 것이기 때문에 S3 저장 비용 추가 지불
- 가용성
: 서비스 가용성이라고도 표현
워크로드를 사용할 수 있는 시간의 비율
- 고가용성
: 높은 가용성
지속적으로 구현한 시스템이 정상적으로 운영되는 성질
- AZ 분산 배치
: 동일 AZ 내에 인스턴스를 배치하는 경우 해당 AZ 장애 발생시 문제 발생하므로 분산 배치하는 것이 좋음
- ELB
: Region 내 트래픽 분배 서비스
다수의 AZ으로 트래픽 분배
Backend 인스터스에 대한 Health Check 수행
Availability Zone 분산 및 Traffic 증가 시 자동 Scale-out 기능 지원
- Scale-out
: 트래픽 증가 시, 서비스에 투입되는 서버를 증설하여 각 서버가 처리하는 부하를 낮추는 방식
- Scale-in
: 트래픽 감소 시, 배포된 서버를 제거하는 방식
- Health Check
: 주기적으로 서버가 정상 상태인지 확인하고 정상상태가 아닌 서버에는 트래픽 전달 안 함