심화 - 보충 교재
프로비저닝 : 컴퓨팅 리소스를 설정하는 것
컴퓨트 리소스 : CPU, RAM
컴퓨팅 : 모든 리소스들을 포함하는 개념
2006년에 시작
블랙프라이데이에 쇼핑몰 서버를 일시적으로 늘리기 위해 서비스 시작
EC2: 웹서버
S3: 사진을 담고 있는 서버
2010년
오픈 스택도 NOVA, SWIFT 서비스로 시작함
MS - 이미 점유된 IaaS 대신에 플랫폼으로 서비스를 시작했다.(Paas)
무정지 장애허용 시스템 : fault tolerance(내결함성)
예약 인스턴스
가변 예약 인스턴스
스케쥴된 예약 인스턴스
사용자 편의성이 늘어나면 할인율이 낮아짐.
스팟 인스턴스
desired capacity, EKS Cluster
전용 호스트
이름 및 태그 : WEB01
애플리케이션 및 OS 이미지 : Amazon Linux2
인스턴스 유형 : t2.micro
키페어 : aws-key
네트워크 - 편집
VPC : MY-VPC
서브넷 : MY-PUBLIC-SUBNET-2A
기존 보안그룹 : SG-WEB
고급 세부 정보
용량 예약: poweroff 후 공간 확보를 위함.
생각보다 T,R,M과 같은 대중적으로 사용되는 타입이 아닌경우 인스턴스타입이 커질수록 리소스 부족으로 인스턴스 시작을 못하는 경우가 많다. (심지어 만들어 놓은 온디맨드 인스턴스를 중지했다가 다시 시작할 때 못켜는 경우도 있다. 이럴 때 용량 예약을 사용
// 사용자 데이터
#!/bin/bash
yum install -y httpd git
systemctl enable --now httpd
cd /tmp
git clone https://github.com/hali-linux/html.git
cp -r ./html/* /var/www/html/
알리바바에 들어가서 aws에서 만든 web01인스턴스의 ip를 넣어준다.
web01 서버의 dns 생성 완료
라우팅 테이블
public-rtb : 퍼블릭 서브넷에 명시적으로 연결해야함
private-rtb : 프라이빗 서브넷에 명시적으로 연결, 외부에서 들어올 수 없고 나갈 수 없음 웹서버를 경유해서 들어가야함
둘의 차이는 IGW 경로의 유무에 따라 퍼블릭이냐 프라이빗이냐로 나뉨
생성순서
VPC - 서브넷 - IGW만들고(인터넷 게이트웨이는 하나의 VPC와 연결되어야함) - 라우팅 테이블 설정
* default VPC 엔 퍼블릭 서브넷만 있음. 따라서 RTB도 하나임
사설 IP대역 안에 들어있는 범위로 생성해야함.
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
172 대가 default였고, 10대가 MY-VPC
지금 192번대로 NEW-VPC를 생성해볼 것
1의 개수가 4개 이므로 2^4 : 16개의 네트워크가 생성된다.
0의 개수에 따라서 분할된 네트워크의 호스트 IP가 정해진다. ?
VPC - VPC생성 클릭
VPC 생성 클릭
DHCP, RTB, 기본 네트워크ACL, 보안그룹 기본적으로 생성됨
한가지 설정해야할 것,
작업 - DNS 호스트 이름편집 - DNS 호스트 이름 활성화 클릭
인스턴스의 퍼블릭DNS를 설정할 수 있다.
서브넷 마스크계산2 엑셀 파일 참고
서브넷 클릭
192.168.0.0/16
IP가 많으므로 세번째 자리를 분할하여 네트워크를 나누어 서브넷을 만드는 것. -> 가용영역 별로 IP를 잘 부여받도록 하기 위함
서브넷 생성 클릭 - VPC ID: NEW-VPC
-> Cloud formation으로 스크립트화 해서 생성하면 편함.
NEW-VPC를 위한 IGW 생성하기
VPC - 인터넷 게이트웨이
생성 클릭
DETACH 상태이므로 ATTACH 해야한다.
NEW-IGW 클릭 - 작업 - VPC에 연결 클릭
라우팅 테이블에 들어가면 태그가 없는 테이블이 있음
세부 내용을 내부 네트워크를 의미하는 테이블이 만들어짐.
인스턴스간에 통신이 이루어지도록 함.
라우팅 편집 클릭 - 라우팅 추가
목적지가 192.168.0.0/16 인 트래픽을 제외하고 모든 목적지를 IGW(NEXT HOP)로 보냄
그러면 IGW가 NEXT HOP으로 보냄
NEXT HOP 기억해두기
내부에서 나가는 트래픽인건가,, ? 인아웃 둘다.. ?
퍼블릭 RTB에 서브넷 연결
라우팅 테이블 생성 클릭
퍼블릭 IP 자동으로 활성화, 체크안하면 퍼블릭 IP를 못받음
서브넷 - 퍼블릭 서브넷 하나 선택 - 작업 - 서브넷 설정 편집
프라이빗한 IP로 서로 다른 VPC끼리 연결하는 것
리전 간, ID간 연결 가능
서울엔 웹서버(PUBLIC SUBNET), 도쿄엔 DB서버(PRIVATE SUBNET:인터넷이 안된다는 뜻)
만약 둘다 퍼블릭이면 인터넷을 통해서 연결가능, 피어링을 이용하면 AWS 망을 이용(인터넷 이용X)하여 연결 가능.
인터넷은 공중망이기때문에 네트워크 보안 위험성이 있음.
둘 중 프라이빗 서브넷인 경우 연결하려면 피어링 필요, 피어링을 하면
서울 서버에서 도쿄서버로 PING이 나간다. 라우팅 테이블 설정 필요
default vpc를 사용하지않고 vpc를 만드는 이유
인스턴스 - 나머지 default 설정 그대로,
네트워크 설정
퍼블릭 ip 자동 할당 : 비활성화 -> 폐쇄적인 서버로 만들기
인스턴스 시작 클릭
도쿄 서버는 퍼블릭 IP가 없다.
도쿄로 프라이빗 ip로 ping 쳐보기 -> 안나감
ping 나가게 하는 것이 목표
서울 VPC 에서 요청(수락) - 도쿄 VPC 에서 수락(요청)
서울 리전 - VPC - 피어링 연결 클릭 - 피어링 연결 생성 클릭
WEB01이 MY-VPC에 있으므로 피어링할 로컬 VPC : MY-VPC 선택
피어링 연결 클릭
도쿄 리전 - VPC - 피어링 연결 클릭 - 작업 - 요청 수락
이대로는 Ping이 안나감 . 라우팅 테이블을 두 리전 모두 세팅해주어야함 서로 간 라우팅 정보가 필요하다. -> ip 네트워크 대역이 전혀 다르기 때문
(도쿄리전)지금 내 라우팅 테이블 수정 클릭 - 라우팅 편집 - 서울리전 MY-VPC 범위 넣기
도쿄에서 서울로 향하는 PING을 치면 PCX에 물어본다. PCX가 라우터가 됨.
도쿄 - PCX(라우터) - 서울.
도쿄 -> 서울 만 세팅되어있기때문에 PING이 안나간다.
서울 -> 도쿄 세팅 필요.
(서울) VPC - 라우팅 테이블 - MY-PUBLIC-SUBNET - RTB - 라우팅 편집
PING 이 나간다.!
전용선을 연결한 것과 유사한 효과이다.
도쿄는 퍼블릭IP가 없기 때문에 직접적으로 VM에 접속할 수 없다
서울을 경유해서 도쿄로 접속해야함.
퍼블릭 ip를 받지 못한 상태에서 퍼블릭ip를 받으려면 elastic IP를 구매해서 사용해야한다.
도쿄 DB서버에 퍼블릭 IP를 주기 위해 도쿄리전에서 탄력적 IP 주소 생성
인스턴스랑 연결해준다.
인터넷과 통신 가능해짐 yum install 도 가능
인터넷 사용이 끝나면 탄력적 ip 끊는다.
연결 해제 클릭
연결 해제된 후 부터 과금이 된다.
인스턴스와 연결 해제 후 릴리스 해줌