0.0.0.0/0
경로 설정 안된 모든 IP에 대해서 igw~
internet gateway 로 나가도록 routing table에 기록172.31.0.0/16
네트워크의 IP들은 target을 loacl로 설정해서 local로 routing 되도록 기본 설정 되어 있음일반 VM
ISO와 같은 설치 파일을 이용하여 OS 설치작업을 수동으로 일일히 진행해야 한다. 상세한 설정이 가능하다는 점에서는 유용하나 클라우드 환경에는 적절하지 않다. (수시로 생성 제거 일어나는 환경에서 그 짓을 할수는 없음)
인스턴스 VM
클라우드용 이미지(OS가 설치된 환경을 이미지화 한 것=템플릿, 클래스) 를 이용하여 deployment, 찍어내다!!! 단, 동일한 이미지를 사용하므로 만약 루트에 대한 패스워드를 설정한 상태에서 이미지화 했다면 모든 인스턴스는 동일한 패스워드를 사용해야하는 보안상 결함이 발생한다. 이를 해결하기 위하여 key-pair 를 이용한다.
이름 : testwebsrv
애플리케이션 및 OS 이미지 : Quick Start > Amazon Linux 2 AMI (HVM) - Kernel 4.14 (AMI : 클라우드 이미지 저장소)
아키텍처 : 64비트(x86)
인스턴스 유형 (type, flavor : 클라우드를 위한 기본 자원 세트) : t2.micro (프리 티어 사용 가능)
키 페어(로그인) :
새 키 페어 생성 > 키 페어 이름 (mykey) > RSA > .pem
네트워크 설정
ssh 트래픽 허용 > 내 IP(강의장) 만 가능하도록 설정
인터넷에서 HTTP 트래픽 허용 체크
스토리지 구성
인스턴스 내에 두는 것이 아니라 외부에 storage에서 볼륨을 만들어서 연결되는 것
지금은 기본 8기가만 설정
고급 세부 정보
딱히 할거 없음
요약
인스턴스 개수 : 1
인스턴스
가용 영역 확인 - 서울 리전이라 ap-northeast-2x 인것 확인 가능
탄력적 IP > 탄력적 IP 할당 > 할당
3.37.148.227 선택하고 > 탄력적 IP 연결 > 인스턴스 testwebsrv 선택 > 연결
인스턴스
testwebsrv 에 탄력적 IP에 할당받은 IP 들어온것 확인
ping 탄력적 IP # 막혀있음
보안 > 보안 그룹 > 인바운드 규칙 (22 ssh 강의실 IP, 80 http 모든 ip 만 가능 현재는)
보안 그룹 들어와서 인바운드 규칙 편집
규칙 추가하고 모든 ICMP - IPv4 와 내 IP 설정
PuTTYgen 다운로드
puttygen.exe, putty.exe 다운로드
puttygen.exe 실행 > Conversions > mykey.pen (다운 받은 키) > save private key > 바탕화면에 mykey.ppk 확인
putty.exe 실행
왼쪽 SSH > Kex > Diffie-Hellman group 14 제일 위, Diffie-Hellman group 1 그 아래 > 왼쪽 Auth 에서 mykey.ppk > 왼쪽 Session 에서 ip넣고 연결
login as : ec2-user
접속 됨!
ifconfig
ping www.google.com
sudo yum -y install docker
sudo systemctl start docker
sudo docker container run --name centos --hostname centos -it centos:7 /bin/bash
uname -nr # amazone 터미널인게 보임 # (centos 는 os 없이 app형태로 올라가있음)
# Ctrl + P, Ctrl + Q 하면 바깥쪽으로 빠져나옴
sudo docker container attach centos # (다시 붙음)
sudo docker container run -d --name nginx1 -p 80:80 nginx
브라우저에 http://3.37.148.227/ 접속하면 nginx 열림
아마존에 올라간게 아니라 아마존 위에 container에 올린거
sudo docker container run -d --name nginx2 -p 8001:80 nginx # (두번째 nginx 올림)
인스턴스 > testwebsrv > 보안 > 보안그룹 > 인바운드 규칙 > 인바운드 규칙 편집
사용자 지정 TCP 8001, 8002 ip는 모두로 규칙 2개 새로 생성
sudo docker container run -d --name nginx3 -p 8002:80 nginx # (세번째 nginx 올림)
sudo docker container rm -f nginx3 # (세번째 nginx 지움)
sudo docker container run -d --name httpd1 -p 8002:80 httpd # (아파치 서버 올림)
탄력적 IP 연결 해제 후 릴리스 까지
ec2 testwebsrv 도 인스턴스 종료
SDN (Software Defined Network), SDDC (Software Defined Data Center)