
- Cloud 계정내에 VPC를 생성한다. (자동적으로 NACL, Routing table이 생성됨)
- 가용영역에 Public Subnet과 Private Subnet을 만들어준다.
- 라우팅 테이블을 통해 서로 연결한다.
- 인터넷 게이트를 만들고 Public Subnet에서만 통신되도록 연결시킨다.
- Public Subnet과 Private Subnet에 각각 EC2를 생성하고
- EC2 인스턴스 앞에는 보안그룹을 생성해서 연결해준다.
1) VPC 생성하기

- VPC를 10.1.0.0/16의 CIDR을 할당해줄 것이다.
- VPC는 AWS 계정의 가상 네트워크이다.
- IPv4 주소 범위를 CIDR 블록 형태로 지정한다.
- CIDR 블록 사이즈는 /16 ~ /24 넷마스크
- VPC 생성 후 CIDR 범위 수정은 불가하나 새 CIDR 블록은 추가가 가능하다.
- IPv6 주소 범위지정은 옵션이다.
실습

- VPC 서비스에 들어간다. (왼쪽의 VPC 클릭)
- VPC 생성을 누른후 이름을 적어준다.
- CIDR블록을 저장하는데 10.1.0.0/16으로 IP주소를 할당해준다.
- VPC 생성을 한다!
- 여기에 연결되어 있는 라우팅 테이블 ID를 customVPC로 설정한다.
- 네트워크 ACL 또한 이름을 custom-VPC를 생성한다.

완성!!
2) 가용영역에 Subnet 생성

- 하나의 가용영역에 Public Subnet
- 하나의 가용영역은 Private Subnet
- 여기서 말하는 Subnet은 VPC의 IP 주소 범위이다.
- CIDR 블록 형태로 IP 주소 범위를 지정하는데 사이즈는 /16 ~ /28 넷마스크 사용 가능하다.
- 서브넷 생성시 가용영역(AZ)를 지정하며 1개의 가용영역만 지정이 가능하다.
- 서브넷 범위는 VPC의 CIDR 블록 주소 내에서 생성 가능하다.
- 서브넷 끼리의 IP주소 중첩(Overlapping)하여 생성 불가하다.
- 생성된 서브넷의 IPv4 CIDR 블록 주소는 추가하거나 수정이 안되며 삭제후 새로 생성만 가능하다.
- 서브넷 생성 후 AWS는 네트워킹 목적으로 처음 4개의 IP 주소와 마지막 1개 주소를 예약한다.
- 10.1.100.0/24 서브넷을 생성했다하면
- 1) 10.0.1.0 - Network ID(Netmask)
- 2) 10.0.1.1 - Gateway
- 3) 10.0.1.2 - DNS
- 4) 10.0.1.3 - Reserved
- 5) 10.0.1.255 - Broadcast
- 10.1.100.0/24 서브넷을 생성했다하면
실습

- 서브넷을 클릭후 서브넷 생성을 누른다.
- VPC ID를 Custom으로 선택하고 이름을 public-subnet을 적는다.
- 가용영역은 2a로 선정하고
- 10.1.100.0/25로 CIDR 블록을 설정한다.
- [새 서브넷 추가]를 눌러 하나를 더 만들어주자
- 이름은 Private-subent으로 하고
- 가용영역은 2b로 선정하고
- 10.1.200.0/24로 설정하되 CIDR은 전체 VPC 대역에 포함하되, 서로 겹치면 안된다.
- 그리고 서브넷 생성을 진행한다!

완성!!
3) Routing Table 지정하기

- Custom VPC를 만들때 이미 하나가 생성완료됐다.
- 라우팅테이블은 2개를 만들것이다. (라우터역할) (통신을 위한 도구)
- 라우팅테이블의 IP 주소도 할당해보자
- 라우팅 규칙을 통해 네트워크 트래픽이 전송되는 위치를 결정할 수 있다.
- 트래픽을 이동할 대상 IP 주소 => 대상 트래픽을 전송할 때 사용할 게이트웨이 등등 연결
실습

- 라우팅 테이블에 들어가 이미 만들어져있는 custmoVPC는 - Private로 이름을 바꿔주고 라우팅 생성을 하나 더하자
- 이름은 customVPC - Public으로 해주고 VPC연결후 생성해준다.
- 그리고 Public 라우팅 테이블을 클릭후에 아래 [서브넷 연결]에서 [서브넷 연결 편집을 클릭한다]
- public 부분을 연결저장해준다. (Private도 마찬가지로 해준다.)
- 이렇게하면 public은 vpc의 모든 리소스와 통신이 된다. (private 도)

완성!!
4) Internet Gateway 생성하기

- 이는 Internet과 통신이 가능하다. 단 Public Subnet 부분만 연결되게 할것이므로 라우팅 테이블에 Internet GateWay를 타겟으로 하는 라우팅 테이블을 만들어 주자.
- VPC IP가 아닌 IGW IP로 접속이 가능해진다.
- IG는 VPC와 인터넷 간의 통신을 할 수 있도록 해준다.
- 퍼블릭 IPv4가 할당된 인스턴스에 대해 1:1 NAT (네트워크 주소 변환)을 수행
- 라우팅 테이블의 대상(Target)역할을 한다.
- 트래픽을 인터넷에 전달하기 위해서는 서브넷의 라우팅 테이블에 인터넷 게이트웨이를 대상(Target)으로 추가해야 한다.
- VPC에서 인터넷 외부로만 트래픽을 허용하는 송신전용(egress-only) 인터넷 게이트웨이 구성 가능
- 퍼블릭 서브넷 : 서브넷이 인터넷 게이트웨이로 바로 연결(라우팅)되는 경우
- 프라이빗 서브넷 : 서브넷이 인터넷 게이트웨이로 바로 연결(라우팅)되지 않음
실습

- 왼쪽에 인터넷 게이트웨이를 클릭해서 생성을 한다.
- 이름은 customVPC-IG로 설정한 후 생성한다.
- 이를 클릭한후 작업을 눌러 연결해준다. (VPC와)
- 이를 사용하려면 라우팅해줘야한다.
- 왼쪽의 라우팅 테이블을 클릭하고 public 라우팅테이블을 클릭한다.
- 아래 [라우팅]을 클릭하고 라우팅 편집을 누른다.
- 라우팅 추가를 하는데 ip는 0.0.0.0/0으로 설정한다.(모두 접속가능), 대상은 인터넷 게이트웨이를 클릭
- 연결완료!!

customVPC - Public 부분에만 이렇게 있는것을 확인할 수 있다.
5) EC2 생성하기

- 각 서브넷에 ec2를 생성하고 Security Group을 만들어 연결해주겠다.
실습

- ec2 서비스에 들어가 인스턴스 시작을 눌러 만든다.
- 이름을 ec2_public으로 만들어주고 Windows 2016 base로 설정해준다.
- 네트워크 설정에서 편집을 누른다.
- VPC부분을 customVPC, 서브넷은 Public-subnet으로 설정한다. (여기에 있는 IP 주소를 할당 받을 것)
- 퍼블릭 IP 자동할당을 활성화한다.
- 보안 그룹은 새롭게 생성하자 (all_access)
- 보안그룹 규칙은 [제거]한 후 규칙추가를 눌러 모든 TCP를 Anywhere로 한다. (모두 허용)
- 인스턴스를 시작!!
인스턴스를 하나 더 만들기전에 윈도우는 가용영역 2b에서 지원하지 않으므로 다시 만들자.

- 다시 서브넷 생성을 누르고 VPC 선택 한다.
- 기존에 있던 private-subnet은 삭제한다.
- 서브넷 이름은 Private-subnet으로 하고 가용영역은 2c로 설정한다.
- CIDR은 10.1.200.0/24로하고 생성한다.

- 그 다음 [라우팅 테이블]에 들어가 customVPC - Private를 눌른다.
- 아래에 [서브넷 연결]을 클릭후에 서브넷 연결 편집을 누른다.
- 여기서 private-subnet을 연결 저장을 해준다.

- 이제 다시 하나 더 만들자. 이름은 ec2_private로 한다.
- 이미지는 이전과 동일하게 한다.
- 네트워크 설정도 또한 위와 마찬가지로 VPC로하고 서브넷은 Private로 한다.
- 퍼블릭 IP는 필요없으므로 비활성화로 둔다.
- 보안그룹은 기존 보안그룹을 선택하고 all_access로 설정해주고 만든다!!

완성!!!

이렇게 최종적으로 완성했다.
'Cloud Infra Architecture (AWS) > AWS SAA-C03' 카테고리의 다른 글
AWS NACL & Security Groups란? (0) | 2023.01.22 |
---|---|
AWS Route 53 Faliover & Multi value Routing Policy (0) | 2023.01.22 |
AWS VPC 개요란? (0) | 2023.01.16 |
AWS Route 53 Latency & Geo Location Routing Policy (0) | 2023.01.13 |
AWS Route 53 Simple Routing Policy & Weighted Routing Policy (0) | 2023.01.13 |