월루를 꿈꾸는 대학생
3주차 네트워킹 서비스 본문
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 자원만 볼 수 있다
퍼브릭 서브넷 만들기
서브넷 공간을 만들었으니 인터넷 넘어갈 게이트웨이 필요함
인터넷 게이트웨이 생성
인터넷 게이트웨이 생성
이제 VPC랑 IGW가 연결이 되었다
이제 퍼브릭 서브넷의 라우팅테이블에 vpc 자원과 통신하기 위한 정보느 있지만
외부로 나갈 정보가 없어서 추가해야함
라우팅 테이블 생성해야함
라우팅 테이블 생성했고
이제 서브넷이랑 매칭해줘야함
라우팅 편집
이제 네트워크 구축은 다했고
ec2 만들어서 되나 안되나 확인 해본다
# 네트워크 인터페이스 정보 확인
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"
접근한 인스턴스의 정보를 나타내주는 ipinfo.io 사이트
loc -> 위도와 경도 .. 서버 주소인듯
프라이빗 서브넷
- 외부와 직접 통신이 안되기에 nat gw 만들어서 외부통신 되도록
- nat gateway는 비용 나가니 주의 1시간에 대충 30원정도?
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 gw(퍼블릭존) -> igw 이 순임
첫째, EC2 인스턴스 종료 (EC2 → 인스턴스 → 인스턴스 선택 → 작업 → 인스턴스 상태 → 종료)
둘째, NAT 게이트웨이 삭제 (VPC → NAT 게이트웨이 → 작업 → NAT 게이트웨이 삭제)
-> NAT 게이트웨이 삭제될 때까지 기다립니다.
셋째, 탄력적 IP 삭제 (VPC → 탄력적 IP → Actions → 탄력적 IP 주소 릴리스)
넷째, VPC 삭제 (VPC → VPC → 작업 → VPC 삭제) // vpc 지우면 서브넷 igw rt 다 지워짐
이거 안 하면 돈 나감..
'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 |