일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스마트 컨트랙트
- File Upload
- 보안 그룹
- 블록체인
- systems manager
- web3
- aws lambda
- metacodem
- Path Traversal
- 정처기
- 메타코드
- aws 트리거
- AWS SSM
- metacode
- 탈중앙화
- ELB
- splunk db connect
- web shell
- 스마트컨트랙트
- 정보처리기사
- web3 보안
- 티스토리챌린지
- 정처기 필기
- 오블완
- Session Manager
- AWS CLI
- amazon s3 트리거
- 정처기필기
- 메타코드M
- web security academy
- Today
- Total
min8282
[AWS] Amazon VPC로 퍼블릭/프라이빗 서브넷 구성하기 본문
Amazon VPC를 생성하여 퍼블릭 서브넷 환경과 프라이빗 서브넷 환경을 구성하고 통신을 확인하는 것이 목표입니다.
사용자 VPC 생성하기
서비스 > 네트워킹 및 콘텐츠 전송 > VPC 선택
VPC 설정을 위해 VPC 생성 클릭. 아래와 같이 설정하고 VPC 생성 클릭
다음과 같이 리소스맵에 VPC가 생성된 것을 확인할 수 있습니다.
퍼블릭 서브넷 생성하기
서브넷은 분리된 네트워크로 VPC의 IP CIDR에서 분할된 IP CIDR을 정의하며, 하나의 가용 영역에 종속되어 있습니다. 이런 서브넷을 생성할 때는 기본적으로 VPC ID(연결한 대상의 vpc), 서브넷 이름, 가용 영역, IPv4 CIDR 블록을 정의해야 합니다.
먼저 왼쪽 메뉴에서 서브넷으로 들어가 보면 기본으로 생성된 서브넷이 4개 있습니다. 저는 사용자 정의로 서브넷을 생성할 것이므로 서브넷 생성하겠습니다.
서브넷 생성은 다음과 같이 VPC ID 선택, 서브넷 이름 설정, 가용 영역 선택, IPv4 CIDR 블록 설정을 마치고 서브넷 생성을 진행했습니다.
생성한 서브넷의 몇 가지 세부 정보를 확인해 보면 다음과 같습니다.
- IPv4 CIDR: 서브넷에서 사용하는 IP 대역
- 가용 영역: 서브넷이 위치한 가용 영역
- VPC: 서브넷이 속한 VPC 정보
- 라우팅 테이블: 서브넷이 사용하는 라우팅 테이블로 현재 기본 라우팅 테이블을 사용
라우팅 테이블 생성하기
새로 생성한 서브넷은 기본 라우팅 테이블을 사용합니다. 이번 실습은 서브넷마다 라우팅 테이블을 생성해서 연결했습니다. 이런 라우팅 테이블을 생성할 때는 기본적으로 라우팅 테이블 이름, VPC(연결한 대상의 VPC), 서브넷 연결에 대한 정의를 해야 합니다.
- VPC 메뉴에서 라우팅 테이블 선택
- 라우팅 테이블 생성 버튼 클릭
- 라우팅 테이블 생성을 위해 설정해야 하는 항목
- 이름: CH3-Public-RT
- 사용할 VPC: CH3-VPC
- 라우팅 테이블 생성
- 생성된 라우팅 테이블 내 서브넷 연결 > 서브넷 연결 편집 에서 생성한 서브넷을 체크하여 연결
인터넷 게이트웨이 생성하기
퍼블릭 서브넷은 외부 인터넷 구간과 자유롭게 통신할 수 있는 환경으로, 이 환경을 만들려면 인터넷 게이트웨이가 필요합니다. 이런 인터넷 게이트웨이를 생성할 때는 이름 태그(인터넷 게이트웨이 이름)와 VPC 연결을 정의해야 합니다.
- VPC 메뉴에서 인터넷 게이트웨이 선택
- 인터넷 게이트웨이 생성 버튼 클릭
- 이름: CH3-IGW
- 인터넷 게이트웨이 생성
- 생성된 인터넷 게이트웨이의 작업>VPC에 연결에서 VPC 와의 연결 진행
- 인터넷 게이트웨이 생성과 VPC 연결 완료
라우팅 테이블 편집하기
퍼블릭 서브넷 환경을 위해 인터넷 게이트웨이까지 생성했습니다. 하지만 퍼블릭 서브넷의 라우팅 테이블은 로컬 통신 정도만 있을 뿐 외부 인터넷 구간으로 갈 수 있는 경로 정보는 없습니다. 따라서 라우팅 테이블 수정 작업을 진행해야 됩니다. 라우팅 테이블 편집 항목은 IP CIDR과 타깃 대상(인터넷 게이트웨이)입니다.
- 라우팅 메뉴에서 라우팅 편집 선택
- 라우팅 추가 버튼 클릭
- IP CIDR: 0.0.0.0/0(모든 IP 대역)
- 타깃 대상: 인터넷 게이트웨이
- 변경 사항 저장
VPC를 생성하고 퍼블릭 서브넷 환경 구성을 완료했습니다.
보안 그룹 수동 생성하기
EC2 인스턴스는 기본적으로 한 개의 보안 그룹으로 접근을 통제합니다. EC2 인스턴스를 설정할 때 별도의 보안 그룹을 지정하지 않으면 신규 보안 그룹이 자동으로 생성됩니다. 이렇게 자동으로 생성되는 신규 보안 그룹으로만 진행해도 무방하지만, 수동으로 보안 그룹을 생성해 보았습니다.
- VPC 메뉴에서 보안 그룹 선택
- 보안 그룹 생성 버튼 클릭
- 이름: MY-WEB-SSH-SG
- 설명: 아무 텍스트
- 생성한 VPC 선택
- 인바운드 규칙 추가: [HTTP 유형, 소스는 내 IP], [SSH 유형, 소스는 내 IP]
- 보안 그룹 생성
생성한 보안 그룹은 HTTP와 SSH 프로토콜에 대해 특정 IP 주소만 허용하는 보안 정책입니다. 이때 특정 IP 주소란 현재 설정한 내 PC의 공인 IP 주소를 의미합니다.
EC2 인스턴스 생성하기
인스턴스 생서하는 과정은 이전 글에 작성했기 때문에 과정은 생략하고 결과만 사진 업로드 했습니다.
- 서비스 > 컴퓨팅 > EC2 선택
- 인스턴스 시작
- 이름 및 태그: CH3-Public-EC2
- AMI: Amazon Linux 2 AMI(HVM)
- 인스턴스 유형: t2.micro
- 키 페어: 개인 키 페어
- 네트워크 설정
- VPC: CH3-VPC
- 서브넷: CH3-Public-Subnet
- 퍼블릭 IP 자동 할당: 활성화
- 방화벽: 기존 보안 그룹
- 일반 보안 그룹: MY-WEB-SSH-SG
- 스토리지 구성은 기존 유지
- 인스턴스 시작
SSH를 이용하여 인스턴스 접속
sudo ssh -i [키 페어 파일 경로] ec2-user@[퍼블릭 IP]
이전 글과 마찬가지로 교재에서 제공하는 최초 웹페이지를 받고 해당 주소를 접속하면?
# MyFirstEC2 인스턴스에 SSH 접속하기
# 슈퍼 유저로 변경
sudo su -
# http 데몬 설치
yum install httpd -y
# http 데몬 실행
systemctl start httpd
# 웹 서비스 최초 페이지 내려받기
curl -L https://bit.ly/afbtest02 > /var/www/html/index.html
아래와 같이 브라우저에서 확인 가능!
프라이빗 서브넷 구성은 퍼블릭 서브넷 구성과 비슷하여 추후에 필요하다면 이어서 작성하도록 하고 간단하게 정리만 하겠습니다. 프라이빗 서브넷은 퍼블릭 서브넷에서 사용한 인터넷 게이트웨이 대신 NAT 게이트웨이를 이용합니다. 프라이빗 서브넷은 퍼블릭 IP 주소가 없어 현재 작업환경에서 직접 접속이 불가능합니다. 따라서 퍼블릭 서브넷의 EC2 인스턴스에 ssh로 접근 후 EC2 인스턴스의 프라이빗 IP 주소로 다시 접근합니다.
모든 자원 삭제하기)
- EC2>인스턴스 에서 생성한 EC2를 선택한 후 인스턴스 상태>인스턴스 종료를 선택
- VPC>NAT 게이트웨이에서 생성한 NAT 게이트웨이 삭제를 선택
- VPC>탄력적 IP에서 생성한 탄력적 IP의 IP 주소 릴리즈를 선택
- 서비스>VPC 에서 생성한 VPC 삭제를 선택
참고 자료
- 길벗출판사, AWS 교과서
이 게시글은 해당 교재를 기반으로 하여 진행되었으며, 구체적인 설명은 교재를 참고하실 수 있습니다.
'Security > Cloud' 카테고리의 다른 글
[AWS] 워드프레스 단일/복합 환경 구성 (0) | 2024.11.27 |
---|---|
[AWS] Amazon CloudFront로 CDN 구성 (1) | 2024.11.25 |
[AWS] AWS EC2 인스턴스 배포 및 접근(for mac) (1) | 2024.11.23 |
로드밸런싱(Load Balancing) (1) | 2024.11.20 |
[Cloud] 클라우드 컴퓨팅 서비스 (4) | 2024.09.17 |