월루를 꿈꾸는 대학생

3주차 네트워킹 서비스 본문

Cloud/AWS

3주차 네트워킹 서비스

하즈시 2021. 3. 3. 21:07
728x90

3주차 수터디 ! 

 

vpc라는 가상의 클라우드 네트워크가 있고 그 안에 서브넷이라는 작은 서브넷이 존재 

 

 

vpc란 ??

- 독립돈 가상의 클라우드 네트워크 

- aws 클라우드 내에 vpc라는 걸 만들어 해당 전용 네트워크 영역을 구축 

 

 

기본 네트워크 개념 

 

 OSI 7레이어  TCP IP 모델

 

IP란 ? 주소다! 택배 부칠 때 상대방 주소가 필요하듯 인터넷 통신에서 IP 주소가 필요하다 

 

공인 IP -> 전세계 유일한 주소 ! 인터넷이란 공간에서 필요한 주소

사설 IP ->  개인적인... 마음대로 사용할 수 있는 주소 

           - 공인 IP가 부족하니까 

 

IP통신 

- 동일 네트워크는 그냥 가능함 ARP나 맥주소로

-  다른 네트워크는 GATEWAY! EX 공유기 혹은 라우터 

 

NAT -> 네트워크 주소 변환 

 

사설 IP 

-NAT 장비 세션테이블을 통해 해당 사설 IP와 공인 IP간의 관계를 찾고 다른 네트워크와의 통신을 할 수 있도록 만들어줌 

 

 

공인 IP

- EC2의 프라이빗 주소를 인터넷 통신할 때 퍼브릭 주소로 변경해서 내보내고 들어올 때 다시 변환후 돌아온다

- 즉 AWS에서도 NAT를 사용하여 통신을 한다 

 

AWS 공인 IP

- 퍼블릭 IP : EC2 재부팅시 IP가 변경됨  //  유동적으로 변경 가능 

- ELASTIC IP :  EC2 재부팅 해도 IP가 그대로 붙어있음 변경 X 

                 :  IP 발급하고 사용 안 하면 돈이 나감 - > 효율적인 사용을 위해서 

 

 

라우터! 

- 3계층 장비로 네트워크 간의 연결을 해줌 

 

 


 

VPC 리소스

 

서브넷 

- VPC의 주소공간을 나누어 주는 역할 

- 가용성 확보를 위해선 멀티 AZ를 사용해야하고 다른 서브넷을 써야한다 

 

참고) AZ(에이지) = Availability Zone = 가용 영역. 

가용영역 

-> 리전(미국, 한국, 일본) > 가용영역(논리적인 데이터센터 집합 ) > VPC -> SUBNET  

 

 

서브넷 공간을 나눔 

 

퍼블릭 서브넷 VS 프라이빗 서브넷 

 

퍼블릭 서브넷 : 외부랑 직접 통신이 가능 // 공공 네트워크 // 해커의 접근 시도가 있을 수 있음 

프라이빗 서브넷  :  사설 네트워크 개념 // 외부에서 직접 들어올 수 없음 // 폐쇄적인 네트워크 

 

** 금융쪽의 클라우드 이용시 주요 서버는 내부망 프라이빗 서브넷에 둬야함 

 

 

가상 라우터와 라우팅 테이블 

 

VPC 만들면 자동으로 가상라우터가 생성 

 

가상 라우터 - 네비게이션 

                - 서브넷 별로 라우팅 테이블을 매핑시켜 줄 수 있음 

                - 서브넷당 개별적인 라우팅 테이블 가능 

 

 

0.0.0.0/0 : 모든 IPv4대역 주소 

 

 

인터넷 게이트웨이

- VPC에서 인터넷 구간으로 나가는 관문 

 

 

NAT 게이트 웨이 

- 프라이빗 서브넷도 인터넷 연결이 필요함

- 퍼블릭 서브넷에 NAT 게이트웨이를 만들어서 프라이빗 서브넷이 해당 NAT게이트웨이에 질의하고 그걸 IGW로 가서 전달 받고 내용을 다시 프라이빗으로 던져줌

- 프라이빗은 외부로 직접 연결이 불가하기에 한 다리 NAT 게이트웨이를 거쳐야함 

 

 

참고 

 

# AWS 네트워크 대역

IP대역이 10.0.0.0/24인 경우 -> 10.0.0.0~10.0.0.255
첫번째 주소: 10.0.0.0 - 네트워크 주소
두번째 주소: 10.0.0.1 - AWS VPC 가상 라우터 주소
세번째 주소: 10.0.0.2 - AWS DNS 서버 주소 
네번째 주소: 10.0.0.3 - 향후 새로운 기능에 활용할 주소
마지막 주소: 10.0.0.255 - 네트워크 브로드캐스트 주소

VPC 내 여러 서브넷이 존재할 경우 첫번째 서브넷의 세번째 주소를 DNS 서버 주소로 할당 

 

 

 

 


실습

 

퍼블릭 서브넷 만들고 프라이빗도 만들고 인터넷 각각 되도록 

 

 

1. 퍼블릭 

 

 

VPC 선택
생성

 

 

 

VPC 대역을 만들고 생성

 

VPC 생성을 하면 자동으로 가상라우터가 생성이 되어 있음

그리고 기본 라우팅 테이블이 생성이 되어 ㅣㅆ다 

 

 

PUBLIC-KIKAI의 기본 가상 라우터

 

VPC 필터링으로 하나만 해당 VPC 자원만 볼 수 있다 

 

기본 라우팅 정보 해당 VPC로 가도록

 

 

 

퍼브릭 서브넷 만들기 

 

 

 

서브넷 생성

 

 

 

 

 

 

 

서울의 첫번째 가용영역에 10.0.1.0/24의 공간이 생성됨

 

서브넷 공간을 만들었으니 인터넷 넘어갈 게이트웨이 필요함

 

 

인터넷 게이트웨이 생성

 

 

인터넷 게이트웨이 생성 

 

 

VPC랑 연결해야함 

 

 

이제 VPC랑 IGW가 연결이 되었다

 

상태가 Attached 

 

 

이제 퍼브릭 서브넷의 라우팅테이블에 vpc 자원과 통신하기 위한 정보느 있지만

외부로 나갈 정보가 없어서 추가해야함 

라우팅 테이블 생성해야함

 

 

 

 

 

라우팅 테이블 생성했고 

이제 local에 접속 가능

 

 

이제 서브넷이랑 매칭해줘야함 

 

라우팅 테이블 사용 가능한 서브넷으로 올렸음 

 

 

라우팅 편집

 

외부랑 통신할 igw로 경로 설정

 

이제 네트워크 구축은 다했고

ec2 만들어서 되나 안되나 확인 해본다

 

설정해둔 vpc , subnet을 매핑한다

sunyzero.tistory.com/245

 

리눅스 아재력 or 할배력 셀프 테스트

리눅스 아재력 or 할배력 테스트 이 테스트는 리눅스 옛날 명령어만 알고 있는지, 아니면 대체된 새로운 명령어도 알고 있는지 알려줍니다. deprecated된 옛날 명령어(일명 아재명령어 or 할배명령

sunyzero.tistory.com

# 네트워크 인터페이스 정보 확인
ip a 혹은 ip -br -c addr show  
ifconfig  ## 아재

# 라우팅 정보 확인
ip route list 혹은 ip route show
route -n 혹은 netstat -rn

# ARP 정보 확인
ip neigh show
arp -e

# DNS 서버 정보 확인
cat /etc/resolv.conf

# 외부 접속 시 공인IP 정보 확인
curl ipinfo.io
curl ipinfo.io/{IP입력} (예 curl ipinfo.io/18.139.223.56)
curl ipinfo.io/loc
## 카카오맵, 네이버맵, 구글 맵에서 위도경도로 대략 위치 확인 가능

(옵션) # 외부와 통신 경로 정보 확인
traceroute www.google.com
traceroute www.google.com -n
traceroute www.google.com -n -q 10

(옵션) # IP 에 대한 정보 확인
curl https://json.geoiplookup.io/{IP입력}
yum -y install jq
curl -s https://json.geoiplookup.io/13.125.27.235 | jq '.city'
"Seoul"

 

ip a 

 

curl ipinfo.io

 

접근한 인스턴스의 정보를 나타내주는 ipinfo.io 사이트 

 

loc -> 위도와 경도 .. 서버 주소인듯

 


프라이빗 서브넷 

 

- 외부와 직접 통신이 안되기에 nat gw 만들어서 외부통신 되도록 

- nat gateway는 비용 나가니 주의 1시간에 대충 30원정도? 

 

az도 바꾸고 서브넷도 다른 걸로 

 

 

 

 

nat 게이트웨이 만들기 

- 프라이빗 서브넷은 바로 인터넷 게이트웨이 못 쓰니까 nat 게이트웨이 사용해야함

 

 

 

 

nat gw는 퍼블릭 서브넷에 있어야 외부로 빠져나간다!! 중요!!! 

nat gw는 변동되지 않는 ip가 필요하기에 탄력적 ip할당을 해주어야함 

 

사용까지 어느정도 시간이 걸림

라우팅 테이블에 nat 연결 

프라이빗 서브넷이 쓸 전용 라우팅테이블이 필요!! 

 

 

 

 

라우팅테이블에 지도 정보 업데이트 

 

이제 다 한 거임 ! 

 

프라이빗으로 설정

그리고 퍼블릭 ip는 해도 안 되니까 비활성화로 

 

사용자데이터에 넣기 

#!/bin/bash
(
echo "qwe123"
echo "qwe123"
) | passwd --stdin root
sed -i "s/^PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config
sed -i "s/^#PermitRootLogin yes/PermitRootLogin yes/g" /etc/ssh/sshd_config
service sshd restart

 

프라이빗이라 직접 ssh접근이 불가라.....

지금 퍼블릿에 있는 ec2로 접근을 할텐데 패스워드 인증을 활성화하고 root로 들어가기 위해 저 설정 넣는 것 

 

바로 못드가니까 퍼블릭 ec2에서 드간다

 

 

 

퍼블릭주소가 없음 외부로의 직접 접근이 불가! 

 

 

ssh root@10.9.2.73

 

비번쳐서 접속 

 

 

 

 

ip가 54.~~지 이 ip가 

nat 게이트웨이다! 

 

 

프라이빗이 통신할 때

 

프라이빗 -> nat gw(퍼블릭존) -> igw 이 순임


 

 

첫째, EC2 인스턴스 종료 (EC2 → 인스턴스 → 인스턴스 선택 → 작업 → 인스턴스 상태 → 종료)

둘째, NAT 게이트웨이 삭제 (VPC → NAT 게이트웨이 → 작업 → NAT 게이트웨이 삭제)

->  NAT 게이트웨이 삭제될 때까지 기다립니다.

셋째, 탄력적 IP 삭제 (VPC → 탄력적 IP → Actions → 탄력적 IP 주소 릴리스)

넷째, VPC 삭제 (VPC → VPC → 작업 → VPC 삭제) // vpc 지우면 서브넷 igw rt 다 지워짐

 

이거 안 하면 돈 나감..

 

 

728x90

'Cloud > AWS' 카테고리의 다른 글

7주차 로드밸런서 ELB  (2) 2021.04.04
6주차 - 데이터베이스 서비스  (2) 2021.03.24
2주차 컴퓨팅 서비스  (0) 2021.02.24
1주차 AWS란  (0) 2021.02.17
AWS 스터디 1주차 _ 사전 지식  (0) 2021.02.16