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 세대,
![](https://velog.velcdn.com/images/seoseo/post/683eacef-97d8-43d4-acdd-c96f2fe09f42/image.png)
- 온디맨드 인스턴스 : 기본, 짧은 워크로드, 예측 가능한 가격 - 종량제
- 예약 (최소 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/
![](https://velog.velcdn.com/images/seoseo/post/2868d16f-a822-43cd-853f-d1ad819dbb33/image.png)
![](https://velog.velcdn.com/images/seoseo/post/665ea01c-d4af-4aac-948a-5737845b218e/image.png)
-alibaba DNS에 aws에서 만든 web01 주소 넣기
![](https://velog.velcdn.com/images/seoseo/post/4e940d85-e9d7-4426-bd65-9e56a4e8aa25/image.png)
- web01.hyejin36.shop으로 접속
![](https://velog.velcdn.com/images/seoseo/post/d1cef2be-479b-43dc-93dd-cc4417e73e30/image.png)
AWS VPC 생성
- 이름 : NEW-VPC
- IPv4 CIDR : 192.168.0.0/16
![](https://velog.velcdn.com/images/seoseo/post/e8ec7f31-401f-4271-94f0-2a78a09babfa/image.png)
![](https://velog.velcdn.com/images/seoseo/post/6b765a48-6aea-43c2-872f-9a8d9c88ec5d/image.png)
![](https://velog.velcdn.com/images/seoseo/post/f414596b-50b4-46fb-98e8-d1b8a32645a9/image.png)
-> 활성화 체크
서브넷 생성
- VPC ID : NEW-VPC
- 서브넷 이름1 : NEW-PUBLIC-SUBNET-2A
- 가용 영역 : ap-northeast-2a
- IPv4 CIDR 블록 : 192.168.0.0/20
![](https://velog.velcdn.com/images/seoseo/post/07c5a69b-09a8-49e5-a81b-bdc85784d150/image.png)
- 서브넷 이름2 : NEW-PUBLIC-SUBNET-2B
- 가용 영역 : ap-northeast-2b
- IPv4 CIDR 블록 : 192.168.16.0/20
![](https://velog.velcdn.com/images/seoseo/post/1da7effe-3eaa-448b-af03-bcdc4db2c651/image.png)
- 서브넷 이름3 : NEW-PUBLIC-SUBNET-2C
- 가용 영역 : ap-northeast-2c
- IPv4 CIDR 블록 : 192.168.32.0/20
![](https://velog.velcdn.com/images/seoseo/post/8eef4e60-2bc8-4c89-a4a2-74a038a89c2a/image.png)
- 서브넷 이름4 : NEW-PUBLIC-SUBNET-2D
- 가용 영역 : ap-northeast-2d
- IPv4 CIDR 블록 : 192.168.48.0/20
![](https://velog.velcdn.com/images/seoseo/post/add2cf1c-d666-4fdf-963f-e0f1eb48552d/image.png)
- 서브넷 이름5 : NEW-PRIVATE-SUBNET-2A
- 가용 영역 : ap-northeast-2a
- IPv4 CIDR 블록 : 192.168.64.0/20
![](https://velog.velcdn.com/images/seoseo/post/ab33a7d8-0245-4714-9298-d22ceedfde59/image.png)
- 서브넷 이름6 : NEW-PRIVATE-SUBNET-2B
- 가용 영역 : ap-northeast-2b
- IPv4 CIDR 블록 : 192.168.80.0/20
![](https://velog.velcdn.com/images/seoseo/post/e7b55bf7-0080-4cf6-ab54-b23ceca09fd2/image.png)
- 서브넷 이름7 : NEW-PRIVATE-SUBNET-2C
- 가용 영역 : ap-northeast-2c
- IPv4 CIDR 블록 : 192.168.96.0/20
![](https://velog.velcdn.com/images/seoseo/post/b7844b57-6e65-4205-af29-aad63dfc2047/image.png)
- 서브넷 이름8 : NEW-PRIVATE-SUBNET-2D
- 가용 영역 : ap-northeast-2d
- IPv4 CIDR 블록 : 192.168.112.0/20
![](https://velog.velcdn.com/images/seoseo/post/8b391e59-b7b2-4ae2-ae97-7af139e36d2e/image.png)
![](https://velog.velcdn.com/images/seoseo/post/94b5e637-a08f-4841-9ef6-41c8aec2cf01/image.png)
인터넷 게이트웨이 생성
![](https://velog.velcdn.com/images/seoseo/post/aa8a76ae-7032-4267-9395-521b1bf4ac82/image.png)
![](https://velog.velcdn.com/images/seoseo/post/3f513cdb-84fc-4dc7-9c5f-ef9a7dc5a968/image.png)
-> 게이트웨이 생성하고 NEW-VPC랑 attached를 해주어야 함
![](https://velog.velcdn.com/images/seoseo/post/c253a086-dc58-4f6e-ad74-8823edfb141c/image.png)
![](https://velog.velcdn.com/images/seoseo/post/c868436f-b414-4475-8ba2-98ba34a940d2/image.png)
- 라우팅 테이블 > 라우팅 편집
- 인터넷 게이트웨이 추가
![](https://velog.velcdn.com/images/seoseo/post/3407dcee-e8a0-4c9b-ba74-68b6ec7cd450/image.png)
![](https://velog.velcdn.com/images/seoseo/post/f65ca239-7366-43f4-a6a0-bfd0e014785c/image.png)
라우팅 테이블 생성
- 이름 : NEW-PRIVATE-SUBNET-RTB
- VPC : NEW-VPC
![](https://velog.velcdn.com/images/seoseo/post/012a5b29-eb31-48d5-996a-23f45a9edfb8/image.png)
- 명시적 연결에 private 연결
![](https://velog.velcdn.com/images/seoseo/post/7f3dd760-80c3-4aa7-89b2-cb0490a7482c/image.png)
자동 할당 IP 설정
- 서브넷 > 서브넷 설정 편집
- 퍼블릭 서브넷에 추가
![](https://velog.velcdn.com/images/seoseo/post/a749afd0-797d-4185-af5a-9e0ad6047dc4/image.png)
VPC Peering
![](https://velog.velcdn.com/images/seoseo/post/1251482d-53bf-4069-bfd1-b829962ab4fa/image.png)
- 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
![](https://velog.velcdn.com/images/seoseo/post/d78a2ee2-d8ec-4a61-b1c0-9a0736db87dd/image.png)
▶ mobaxterm에서 접속
![](https://velog.velcdn.com/images/seoseo/post/4da23faf-9c50-4ffa-a22b-b234324818c5/image.png)
피어링 연결 생성
- VPC > 피어링 연결
- 이름 : MY-PCX
- VPC ID (요청자) : MY-VPC (ping을 칠 서울이 있는 위치로 선택)
- 계정 : 내 계정
- 리전 : 다른 리전
![](https://velog.velcdn.com/images/seoseo/post/f9d49b21-dd5d-49b7-80e3-f906bca0b989/image.png)
-> 다른 계정과 피어링할 경우 (계정ID)
![](https://velog.velcdn.com/images/seoseo/post/6bd72b4f-57e3-4efd-b083-cf48db93e4ef/image.png)
-> 도쿄의 VPC ID
![](https://velog.velcdn.com/images/seoseo/post/241cc5aa-f551-4d4b-a4f0-b9d7f8975107/image.png)
도쿄
- 도쿄에서 수락하기
- VPC > 피어링 연결
- ping을 하기 위해서 서울, 도쿄에서 둘다 라우팅 설정 해주어야함
![](https://velog.velcdn.com/images/seoseo/post/36cfe78b-9066-438e-97e1-6396b0d4353f/image.png)
![](https://velog.velcdn.com/images/seoseo/post/e00641d9-246f-466c-bcf1-1e7cc58b49ab/image.png)
![](https://velog.velcdn.com/images/seoseo/post/ce370ba0-613b-4769-a8db-7851d4abcacb/image.png)
- 피어링이 끝나면 라우팅 테이블을 변경해주어야함
![](https://velog.velcdn.com/images/seoseo/post/063df43b-c407-4524-903e-9a0b47cfbbb9/image.png)
- 도쿄 라우팅 > 라우팅 편집
- 서울의 MY-VPC에 내 IP 범위 추가
- 피어링 연결 선택 (pcx-)
-> 서울의 ip로 신호를 보내면 경로를 알만한 곳으로 전송
- 서울의 VPC (10.24.0.0/16), MY-PCX
![](https://velog.velcdn.com/images/seoseo/post/b9aec257-9a29-4cd3-b4a2-80c4fab357b4/image.png)
- 도쿄의 default VPC에서 출발 (172.31.0.0/16), MY-PCX
![](https://velog.velcdn.com/images/seoseo/post/8b466793-ce06-41e7-967a-3dee57278ff2/image.png)
![](https://velog.velcdn.com/images/seoseo/post/f60451ee-afa9-4cb4-98ef-f734cbcd595c/image.png)
-> ping 나감
![](https://velog.velcdn.com/images/seoseo/post/04c8edd4-74e3-4cb3-90e7-5d1a599b902b/image.png)
-> 오로지 2개의 연결은 가능,,,, 3개 이상은 불가능,,,
![](https://velog.velcdn.com/images/seoseo/post/6be4a3af-f0cb-4328-8289-3972b1a11818/image.png)
[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 ~]$
![](https://velog.velcdn.com/images/seoseo/post/c2a43a37-f8ff-4170-acfa-3e313dab3fdf/image.png)
*퍼블릭 IP가 없으면 핑이 나가지 않음
- 퍼블릭 IP가 없는 도쿄에서 ping이 나가게?
탄력적 IP 할당
![](https://velog.velcdn.com/images/seoseo/post/4b9d3068-4a09-42e5-8a57-899885bb68eb/image.png)
![](https://velog.velcdn.com/images/seoseo/post/ffd872e3-4cd9-4303-9f0a-fbe04f12b6ca/image.png)
![](https://velog.velcdn.com/images/seoseo/post/59b443f8-6d8d-47d0-82a8-97fc4221c0a0/image.png)
- ping google.com 나감
![](https://velog.velcdn.com/images/seoseo/post/451124a1-b549-49bd-985e-c406eeaa0a40/image.png)
EBS (Elastic Block Store)
= persistent volume (영구볼륨)