Cloud 실습 (2-3) - AWS elastic IP 맛보기

Hwarang Goh·2022년 7월 12일
0

Kakao Cloud School

목록 보기
11/13
post-thumbnail

Cloud 실습 (2-3) - AWS elastic IP 맛보기


AWS 사용

VPC (Virtual Private Cloud)

  • IPv4 CIDR 확인 // 사설 주소라 다 똑같음
  • 기본 라우팅 테이블 클릭 > 라우팅 2줄 있음 (외부로 나가기 위한 설정과, 로컬 설정)
  • 0.0.0.0/0 경로 설정 안된 모든 IP에 대해서 igw~ internet gateway 로 나가도록 routing table에 기록
  • 172.31.0.0/16 네트워크의 IP들은 target을 loacl로 설정해서 local로 routing 되도록 기본 설정 되어 있음
  • 서브넷
    VPC 안에 조그만한 독립적인 네트워크

    172.31.0.0/16 안에 모두 포함되는 서브넷들임
    각 서브넷에 web server 하나 두고, WAS (middleware), DB 이런식으로 나눠서 둘 수 있음
    - 나누면?
    일단 보안이 좋음 -> 중간중간 방화벽 설정 가능, DB에는 WAS 만 들어오게 설정할 수 있음.(외부에서 못들어오게)
    유지보수도 편함
    불필요한 트래픽 줄일 수 있음(arp 가 옆 네트워크에 안들릴수 있고, 등등)

EC2

일반 VM
ISO와 같은 설치 파일을 이용하여 OS 설치작업을 수동으로 일일히 진행해야 한다. 상세한 설정이 가능하다는 점에서는 유용하나 클라우드 환경에는 적절하지 않다. (수시로 생성 제거 일어나는 환경에서 그 짓을 할수는 없음)

인스턴스 VM
클라우드용 이미지(OS가 설치된 환경을 이미지화 한 것=템플릿, 클래스) 를 이용하여 deployment, 찍어내다!!! 단, 동일한 이미지를 사용하므로 만약 루트에 대한 패스워드를 설정한 상태에서 이미지화 했다면 모든 인스턴스는 동일한 패스워드를 사용해야하는 보안상 결함이 발생한다. 이를 해결하기 위하여 key-pair 를 이용한다.

  1. 인스턴스 시작
  • 이름 : 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


컨테이너로 배포

  • putty
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 도 인스턴스 종료


수업 중 추가 설명 하는 내용들

  • Open vSwitch는 Apache 2.0 라이센스 하에서 오픈 소스로 사용 가능한 다계층 가상 스위치이다.
  • 소프트웨어 적으로 라우팅 방법을 컨트롤 하는 것이 가능
  • vLAN 설정 가능
    vSwitch 에 독립적인 LAN 설정 가능
    연결된 서버들 중 특정 서버들만의 LAN 구성이 가능
  • onos

  • SDN (Software Defined Network), SDDC (Software Defined Data Center)

0개의 댓글