# 클라우드 컴퓨팅
- 인터넷 기반 컴퓨팅
- 컴퓨팅 자원(CPU, RAM, 스토리지(SSD, HDD), 애플리케이션 등)을 빌려씀
# 클라우드 종류
- Public
- 불특정 사용자
- Private(ESXI, Openstack)
- 특정 사용자
- Traditional Infrastructure(on-premise)
- Hybrid Cloud(Public + Private) : 통상적으로 Public + Private이 하이브리드 클라우드(넓게 보면 on-premise 포함)
- 퍼블릭과 프라이빗은 VPN 또는 Direct로 연결
- 멀티 클라우드 : 퍼블릭 클라우드 간의 연결
# 퍼블릭 클라우드 사용하는 이유
- IT인프라 자원관리가 용이함
- 인프라 구축 속도가 빠름
- 글로벌 서비스 전개의 신속함(글로벌하게 서비스를 오픈할 때 신속함=Public IP가 바로바로 나옴)
- 트래픽에 대한 자동 확대 조정(Autoscaling)
- 다양한 서비스로의 확장성
# 퍼블릭 클라우드 유형
- IaaS : 오픈스택의 nova, aws의 ec2 같은 서비스
- PaaS : aws의 Beanstalk와 같은 서비스
- Beanstalk
- 웹 서버를 설치하는 소스코드를 압축파일로 Beanstalk에 넣음
- 소스코드를 분석해서 웹 서버 생성
- 로드벨런서를 통한 접근으로 가용성 up
- 자동으로 백업
- 웹 서버와 DB서버를 연동
- 결국 enduser가 접속만 할 수 있게 만들어주는 것
- SaaS : MS Office프로그램 : 완제품 sw를 클라우드에 설치해서 구독만 하면 이용할 수 있게 해줌
# Scale Up과 Scale Out
- Scale Up(수직적 확장) : 스택을 늘리는 것 <-> Scale Down(수직적 축소)
- Scale Out(수평적 확장) : 스택은 그냥 두고 서버 개수를 늘리는 것 <-> Scale In(수평적 축소)
# AWS
- Region
- ap-northeast-2 : asia pacific 지역에서 두 번째로 만들어진 리전이라는 의미
- 가용영역(Availability Zone; AZ)
- ap-northeast-2a 172.31.0.0/20
- ap-northeast-2b 172.31.16.0/20
- ap-northeast-2c 172.31.32.0/20
- ap-northeast-2d 172.31.48.0/20
- 가용영역 내에 두 개 이상의 데이터 센터 존재
- 데이터 센터 간의 거리는 100km 이내
- 가용영역별로 subnet이 설정되어 있음 /20
- 기본 vpc 172.31.0.0/16
# MFA(Multi Factor Authentication)
- 지식 : ID/PW
- 속성 : OTP
- 소유 : 홍채, 지문, 안면
- 지식, 속성, 소유 중 두 가지 이상의 수단을 사용해서 인증하면 그것이 MFA
# Image
- Amazon linux2(AL2) = CentOS7, Redhat7, Fedora와 유사
# IAM-USER
* 사용자 그룹 만들어서 해당 그룹에 사용자를 넣으면, 사용자가 해당 그룹의 권한을 가지게 됨
* AdministratorAccess
- root사용자에 준하는 권한
- root계정을 지울 수는 없음
- 결제 대쉬보드를 볼 수 없음
* 엑세스 유형 선택은 접근방법에 대한 자격증명 자료를 만들어주는 것
* 엑세스 키 : 오픈스택의 토큰을 이용해 접근하는 방식과 유사
* 콘솔 비밀번호 : 웹 베이스에서 콘솔 로그인할 때 필요
* 새로 입사한 직원에게 비밀 번호를 물어보고 설정할 필요 없이 자동 생성된 비밀 번호 사용
* 자동 생성된 비밀 번호가 어렵기 때문에 비밀번호 재설정 필요 체크해서 나중에 바꿀 수 있도록 해줌
* 앞서 설정한 내용을 요약해서 보여줌
* 잘못된 내용이 있다면 이전버튼 눌러서 수정하고 와도 됨
* .csv 파일 다운로드하기
* .csv 파일에는 키가 들어 있어서 이를 이용해 자격증명이 가능하므로 공유X
# IAM 사용자로 로그인
* 화면 우측 상단의 별칭@아이디 누르고 보안자격증명 화면에서 MFA 디바이스 할당
* Google Authenticator로 QR인증하고 MFA코드 입력하고 MFA 할당
* OTP 어플을 삭제하면 다시 복원할 방법이 없음
* 따라서, 실습환경에서 Root계정에 MFA인증 사용 안 함
# root 계정으로 로그인
* 스팟요청, Saving Plans, 예약 인스턴스, 전용 호스트, 용량 예약은 과금 위험이 있으니 일단 들어가지 말 것
* 가운데 인스턴스 시작과 우측 상단 인스턴스 시작 : Launch
* 인스턴스 상태의 드롭다운 메뉴에서 인스턴시 시작 : Start
* t2 : t는 용도, 2는 세대 (범용 2세대)
* EC2와 EBS가 분리가 됨
* 인스턴스와 스토리지가 분리가 되기에 EBS를 persistent volume이라고 함
* 퍼블릭 IP는 오픈스택의 유동(floating IP)IP와 같은 의미 (유료 퍼블릭 IP도 있음 = ElP)
* t2.micro 프리티어 버전을 사용해서 EC2 인스턴스를 만들 때는 2a와 2c에만 EC2를 만들 수 있음
* 퍼블릭 IP가 호스트 이름이 됨
* 배치그룹이란 동일한 가용영역 내에 어떤 부분에 위치시킬 것이냐 정하는 것
* 용량예약 : CPU와 메모리 공간을 확보해 놓기 위해서 일정 비용을 지불하고 이용하는 서비스
-> EC2 인스턴스를 Poweroff했다가 다음 날에 Poweron했는데 서울리전에 가용공간이 없을 수도 있으니까 이용
* 종료방식(poweroff)
- 중지(stop) : 단순히 멈춤 -> 나중에 다시 start 가능
- 종료(terminate=delete) : poweroff했을 때 그냥 완전히 삭제해버리는 것
* 최대 절전 중지 동작(Hibernate) : 일반 컴퓨터의 절전 모드처럼 다시 전원을 켜면 마지막 작업 상태부터 시작
* 종료 방지 기능 활성화 : 실수로 종료시켜버리는 일을 방지하는 기능
* 모니터링 : cpu, 메모리 사용량 등을 그래프로 보여주는 CloudWatch 기능, 5분마다 체크해서 그래프를 보여줌
-> 모니터링에 체크하면 5분마다 체크할 것을 1분마다 볼 수 있게 해줌
* 테넌시(서버 호스팅 서비스) : 공유됨을 사용할 것
-> 전용테넌시를 사용하면? : aws 데이터 센터 내에 우리 회사만 쓰는 서버를 전용으로 사용하는 것
* Elastic Instance : GPU인스턴스보다 저렴하게 연산기능 이용
* 체크해 놓으면 접속자 급증 시 끊김을 방지(무한대로 자동 cpu에 한해 스케일 업)
* 오토 스케일링까지는 필요하지 않을 때 체크
* 초보자 입장에서 EFS는 마운트 어렵기에 클릭만을 통해 마운트를 쉽게 해주는 기능
* 클릭만 하면 내가 만든 EC2와 EFS가 마운트 되어 있음
* 스냅샷 : 루트 볼륨에 이미지를 복사해서 가져오는 형식 -> 앞서 AMI선택 단계에서 선택한 이미지를 의미
* IOPS : 데이터가 들어오고 나가는 속도를 의미
* 종료시 삭제에 체크해 놓으면 루트 볼륨까지 같이 삭제됨(실습에서는 체크)
* type1에 해당하는 Xen서버하이퍼바이저를 이용하고 있어서 앞에 x가 붙음
* 만드려는 EC2의 성격에 따라 적절한 다른 값을 넣어도 됨
* 인스턴스, 볼륨의 이름을 동일하게 준 것
* 리눅스 서버이기 때문에 SSH가 기본적으로 오픈
* 윈도우 같은 경우 RDS가 기본적으로 오픈
* 포트범위는 dst포트, 소스는 src포트
* ::/0은 IPv6
* HTTP가 모두에게 오픈되기 때문에 WAF라는 웹 방화벽이 탄생함
* test-key라는 이름으로 프라이빗 키 생성
* 이후 인스턴시 시작 클릭하면 인스턴스 생성