본문 바로가기
[AWS]/AWS 기타

[AWS] VPC와 외부 네트워크 연결하는 방법 (이론)

by METAVERSE STORY 2022. 9. 13.
반응형
728x170

 

 

목차 

1. Amazon Virtual Private Cloud

2. Internet 연결하기

3. 다른 AWS 서비스 연결하기

4. 다른 VPC와 연결하기

5. On-Premise Network와 연결하기

 

Amazon Virtual Private Cloud

AWS 자원 레벨로는 AWS Cloud내에 Region이 있고 그 아래에 VPC등의 구조로 되어 있다.

온프레미스에서 서비스를 구축한다면 데이터센터에 서버를 넣고, 네트워크 스위치, DB 등을 구축하여 서비스를 한다.

네트워크에서 자주 사용하는것은 CIDR인데 이 정보는 이전에 포스팅을 진행했었다.

VPC의 대역을 정하기 위해서는 위의 CIDR가 중요하다.

VPC의 대역은 한번 정하면 변경되지 않는다.

서울 리전에서는 총 4개의 가용영역이 있다.

위는 Default VPC의 구성 요소인데 이 Defualt VPC와 Internet은 어떻게 연결되는지를 살펴보자.

사설 IP는 VPC 내에서 통신할때 필요한 부분이다.

Internet과 통신하기 위해서는 공인 IP 혹은 Public IP가 필요하다.

Public IP가 할당되어 있더라도 전원을 껐다가 키면 IP가 바뀌기 때문에, Elastic IP 즉 고정 IP를 할당한다.

다음으로는 라우팅 테이블이다. 라우팅 테이블의 정책에 의해서 내부 통신들이 정의된다.

인터넷 게이트웨이를 연결 함으로서 외부 인터넷과 통신이 가능하다.

마지막으로 NACL에 대한 정보이다.

Network Access Control List 이름에서도 알수 있듯이 네트워크 접속 컨트롤이라고 생각하면된다.

하지만 현재 필자의 운영환경에서 NACL을 이용하지는 않는다.

VPC가 인터넷과 통신하기 위한 서비스에 대해서 모두 살펴봤다.

서비스만큼 중요한것은 보안전략이다. Defualt VPC의 경우 Public Subnet밖에 없기 때문에 보다 안전한 네트워크를 구성하기 위한 VPC 설계 전략이 필요하다.

VPC를 만들때 사용할 IP 대역을 지정하고 생성한다.

그 다음 계층적 구조를 활용하여 네트워크를 분할하는데 이를 서브네팅이라고 한다.

사설 IP 대역을 할당하여 가용영역에 Subnet에 네트워크를 쪼개서 할당한다.

VPC Subnet의 모범사례이다. VPC에서 인터넷으로 노출시킬 서버를 최소화하여 보안을 강화한다.
민감한 서버는 Private Subnet에 두고 Public Subnet에 있는 서버를 통해서만 접속하는 Bastion 통신 방법이 모범 사례에 해당한다.

Public Subnet에 EC2가 있다고 하더라도 인터넷 게이트웨이가 연결 되어야만 인터넷과 양방향 통신이 가능하다.
Routing Table에 인터넷 게이트웨이를 등록해서 인터넷과 통신이 가능하게끔 구성한다.

RDS등 인터넷과 통신이 전혀 연관 없는 Instance들 같은 경우에는 VPC 내부 IP 대역만 설정된 라우팅 테이블을 구성한다.
이와 같이 구성함으로서 외부 트래픽으로부터 완벽하게 차단할 수 있다.

Private Subnet에 있는 Instance여도 인터넷과 통신이 필요한 경우에 NAT 게이트웨이를 구성해서 인터넷과 통신이 가능하게끔 연결해준다.

위 그림과 같이 Private Subnet에 있는 서버가 Public 영역에 있는 NAT 게이트웨이를 통해서 인터넷 게이트웨이와 연결하고 외부와 통신을 할수 있게끔 구성한다.

NAT 게이트웨이의 경우는 다른 가용영역의 Instance도 사용 가능하다.
그러나 이런 경우 다른 가용영역에 문제가 발생하면 기존 가용영역에 아웃바운드 인터넷이 제대로 기동을 안할수 있다.

외부 공격에 대비한 NACL도 존재한다.
NACL을 통해서 외부 공격을 Deny 하고, 허용되는 트래픽만 Allow 하는 방식으로 설정한다.

다음으로는 보안그룹이 존재한다.

보안 그룹은 NACL과 좀 다른 방식으로 구동된다.
보안 그룹은 허용포트와 IP로 세팅해서 들어올수 있는 인입점을 관리하는것이고 NACL은 아예 Deny와 Allow를 나누어 구동하기 때문에, 필자의 운영 환경의 경우는 대부분 보안그룹으로 구성해서 네트워크를 컨트롤 하고 있다.

다음으로 다른 VPC와 연결하는 방법에 대해서 알아 보도록 하자.

VPC 연결시에는 연결하려는 VPC의 사설 IP 대역이 중복되지 않아야 한다는 전재조건이 있다.

연결하는 방법은 연결을 요청하고 수락하면 연결된다.

VPC Peering 구성 순서는 위와 같다.

1. Peering을 요청한다.

2. Peering을 수락한다.

3. Routing Table에 정책을 추가하고

4. 보안 그룹에 인입점을 설정하여 연결을 마무리 한다.

다음으로는 여러 VPC Peering 방법에 대해서 위와 같은 그림으로 연결 한다고 가정해보자.

VPC A와 VPC B가 연결되어 있고 VPC A와 VPC C가 연결되어 있으며, VPC A와 VPC D가 연결되어 있다.

그렇다면 VPC B에서 VPC D로 패킷을 전달할 수 있을까?

전달 할 수 없다. VPC B에서 VPC A로 패킷을 전달하고 다시 VPC A가 VPC D로 패킷을 전달하는 Transit Routing은 지원하지 않는다.

그렇기 때문에 해당 경우에는 위와 같은 구성처럼 추가로 Peering을 구성해야 한다.

 

그렇기 때문에 Transit Gateway를 적용하여 간소하게 관리를 할수 있다.

AWS Transit Gateway 구성 방법을 아래와 같이 소개한다.

Transit Gateway를 생성하고 각각의 VPC와 연결을 한후에 Routing Table을 각가 구성하여 패킷의 경로를 제어한다.

 

또한 On-premise 네트워크와도 연결이 가능하다.

이때 사용하는 기능이 VGW이다.

VPN을 연결하는 방법은 두가지로 나눠서 볼수 있다.

첫번째로는 가장 단순한 방법으로 온프레미스 환경과 VGW와 바로 연결해서 사용하는 방법이 있고,

Transit Gateway 기반의 Region 단위 가상 Router로 연결하는 방법이 있다.

각가의 방법을 살표 보자면

데이터 센터와 연결하는 방법은 

위와 같이 VPC와 VGW를 이용하여 구성하는 방법이다.

IP Sec이 VGW와 고객의 Gateway 사이에 생성된다.

AWS 측에 VPN 엔드포인트는 두개의 터널로 이중화 되어 있지만, 고객 측의 구성도 이중화가 권장된다.

이중화 터널은 Active Standby로 구성된다.

여러 VPC와 연결하기 위해서는 고객측의 Gateway와 Transit Gateway와 연결하여 VPC 연결을 통합하고 VPC Route table에서는 온프레미스 주소를 TGW로 라우팅 되도록 설정하고 TGW에서는 다시 VPN으로 전달 되도록 설정한다.

다음으로는 전용 회선을 연결하는 기능에 대해서 살펴보자.

DX를 이용하여 온프레미스와 연결하는 간단한 방법은 DX의 단일 Virtual Interface와 단일 VPC 구성이다.
DX는 라우터간의 VGP 프로토콜을 사용하여 라우팅 정보를 교환하기 때문에 고객사 라우터는 VGP가 반드시 지원되야 한다.
물리적으로 연결된 Direct Connect 회선에서 VPC와 온프레미스를 연결하기 위한 Private Virtual Interface를 생성한다.

AWS 상에서 연결하고자 하는 VPC에 VGW를 연결하고 이 VGW에 생성한 Virtual Interface를 연결하여 VPC와 온프레미스간의 통신이 가능하게 한다. 

확장성이 높은 네트워크의 구성을 위해서 Direct Connect Gateway와 Transit Gateway를 활용할수 있다.
앞서 설명되었던 Transit Gateway는 AWS Region 단위로 운영되는 가상의 라우터 이다.
Direct Connect와 Transit Gateway를 연결할때는 Transit Virtual Interface를 생성한다.

Transit Virtual Interface로 구성된 Direct Connect Gateway를 Transit Gateway와 연결하고 여기에 모든 VPC를 연결하면  Region 기준의 중앙화된 Router가 만들어진다. Transit Gateway에 VPC가 추가되는 경우에도 온프레미스와 AWS에는 추가적인 설정 없이도 변경되는 모든 네트워크 구성이 즉시 반영되게 된다.

 

출처 : 

https://www.youtube.com/watch?v=eAOzzLZjV0k 

 

반응형
그리드형

댓글