반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- devops
- 도커
- NGINX
- 인프라
- 데브옵스
- AWS
- 도커 명령어
- 클라우드
- swift 클로저
- 부스트코스
- C++
- linux
- 프로세스
- ios
- Python
- 도커 컨테이너
- boj
- 운영체제
- k8s
- Swift
- centOS
- docker
- kubernetes
- os
- 네트워크
- 도커 이미지
- centOS7
- 컨테이너
- 리눅스
- 쿠버네티스
Archives
- Today
- Total
귀염둥이의 메모
[AWS] VPC 네트워크 직접 구축하기 본문
반응형
VPC를 직접 생성해서 그림과 같은 네트워크를 직접 구축해 보자..!!
- VPC에는 Public Subnet과 Private Subnet이 있고 각각 인스턴스를 만들어 준다
- VPC 내부에서 Public Subnet 인스턴스와 Pirvate Subnet 인스턴스가 통신이 가능하게
- Public Subnet은 Internet Gateway를 통해서 인터넷과 통신이 가능하게
- Private Subnet은 직접적으로 인터넷 통신은 불가능
- Public Subnet의 NAT Gateway를 통해서 인터넷에 Private Subnet의 요청을 보내고 요청에 대한 응답을 수신할 수 있게 해보자
VPC 생성하기
- 리전 : ap-notrheast-2 서울
- VPC 서비스로 들어가서 좌측에 있는 VPC를 클릭한다
- AWS에서 기본으로 생성된 vpc가 하나 있는데 [VPC 생성] 버튼을 눌러서 새로 생성하자
- 이름이랑 IPv4 블록 지정을 해준다
- 기본값 10.0.0.0/24 로 하라고 하는데 그냥 넉넉하게 16 정도로 해준다
- [VPC 생성] 버튼 클릭
- 리스트를 확인하면 my-vpc 가 생성되었다
Pirvate Subnet 생성
- 좌측 메뉴에 [서브넷]을 클릭한다
- 4개가 기본으로 있는데 기본으로 생성된 VPC의 서브넷이다
- [서브넷 생성] 버튼을 누르자
- 방금 만든 서브넷 선택
- 위에 처럼 뜨면 이름과 블록을 지정해준다
- 가용 영역은 지정안하면 자동으로 선택해주는데 그냥 직접 지정해봤다
- [서브넷 생성] 클릭
Public Subnet 생성
- Private 생성과 같은 절차로 진행하는데 이름 public 해주고 CIDR 블록 지정해준다
- 그 외에는 똑같이하고 [서브넷 생성]
- my로 필터링 했을 때 2개 있으면 정상!!
Internet Gateway 생성
- 좌측 메뉴 [인터넷 게이트웨이] > [인터넷 게이트웨이 생성] 누르면 위 사진처럼 뜬다
- 이름 설정하고 [인터넷 게이트웨이] 생성 클릭
- 기본 게이트웨이랑 내가 만든 my-ig 가 있다
- my-ig 는 상태가 Detached에 VPC ID가 없다
- VPC에 연결해주자!!
- 마우스 우클릭하고 [VPC에 연결] 클릭
- 우리가 만든 my-vpc 선택하고 [인터넷 게이트웨이 연결] 클릭
- 상태가 바뀌고 정상적으로 연결되었다!!@!
라우팅 테이블 생성
- 기본적으로 라우팅 테이블이 VPC 생성하면서 생기는데
- 우리는 Public 이랑 Private Subnet에 각각 라우팅 테이블을 만들 것이다
- 라우팅 경로를 정의해서 각각 Subnet 밖으로 나가는 아웃 바운드 트래픽에 대한 경로를 설정해줘야 한다
- Public Subnet : 인터넷과 통신 가능하게
- Private Subnet : NAT 게이트웨이를 통해서 외부에 요청하고, 요청에 대한 응답을 받게
- 왼쪽 메뉴 [라우팅 테이블] > [라우팅 테이블 생성]
- my-vpc 에 대한 라우팅 테이블이 하나 있는데, 사용하지 않을 예정이다
- 이름이랑 VPC 선택 후 [라우팅 테이블 생성]
- 서브넷을 지정해주자
- [서브넷 연결] > [서브넷 연결 편집]
- Private용 라우팅 테이블이니 private-subnet 선택하고 [연결 저장]
- Public용 라우팅 테이블도 같은 방식으로 만들자
- Public은 public-subnet 으로!!
- Public 라우팅에 Internet Gateway도 넣어주자
- 라우팅 추가 누르고 대상을 인터넷 게이트웨이로 선택하면 자동으로 우리가 만든 my-ig 가 선택될 것이다
- 대상 0.0.0.0/0 (전체)로 해주고 [변경 사항 저장]
NAT 게이트웨이 만들기
- NAT 게이트웨이 생성을 위해 먼저 탄력적 IP(Elastic IP)를 할당받자
- 좌측 메뉴 [탄력적 IP ]> [탄력적 IP 주소 할당] > [할당]
- 할당받았으면 좌측 메뉴 [NAT 게이트웨이] > [NAT 게이트웨이 생성]
- NAT 게이트웨이는 Public Subnet에서 만들어야한다❗️❗️
- 이름, 서브넷, 방금 만든 탄력적 IP 설정해주고 [NAT 게이트웨이 생성]
- 기다렸다가 상대가 Available 로 바뀌면 private 라우팅 테이블을 수정하러 가자~
- 좌측 메뉴 [라우팅 테이블] 클릭
- private-rt 선택 후 [라우팅 편집]으로 가자
- [라우팅 추가] > 대상에서 [NAT 게이트웨이]
- 대상 전체로 0.0.0.0/0 해주고 [변경 사항 저장]
인스턴스 만들기
1. Public Subnet 인스턴스
- 먼저 퍼블릭부터 만들어주자
- 네트워크 my-vpc 설정
- 서브넷 public-subnet 설정
- 자동 할당 활성화 해주자
2. Private Subnet 인스턴스
- 프라이빗은 private 설정으로 해준다
- Public에 접속을 해보자~
- 구글에 ping 잘 보내진다~~
- 반면에 Private 인스턴스는 외부에서 접속이 안된다 (정상)
Public 인스턴스에서 Private 인스턴스로 접속하기
- 퍼블릭 인스턴스 안에 자신의 키 파일을 복사하고 chmod 400 으로 권한 변경
- 해당 키로 private 인스턴스의 프라이빗 ip로 접속하면 성공
- 외부에서 직접 private 서브넷의 인스턴스에 접근이 불가능했지만
- private 서브넷의 인스턴스의 요청과 요청에 대한 응답은 정상적으로 작동한다~!!
사실 [VPC 마법사]를 이용하면 손쉽게 구축가능하다 😅
반응형
'Infra & Devops > AWS' 카테고리의 다른 글
[AWS] Amazon EKS(Elastic Kubernetes Service) (1) | 2021.10.12 |
---|---|
[AWS] Amazon CloudFront (0) | 2021.09.07 |
[AWS] 웹 서버에서 php 실행 및 MySQL 연동하기, RDS, EC2, VPC (2) | 2021.09.02 |
[AWS] VPC (Virtual Private Cloud) (0) | 2021.09.01 |
[AWS] 리전 (Region), 가용 영역 (Availability Zone), 엣지 로케이션 (Edge Location) (1) | 2021.08.31 |
Comments