AWS
클라우드 : CSP(Cloud Service Provider)
클라우드 서비스 모델
IaaS :
PaaS :
SaaS : ID/PW통해서 구독, 종량제 방식 (ex) MS365, google office, ERP
AWS 특장점
- 물리서버가 없기 때문에 초기 비용없이 종량 과금제 방식(on demand - 주문형)
- 빠른 인프라 구축 속도 (pay-as-you-go)
- 사전 리소스 확보 불필요
- 인스턴스 라이프사이클의 손쉬운 관리 (start, stop, restart, terminate;제거, hibernate;최대절전 => in use상태에서 up시키기 용이) -> cpu, ram은 up/down 가능
- HA(High Availability-고가용성), FT(Fault Tolerance-내결함성)
*auto scaling : monitoring, replication 필요
- API 제공으로 서비스 관리 자동화 용이
AWS 계정 생성
AWS 비용
1) EC2 인스턴스 시작 유형
- 시작 -> launch (create)
- 유형 -> t2.micro (cpu 1c, ram 1G) - 무료
(t = 용도(범용), 2 = cpu 세대,
- 온디맨드 인스턴스 : 기본, 짧은 워크로드, 예측 가능한 가격 - 종량제
- 예약 (최소 1년)
- 예약 인스턴스 : 긴 워크로드 - 7~8개월치를 계산하고 1년간 사용가능
- 가변 예약 인스턴스
- 스케줄 예약 인스턴스
- 스팟 인스턴스
- 전용 호스트
2) 온디맨드 인스턴스 - 실습에서 사용
- 단) 비용이 가장 높음
- 장) 선불 결제 X, 목돈 X, 장기약정 X
- 작동 방식을 예측할 수 없는 단기 및 중단없는 워크로드에 권장
- 종량제 방식
3) 예약 인스턴스 - 실무에서 사용
- RI (Reserved Instance)
- 주문형 방식에 비해 최대 75% 할인
- 1년 or 3년
- 가변 예약 인스턴스
- 스케쥴된 예약 인스턴스
4) 스팟 인스턴스
5) 전용 호스트
- 본인 회사만 가능
- 기존 보유 라이센스 가능
- 비싸다
EC2 (Elastic Compute Cloud)
인스턴스 생성
- 이름 : WEB01
- 애플리케이션 및 OS 이미지 : Amazon Linux 2 AMI (HVM)
- 인스턴스 유형 : t2.micro
- 키 페어 : aws-key
- VPC : MY-VPC
- 서브넷 : MY-PUBLIC-SUBNET-2A
- 퍼블릭 IP 자동 할당 : 활성화
- 방화벽(보안 그룹) : SG-WEB
- 스토리지 구성 : 8GiB gp2
( # 용량예약 : 용량이 부족해 power on을 못할수도 있는데 용량을 보존하기 위해서 사용)
- 사용자 데이터
#!/bin/bash
yum install -y httpd git
systemctl enable --now httpd
cd /tmp
git clone https://github.com/hali-linux/html.git
cp ./html/* /var/www/html/
-alibaba DNS에 aws에서 만든 web01 주소 넣기
- web01.hyejin36.shop으로 접속
AWS VPC 생성
- 이름 : NEW-VPC
- IPv4 CIDR : 192.168.0.0/16
-> 활성화 체크
서브넷 생성
- VPC ID : NEW-VPC
- 서브넷 이름1 : NEW-PUBLIC-SUBNET-2A
- 가용 영역 : ap-northeast-2a
- IPv4 CIDR 블록 : 192.168.0.0/20
- 서브넷 이름2 : NEW-PUBLIC-SUBNET-2B
- 가용 영역 : ap-northeast-2b
- IPv4 CIDR 블록 : 192.168.16.0/20
- 서브넷 이름3 : NEW-PUBLIC-SUBNET-2C
- 가용 영역 : ap-northeast-2c
- IPv4 CIDR 블록 : 192.168.32.0/20
- 서브넷 이름4 : NEW-PUBLIC-SUBNET-2D
- 가용 영역 : ap-northeast-2d
- IPv4 CIDR 블록 : 192.168.48.0/20
- 서브넷 이름5 : NEW-PRIVATE-SUBNET-2A
- 가용 영역 : ap-northeast-2a
- IPv4 CIDR 블록 : 192.168.64.0/20
- 서브넷 이름6 : NEW-PRIVATE-SUBNET-2B
- 가용 영역 : ap-northeast-2b
- IPv4 CIDR 블록 : 192.168.80.0/20
- 서브넷 이름7 : NEW-PRIVATE-SUBNET-2C
- 가용 영역 : ap-northeast-2c
- IPv4 CIDR 블록 : 192.168.96.0/20
- 서브넷 이름8 : NEW-PRIVATE-SUBNET-2D
- 가용 영역 : ap-northeast-2d
- IPv4 CIDR 블록 : 192.168.112.0/20
인터넷 게이트웨이 생성
-> 게이트웨이 생성하고 NEW-VPC랑 attached를 해주어야 함
- 라우팅 테이블 > 라우팅 편집
- 인터넷 게이트웨이 추가
라우팅 테이블 생성
- 이름 : NEW-PRIVATE-SUBNET-RTB
- VPC : NEW-VPC
- 명시적 연결에 private 연결
자동 할당 IP 설정
- 서브넷 > 서브넷 설정 편집
- 퍼블릭 서브넷에 추가
VPC Peering
- VPC를 만든이유 = 피어링을 하기 위함
- IP 대역이 같으면 피어링 못함(충돌나기 때문에)
도쿄에서 인스턴스 생성
- 이름 : WEB01-TOKYO
- 애플리케이션 및 OS 이미지 : Amazon Linux 2 AMI (HVM)
- 인스턴스 유형 : t2.micro
- 키 페어 : tokyo-key
(* 키 페어는 리전별로 존재)
- VPC : default
- 서브넷 : 선택 no
- 퍼블릭 IP 자동 할당 : 비활성화
- 방화벽(보안 그룹) : SG-TOKYO
- 스토리지 구성 : 8GiB gp2
- 보안 그룹 규칙 2
- 유형 : 모든 ICMP - IPv4
- 원본 : 0.0.0.0/0
▶ mobaxterm에서 접속
피어링 연결 생성
- VPC > 피어링 연결
- 이름 : MY-PCX
- VPC ID (요청자) : MY-VPC (ping을 칠 서울이 있는 위치로 선택)
- 계정 : 내 계정
- 리전 : 다른 리전
-> 다른 계정과 피어링할 경우 (계정ID)
-> 도쿄의 VPC ID
도쿄
- 도쿄에서 수락하기
- VPC > 피어링 연결
- ping을 하기 위해서 서울, 도쿄에서 둘다 라우팅 설정 해주어야함
- 피어링이 끝나면 라우팅 테이블을 변경해주어야함
- 도쿄 라우팅 > 라우팅 편집
- 서울의 MY-VPC에 내 IP 범위 추가
- 피어링 연결 선택 (pcx-)
-> 서울의 ip로 신호를 보내면 경로를 알만한 곳으로 전송
- 서울의 VPC (10.24.0.0/16), MY-PCX
- 도쿄의 default VPC에서 출발 (172.31.0.0/16), MY-PCX
-> ping 나감
-> 오로지 2개의 연결은 가능,,,, 3개 이상은 불가능,,,
[ec2-user@ip-10-24-0-151 ~]$ chmod 400 tokyo-key.pem
[ec2-user@ip-10-24-0-151 ~]$ ssh -i tokyo-key.pem ec2-user@172.31.9.207
The authenticity of host '172.31.9.207 (172.31.9.207)' can't be established.
ECDSA key fingerprint is SHA256:lrhfeiBeHcEERGytFRT2fX9zizyc8sP468+jxsNH5g4.
ECDSA key fingerprint is MD5:e7:bb:02:4e:df:21:6d:50:9e:ad:54:16:05:79:4b:1c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.31.9.207' (ECDSA) to the list of known hosts.
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-172-31-9-207 ~]$
*퍼블릭 IP가 없으면 핑이 나가지 않음
- 퍼블릭 IP가 없는 도쿄에서 ping이 나가게?
탄력적 IP 할당
- ping google.com 나감
EBS (Elastic Block Store)
= persistent volume (영구볼륨)