ysuekkom의 IT study note

[aws-기본] VPC 내 퍼블릭대역과 외부 통신을 위한 기본 연결 설정하기 본문

Cloud Service/AWS

[aws-기본] VPC 내 퍼블릭대역과 외부 통신을 위한 기본 연결 설정하기

ysuekkom 2022. 11. 14. 20:43

앞선 포스팅에서 EC2 생성 및 연결, 도커컴포즈를 이용하여 워드프레스 생성까지 실습해보았다.

아래 포스팅 참고하기

 

https://ysuekkom8915.tistory.com/19

 

[aws-기본] EC2 서버 생성 후 연결하기

aws를 사용하기 앞서 가장 기본적인 내용을 머릿말 [aws-기본]으로 간단히 작성해 볼 예정이다. 아주 기본이라고 생각한 설정과 연결을 놓치고, 에러발생으로 원하는 프로젝트를 수행하지 못하는

ysuekkom8915.tistory.com

 

https://ysuekkom8915.tistory.com/20

 

[aws-기본] 도커컴포즈로 워드프레스 설치하기

기본 인스턴스 생성 이후, 연결까지 진행했다 https://ysuekkom8915.tistory.com/19 [aws-기본] EC2 서버 생성 후 연결하기 aws를 사용하기 앞서 가장 기본적인 내용을 머릿말 [aws-기본]으로 간단히 작성해 볼

ysuekkom8915.tistory.com

 

 

혹은 IcC 테라폼 코드로 작성해서 구축하는 실습따라하기는 아래 포스팅을 참고해서 따라해주면 된다!

https://ysuekkom8915.tistory.com/26

 

[terraform 기초] 라우팅테이블 설정하기

지난 포스팅에서 생성한 VPC, Subnet(Public, Private), Internet Gateway, NAT Gateway을 도식화하면 아래와 같다. *가상 네트워크인 VPC 내에 외부 연결을 허용하는 Public 서브넷과, 외부 노출 없이 내부적으로 통

ysuekkom8915.tistory.com

 

 

 

시작!

 

VPC 내 퍼블릭대역과 프라이빗 대역을 나누어, 외부 통신 시 보안을 고려한 구성이 필요하다.

따라서 가상 네트워크 vpc를 먼저 생성한 뒤, vpc 내 서브넷 구성으로 퍼블릭대역과, 프라이빗 대역을 구축해보겠다.

*주의사항: 본 포스팅에서의 aws 네트워크 모든 정보는 실습을 위해 구성 후, 삭제된 자원들로 자원의 정보를 마스킹하지 않았지만 실제 구축된 자원정보는 보안상 노출해서는 안된다.

 

[실습 네트워크 구조]

 

VPC만들기

VPC > VPC > VPC 생성 이동

-이름: 가상 네트워크를 식별할 수 있게 구성

-IPv4 CIDR블록 선택

-CIDR: B class 10.0.0.0/16 로 구성

 

아래와 같이 이용가능한 상태로 VPC가 생성된다.

 

 

VPC 내에 서브넷을 생성해보자

아래 사진의 서브넷(172.31대역)은 기본 제공되는 디폴트 VPC(172.31.0.0대역)의 서브넷이다.

 

 

VPC> 서브넷 > 서브넷 생성

-VPC ID 선택: 위에서 만들어준 VPC를 선택

-서브넷 이름: 식별가능한 서브넷이름 지정(퍼블릭 사용시, 이름에 퍼블릭을, 프라이빗대역으로 사용시 프라이빗을 작성하는 것이 좋다)

-가용영역: 동일한 리전으로 선택

-IPv4 CIDR블록: VPC 대역(10.0.0.0/16) 내에 속할 수 있도록  서브넷 구성한다.

 

서브넷 생성 결과 성공

 

인터넷게이트웨이 생성하기

아래 보이는 igw- 인터넷게이트웨이 역시 디폴트 VPC의 인터넷 게이트웨이이다.

 

 

인터넷게이트웨이를 생성해보자

VPC>인터넷게이트웨이 >인터넷 게이트웨이 생성

-이름 태그: 식별가능하도록 지정

 

인터넷 게이트웨이 생성 성공

 

생성한 인터넷게이트웨이를 vpc에 연결해보자

VPC >인터넷게이트웨이 >VPC에 연결(생성한 igw)

-사용가능한 VPC에서 생성한 VPC를 선택

 

라우팅 테이블 생성하기

외부에서 접속 시, VPC의 퍼블릭대역으로 접속해야한다(프라이빗은 내부통신 및 내부에서 외부로 나갈 때 사용).

따라서, 라우팅 테이블을 생성하여 트래픽 흐름을 지정해주어야한다.

먼저 라우팅 테이블을 생성해보자.

 

VPC >라우팅 테이블 >라우팅 테이블 생성

-이름: 식별 가능하도록 지정

-VPC: 생성한 VPC 선택하기 

 

라우팅 테이블 생성완료

 

서브넷 연결 편집하기

VPC>라우팅 테이블 > 생성한 라우팅 테이블 선택 > 서브넷 연결 편집

-생성한 라우팅(Cloud-PublicRT-awsbasic)에서 연결할 서브넷(subnet-Public-DMZ)를 추가하여 연결 저장

 

라우팅테이블 편집하기

VPC > 라우팅 테이블 > 라우팅 선택 후, 하단 라우팅 탭

-10.0.0.0/16 , 대상 local로 활성화된 디폴트 라우팅 테이블을 확인할 수 있다.

여기에 라우팅 테이블 편집을 통해, 0.0.0.0/0 모든 트래픽이 생성한 인터넷 게이트웨이 igw- 로 향할 수 있도록 경로를 편집해준다.

 

편집 완료 시, 아래와 같이 확인 가능하다.

-라우팅 테이블: Cloud-PublicRT-awsbasic

-서브넷 연결: subnet-Public-DMZ

-경로: 0.0.0.0/0 모든 트래픽은 igw로, 10.0.0.0/16 로컬 

 

 

지금까지 생성한 구성은 아래와 같다

 

 

 

이렇게 구성한 VPC 내, 퍼블릭대역 안에 웹서버를 생성해보자(EC2)

퍼블릭 대역 안 오픈 웹서버 생성하기(EC2생성하기)

EC2 > 인스턴스 > 인스턴스 시작

-이름: 식별 가능하도록(추후 수정 가능함)

-애플리케이션 및 OS 이미지: 기본 실습에서는 모두 우분투 프리미어로 생성한다(개별적으로 선호하는 OS 이미지를 선택해도 무방)

 

이어서

-인스턴스 유형: 프리미어로 생성가능한 인스턴스 유형 선택(실습용)

-키 페어: 로그인에 사용될 키페어(생성 또는 기존 키페어 사용 가능), 여기서는 생성하였다. 키 페어 생성 및 관리, 연결 본 포스팅 상단 EC2 서버 생성 후 연결하기 포스팅 참고

-VPC 선택: 생성한 VPC 선택

-서브넷정보: VPC 내 퍼블릭대역으로 생성한 subnet-Public-DMZ 선택

-퍼블릭 IP자동할당: 활성화(퍼블릭대역은 퍼블릭IP 필요: 외부와 통신할 퍼블릭IP 필요함)

-보안 그룹: 필요에 따라 생성 혹은 기존 보안그룹 선택 

-보안그룹 이름/설명: 식별가능하게 변경

-보안 그룹 규칙: 원격으로 접속할 것 이기 때문에 ssh 22port, 추후 HTTP, HTTPS 추가 

 

인스턴스에 연결하기(직접연결 방법사용=퍼블릭아이피 있어야만 가능)

-ssh로 연결하는 방법은 위 EC2 서버생성 및 연결하기 포스팅에서 다뤘기 때문에, EC2 인스턴스 연결로 시도

연결 접속하여 웹서버로 사용하기 위에 아파치를 다운로드한다.

>sudo apt install apache2

>sudo service apache2 start

 

아파치 서버 다운로드 후, 시작하였기에 퍼블릭 IP로 직접 접속 가능

13.124.250.173 로그인 시, 아래와 같이 초기 아파치2 웹페이지 화면 확인 가능

 

 

 

aws 공부를 시작하면 온프레미스 환경에서의 각각의 장치가 aws에서는 어떤것에 해당하는지 맵핑을 해야한다.

가상 네트워크(VPC) 내 퍼블릭대역을 구성하고, 퍼블릭대역 내 웹서버로 사용할 EC2를 생성하고, 연결한 뒤 웹서버를 올린 뒤 접속까지 해보았다.

다음은 프라이빗 서버를 구축하고, 오늘 생성한 퍼블릭 대역 내에 NAT를 구축하여 외부 통신할 수 있는 환경 실습을 진행해보겠다.