AWS Builders 100 - Web application

‍정진철·2023년 6월 22일
0

AWS

목록 보기
2/4
post-custom-banner

기본 설정


네트워크 구성하기

Virtual Private Cloud (VPC) 이해하기

Amazon Virtual Private Cloud(Amazon VPC) 를 이용하면 사용자가 정의한 가상의 네트워크 공간 안에서 AWS 리소스를 시작할 수 있습니다. 해당 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 데이터 센터에서 운영하는 기존 네트워크와 매우 유사합니다.

https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html

구조도 : 리전 > VPC > Subnet (철저히 네트워크 관점)
VPC 와 Internet Gateway 를 통해 통신

음..내가 느낀바로는 자신의 집을 구축하는 느낌
자신의 VPC를 만들어서 그 안에 Subnet을 두고 집을 짓는 느낌
단, 우리의 부모는 Region..
그리고 우리의 집을 들어오기 위해선 Internet Gateway or NAT 통과 필요

기능
다음 기능은 애플리케이션에 필요한 연결을 제공하도록 VPC 구성하는 데 도움이 됩니다.

Virtual Private Cloud(VPC)

VPC는 자체 데이터 센터에서 운영하는 기존 네트워크와 아주 유사한 가상 네트워크입니다. VPC를 생성한 후 서브넷을 추가할 수 있습니다.
서브넷
서브넷은 VPC의 IP 주소 범위입니다. 서브넷은 단일 가용 영역에 상주해야 합니다. 서브넷을 추가한 후에는 VPC에 AWS 리소스 배포할 수 있습니다.

IP 주소 지정
VPC와 서브넷에 IP 주소를 IPv4와 IPv6 모두 할당할 수 있습니다. 또한 퍼블릭 IPv4 및 IPv6 GUA 주소를 AWS로 가져오고 VPC의 리소스(예: EC2 인스턴스, NAT 게이트웨이, Network Load Balancer)에 할당할 수 있습니다.

라우팅
라우팅 테이블을 사용하여 서브넷 또는 게이트웨이의 네트워크 트래픽이 전달되는 위치를 결정합니다.

게이트웨이 및 엔드포인트
게이
트웨이는 VPC를 다른 네트워크에 연결합니다. 예를 들면, 인터넷 게이트웨이를 사용하여 VPC를 인터넷에 연결합니다. VPC 엔드포인트를 사용하여 인터넷 게이트웨이 또는 NAT 장치를 사용하지 않고 AWS 서비스에 비공개로 연결합니다.

피어링 연결
VPC 피어링 연결을 사용하여 두 VPC의 리소스 간 트래픽을 라우팅합니다.

트래픽 미러링
네트워크 인터페이스에서 네트워크 트래픽을 복사하고 심층 패킷 검사를 위해 보안 및 모니터링 어플라이언스로 전송합니다.

Transit Gateway
중앙 허브 역할을 하는 전송 게이트웨이를 사용하여 VPC, VPN 연결 및 AWS Direct Connect 연결 간에 트래픽을 라우팅합니다.

VPC 흐름 로그
흐름 로그는 VPC의 네트워크 인터페이스로 들어오고 나가는 IP 트래픽에 대한 정보를 캡처합니다.

VPN 연결
AWS Virtual Private Network(AWS VPN)을 사용하여 온프레미스 네트워크에 VPC를 연결합니다.


VPC 생성하기

VPC 콘솔 접속
https://ap-northeast-2.console.aws.amazon.com/vpc/home?region=ap-northeast-2#Home:

VPC 설정에서 VPC,서브넷 등을 선택합니다. 이름의 경우 VPC-Lab 으로 작성합니다.CIDR 블록은 기본값인 10.0.0.0/16 으로 설정합니다.

가용 영역(AZ) 는 1개를 선택하고, 가용 영역은 ap-northeast-2a 로 선택합니다. 이 가용영역은 아까 설정했던 VPC 의 부분집합 입니다. 밑에 있는 퍼블릭 서브넷 수도 1개로 선택하고, CIDR 블록을 10.0.10.0/24 로 설정합니다. 프라이빗 서브넷은 만들지 않으므로, 0개를 선택합니다.이후 다른 것은 선택하지 않고, 우측 하단의 VPC 생성 버튼을 누릅니다

VPC IPv4 CIDR 블록 값을 지정할 때에는 향후 직접 연결할 가능성이 있는 네트워크와 주소가 중복되지 않도록 할당하는 것이 중요합니다. 또한, 향후 확장을 고려하여 충분히 큰 주소를 할당합니다.


현재까지의 아키텍처 구성은 아래와 같습니다.

CIDR 주소 이해하기

CIDR(Classless Inter-Domain Routing)은 네트워크의 주소와 크기를 표현하는 방식 중 하나입니다. 위의 실습에서 생성한 VPC는 16을 서브넷 값으로 하는 IP 주소 범위입니다. 각 자원에 줄 수 있는 IP 갯수는 2의 16승인 65,536개입니다.
32- 16 = 16, 즉 2^16개의 IP를 할당받을 수 있는 집을 지음

[정리]

VPC는 독립된 하나의 네트워크를 구성하기 위한 가장 큰 단위

사용자는 VPC 내에서 IP대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이트웨이, 보안 그룹, ACL등을 생성하고 제어할 수 있다.

VPC는 할당받을 수 있는 IP의 범위를 지정해주는 곳 => 즉, 공인 IP 말고 공인IP를 통해서 들어오면 그 안에 각자 존재하는 컴퓨터에게 할당받을 수 있는 전체의 범위를 지정해주는 곳이다 공인 IP는 부족하다. 특정 VPC안에 존재하는 컴퓨터에게 IP를 할당해줘야 하는데 이것의 범위를 지정해주는 것이 VPC

(참고 : 즉, AWS VPC를 생성할 수 있는 가장 큰 IP 대역은 /16이며, 가장 작은 대역은 /28)

서브넷 ( Subnet )
VPC가 논리적인 범위를 의미한다면, 서브넷은 VPC안에서 실제로 리소스가 생성될 수 있는 네트워크 영역이라고 생각하면 된다. 실제로 EC2, RDS같은 리소스를 생성 할 수 있다.

하나의 VPC에 N개의 서브넷을 가질 수 있으며 하나의 AZ에만 생성이 가능하다

아래 사진을 보면 VPC(10.0.0.16) 내에서 다시 크기를 두개로 쪼개서 사용하게 되는데 VPC를 쪼갠 조각들이 바로 Subnet(10.0.1.0/24)이다.

ref : https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-VPC-%EC%82%AC%EC%9A%A9-%EC%84%9C%EB%B8%8C%EB%84%B7-%EC%9D%B8%ED%84%B0%EB%84%B7-%EA%B2%8C%EC%9D%B4%ED%8A%B8%EC%9B%A8%EC%9D%B4-NAT-%EB%B3%B4%EC%95%88%EA%B7%B8%EB%A3%B9-NACL-Bastion-Host#cidr_%EA%B0%9C%EB%85%90_%EC%A0%95%EB%A6%AC__%EA%B3%84%EC%82%B0%EB%B2%95


추가 서브넷 생성하기

고가용성을 확보하기 위해, 다중 가용 영역에 서비스를 배포하는 것이 중요합니다. 따라서 앞에서 생성한 서브넷이 위치한 가용 영역 A 외에 다른 가용 영역인 C에 서브넷을 생성합니다.



라우팅 테이블 편집하기

VPC 라우팅 테이블 개념
라우팅 테이블에는 서브넷 또는 게이트 웨이의 네트워크 트래픽이 전송되는 위치를 결정하는데 사용되는 라우팅이라는 규칙 집합이 포함되어 있습니다.

라우팅 테이블의 목적은 손님이 우리집에 왔을 때 어디로 들어갈지 알려주는 참고표이다.
거대한 마당안에는 여러개의 집이 있고, 손님이 어디로 방문해야 하는지 알려주는 이정표 인 셈이다 ( 인터넷 패킷이 어디 IP로 흘러들어가야 하는지 알려줌)

기본 라우팅 테이블은 VPC와 함께 자동으로 생성되는 라우팅 테이블입니다. 다른 라우팅 테이블과 명시적으로 연결되지 않은 모든 서브넷의 라우팅을 제어하는 역할을 합니다. 사용자 지정 라우팅 테이블은 기본 라우팅 테이블 외에 사용자가 생성한 라우팅 테이블입니다.

라우팅 테이블 ID에서 기본 라우팅 테이블이 아닌 다른 라우팅 테이블을 선택한 후, 저장합니다. 이때, 선택한 라우팅 테이블에 인터넷으로 향하는 경로가 있는지 확인합니다.

자신이 만든 서브넷을 선택한 후, 세부 정보 탭에서 변경된 라우팅 테이블 하이퍼 링크를 클릭하면 라우팅 정보를 확인할 수 있습니다.

라우팅 테이블을 클릭 후, 라우트 탭에서 확인할 수 있는 결과는 아래와 같습니다. 이를 통해,우리가 만든 서브넷에게 인터넷으로 향하는 경로가 생성되었음을 확인할 수 있습니다.

우리의 아키텍처는 다음과 같습니다.


보안 그룹 생성하기

보안 그룹은 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 합니다.

인바운드 규칙에서 아래와 같이 규칙을 부여한 후, 오른쪽 하단의 보안 그룹 생성 버튼을 클릭합니다.


웹 서버 생성하기

EC2(Elastic Compute Cloud) 이해하기

기존에 생성한 EC2를 참고하면서 설정을 진행하겠습니다.

다만, EC2를 생성하면서 위에서 설정한 VPC, 서브넷, 보안그룹을 맞춰줘야 합니다.

예시


AMI 생성하기

Amazon Machine Image(AMI)는 인스턴스를 시작하는데 필요한 정보를 제공합니다. 인스턴스를 시작할 때, AMI를 지정해야하는데, 동일한 구성의 인스턴스가 여러 개 필요할 때는 한 AMI를 사용하여 여러 인스턴스를 시작할 수 있습니다.


profile
WILL is ALL
post-custom-banner

0개의 댓글