해킹공주의 일상
초보자의 Amazon VPC로 퍼블릭 서브넷 구성하기 본문
개요
공부를 했으니.. 실습을 통해 퍼블릭 서브넷을 구성해보는 시간을 가져보고자 한다.
사용자 VPC를 생성하고 퍼블릭 서브넷을 구성하여 외부 인터넷 구간의 통신을 확인해보자.
구성 단계
크게 구성 내용은 아래와 같다.
1. 사용자 VPC 생성하고 퍼블릭 서브넷 구성 (서브넷, 라우팅 테이블, 인터넷 게이트 웨이 생성)
2. EC2 인스턴스를 생성하여 정상적으로 통신되는지 검증( 인스턴스 <-> 인터넷 구간)
구축하려는 서버를 도식화 하면 아래와 같다.
구성시작
순서는 아래와 같다.
1. VPC 생성
2. 서브넷 생성
3. 라우팅 테이블 생성
4. 인터넷 게이트웨이 생성
5. 인터넷 게이트웨이로의 라우팅 경로 추가
6. EC2 생성 후 검증
1. VPC 생성
- VPC 메뉴에서 VPC 생성하기를 누른다
- 이름과 IP CIDR를 지정해주었다.
- 별도의 설정없이 VPC 생성 클릭
- VPC가 생성되었으며, 기본적으로 라우팅 테이블과 ACL 이 생성된다
- 라우팅 테이블을 확인해보면 local 로의 라우팅만 정의되어있다
- 네트워크 ACL 확인 시 모든 트래픽에 대해 허용하고 있다.
- 현재까지의 MY VPC 는 아래와 같다.
2. 퍼블릭 서브넷 생성
- 서브넷 탭에서 서브넷 생성 버튼 클릭
- 아까 생성한 VPC(MY-VPC) 클릭
- 서브넷 이름과 가용영역을 골라주고, IP CIDR를 지정해준다.
VPC의 IP CIDR은 10.2.0.0/16로, 2번째 옥텟까지 네트워크 ID이다. 따라서 그 안에 있는 내부 서브넷은 10.2로 시작해야하므로 10.2.1.0/24로 설정해준다. 이렇게 되면 3번째 옥텟까지 네트워크 ID가 되므로 안에있는 서버들은 10.2.1로 시작해야한다.
- 서브넷이 성공적으로 생성되었다.
- 현재까지 만든 VPC 도식이다. VPC 에 있던 네트워크 ACL과 기본 라우터 테이블을 따르고 있다.
이제 여기서 라우팅 테이블을 수정해보자.
3. 라우팅 테이블 생성
- 라우팅 테이블 확인 결과, 기본 라우팅 테이블만 MY-VPC에 연결되어있음을 확인할 수 있다. 라우팅 테이블을 만들어주자.
- 이름을 써주고, 내 VPC인 MY-VPC와 연결한 후 생성해준다.
- 성공적으로 생성되었으며, MY-VPC에 연결되었다.
- 서브넷 연결 탭을 보면 기본 라우팅 테이블에만 연결되어있는 서브넷을 '명시적 연결이 없는 서브넷' 에서 볼 수 있다.
서브넷 연결 편집을 눌러주자.
- 아까 생성한 서브넷을 연결해준다
- 연결 성공
- 현재까지 내용을 도식화 하면 아래와 같다. 기본 라우팅 테이블이아닌, 내가 만든 public-rt 테이블이 서브넷에 연결되었다.
인터넷 게이트 웨이를 생성하고 VPC와 연결해보자.
4. 인터넷 게이트웨이 생성
- 기본 인터넷 게이트웨이가 존재한다. 무시하고 새로 생성.
- 이름을 입력해주고 생성버튼 클릭
- 생성되었으나 아무연결을 안해서 아무상태가 아니다. 작업에서 연결을 해주자
- 아까 생성한 MY-VPC 에 연결 해준다.
- MY-VPC와 연결되었다.
- 현재까지의 내용을 도식화하면 아래와 같다.
하지만 지금은 인터넷과 연결을 할 수 없다. 라우팅 테이블에서 로컬 통신만 가능하도록 아무설정도 안했기 때문이다.
라우팅 경로를 추가해주자.
5. 라우팅 경로 추가
- 라우팅 테이블 메뉴에서 아까 만든 public-rt 테이블을 확인하면 로컬로의 라우팅만 설정되어있는걸 볼 수 있다. 라우팅 편집 버튼을 클릭해주자.
- 라우팅 추가 버튼을 누르고 아래와 같이 모든 경로에 대해(0.0.0.0/0) 아까 생성한 인터넷 게이트웨이 MY-IGW를 연결해주고 저장해주자.
- 라우팅 테이블이 연결되었다.
- VPC 리소스 맵 확인 결과 라우팅 테이블에 네트워크가 연결된 것을 확인할 수 있다.
- 라우팅 테이블에 인터넷 게이트웨이가 추가된 도식화이다.
6. EC2 생성
- EC2 생성 시, 네트워크 설정에서 생성한 VPC에 할당해주고, 지금 만드는 EC2 인스턴스가 퍼블릭 서브넷에 위치하므로 퍼블릭 IP 자동할당을 활성화 해준다.
- 인터넷 통신이 필요하므로 HTTP 보안 그룹 규칙을 추가하고, 위치 무관으로 설정해준 뒤 생성해준다.
- 캡처를 못찍었는데, 키페어를 생성해서 등록해주자.
- MobaXterm에서 인스턴스의 퍼블릭 IP주소를 가져와서 입력해주고, 키파일을 등록해서 접속해준다.
저 Specify username 에 저 값이 아닌 다른 값을 넣으면 접속이 안된다..
- 간단한 웹서버를 구축해준다
[ec2-user@ip-10-2-1-160 ~]$ sudo su
[root@ip-10-2-1-160 ec2-user]# yum install httpd -y
[root@ip-10-2-1-160 ec2-user]# systemctl start httpd
[root@ip-10-2-1-160 ec2-user]# echo "<h1> webserver</h1>" > /var/www/html/index.html
- EC2 를 생성한 뒤의 도식화 모습이다.
7. 통신 검증
- 내부에서 외부 인터넷으로의 접근 시도 시, 정상적으로 접근이 가능함을 확인할 수 있다.
- 내부 EC2 에서 외부 인터넷 연결 시, 라우팅 테이블에서 인터넷 게이트웨이로의 라우팅 테이블을 타고 외부로 이동한다.
- 서버 접근 결과 웹서비스가 실행됨.
- 반대로 접근시에도 라우팅 테이블을 타고 로컬로 들어오게 된다.
'사이드 프로젝트 > 클라우드' 카테고리의 다른 글
AWS VPC Security Group(보안그룹)과 네트워크 ACL (0) | 2023.10.08 |
---|---|
초보자의 Amazon VPC 프라이빗 서브넷 구성하기 (0) | 2023.10.02 |
Amazon VPC 서비스 개념정리 (0) | 2023.10.01 |
AWS CloudFormation 란 | 간단사용예시 (0) | 2023.10.01 |
클라우드 컴퓨팅과 AWS 개념 (0) | 2023.09.29 |