본문 바로가기
AWS

[AWS] 네트워킹

by Lucia__ 2024. 5. 1.

목차

  1. Virtual Private Cloud(VPC)
  2. 인터넷 게이트웨이
  3. 서브넷
  4. 패킷
  5. 네트워크 ACL

  • Virtual Private Cloud(VPC)

VPC, 즉 Virtual Private Cloud는 가상의 격리된 프라이빗 네트워크입니다. 쉽게 말해 자체 데이터 센터에서 운영하는 기존 네트워크와 아주 유사한 가상 네트워크이며 VPC를 생성한 후 서브넷을 추가할 수 있습니다. 그리고 이 서브넷은 IP 주소의 모음으로 리소스를 그룹화 할 수 있게 도와줍니다.

 

VPC에 들어갈 수 있는 인바운드 트래픽을 제어하는 방법들도 다양합니다. 다시 말해서 일부 VPC에는 공개 웹 사이트와 같이 공개적으로 접근할 수 있는 인터넷 연결 리소스나 사용자의 프라이빗 네트워크 즉 VPC에 로그인한 사람만 접근해야 되는 리소스가 존재합니다. 

 

공개 인터넷 트래픽이 VPC를 출입하도록 허용하려면 인터넷 게이트웨이(IGW)를 VPC에 연결해야 합니다. 인터넷 게이트웨이는 공개된 출입구와 같습니다. 예를 들어 커피숍을 한번 떠올리면, 정문이 없다면 고객이 들어와서 커피를 주문할 수 없습니다. 이 예시에서 정문은 인터넷 게이트웨이에 해당합니다. 인터넷 게이트웨이가 없다면 그 누구도 VPC 안에 있는 리소스에 접근할 수가 없습니다.

 

  • 인터넷 게이트웨이

인터넷 게이트웨이는 수평 확장되고 가용성이 높은 중복 VPC 구성 요소로, VPC와 인터넷 간에 통신할 수 있게 해줍니다. 인터넷의 퍼블릭 트래픽이 VPC에 액세스하도록 허용하려면 인터넷 게이트웨이를 VPC에 연결해야 합니다.

 

 내부 프라이빗 리소스 즉 공개적으로 접근해서는 안 되는 리소스가 있는 VPC에는 누구도 이 리소스에 접근하게 해서는 안 됩니다. 따라서 인터넷 게이트웨이를 VPC에 연결하면 안 됩니다. 다만 공개 인터넷이 아닌 승인된 네트워크에서 오는 사람은 허용을 해야 되기 때문에 이것을 허용하는 프라이빗 게이트웨이가 필요하죠. 이러한 비공개 출입구를 가상 프라이빗 게이트웨이라고 하고 이것으로 온프레미스 데이터 센터나 사내 네트워크 같은 프라이빗 네트워크와 VPC 간의 VPN 연결을 만들 수 있습니다.

 

  • 가상 프라이빗 게이트 웨이

VPC 내의 프라이빗 리소스에 액세스하려면 가상 프라이빗 게이트웨이를 사용해야 합니다. 

가상 프라이빗 게이트웨이의 작동 방식을 예를 들어 설명하면 인터넷은 집과 커피숍 사이의 도로로 생각할 수 있고 이 도로를 보디가드와 함께 지나간다고 가정했을때 다른 고객과 동일한 도로를 사용하고 있지만 추가 보호 계층이 있다는 점이 다릅니다. 보디가드는 주변의 다른 모든 요청으로부터 인터넷 트래픽을 암호화하는 가상 프라이빗 네트워크(VPN) 연결과 같다고 볼 수 있습니다.

 

 

  • 서브넷

서브넷은 보안 또는 운영 요구 사항에 따라 리소스를 그룹화할 수 있는 VPC 내의 한 섹션입니다. 서브넷은 퍼블릭이거나 프라이빗일 수 있습니다.

 

vpc 내에서 서브넷의 역할에 대해 쉽게 설명하기 위해 커피숍 예를 들어보겠습니다.

고객이 계산원에게 음료를 주문하면 계산원이 바리스타에게 주문을 전달하는 이 프로세스를 통해 더 많은 고객이 들어오더라도 계속 원활하게 주문을 받을 수 있습니다. 하지만, 일부 고객이 바리스타에게 직접 주문하려 한다면 흐름이 중단되고 고객이 커피숍의 제한 구역에 접근하게 됩니다. 

 

 

이 문제를 해결하기 위해 점주는 계산원과 바리스타를 별도의 워크스테이션에 배치하여 카운터 영역을 나누게 됩니다. 계산원의 워크스테이션은 퍼블릭이고 바리스타의 워크스테이션은 계산원으로부터 주문을 받을 수는 있지만 고객으로부터 직접 주문을 받을 수 없는 프라이빗이 됩니다.

 

이는 AWS 네트워킹 서비스를 사용하여 리소스를 격리하고 네트워크 트래픽의 흐름을 정확히 결정하는 것과 비슷합니다.

커피숍의 카운터 영역을 VPC로 생각할 수 있게 되는 것입니다. VPC에서 서브넷은 리소스를 그룹화하는 데 사용되는 별개의 영역입니다.


네트워크 보안 강화의 몇 가지 측면을 설명하겠습니다. 

  • VPC의 네트워크 트래픽

고객이 AWS 클라우드에서 호스팅되는 애플리케이션에 데이터를 요청하면 이 요청은 패킷으로 전송됩니다.

 

패킷

패킷은 인터넷이나 네트워크를 통해 전송되는 데이터의 단위입니다.

패킷은 인터넷 게이트웨이를 통해 VPC로 들어갑니다. 패킷이 서브넷으로 들어가거나 서브넷에서 나오려면 먼저 권한을 확인해야 합니다. 이러한 사용 권한은 패킷을 보낸 사람과 패킷이 서브넷의 리소스를 통신하려는 방법을 나타냅니다. 서브넷의 패킷 권한을 확인하는 VPC 구성 요소는 네트워크 액세스 제어 목룍(ACL)입니다.

 

네트워크 ACL

네트워크 ACL은 서브넷 수준에서 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽입니다. 예를 들어 이제 커피숍이 아닌 공항에 있다고 가정을 했을 때 공항에서 여행자들이 입국 절차를 밟고 있습니다. 이러한 여행자를 패킷으로 생각할 수 있고 출입국 심사 직원을 네트워크 ACL로 생각할 수 있습니다.

계정의 기본 네트워크 ACL은 기본적으로 모든 인바운드 및 아웃바운드 트래픽을 허용하지만 사용자가 자체 규칙을 추가하여 수정할 수 있습니다. 또한 모든 네트워크 ACL에는 명시적 거부 규칙이 있습니다. 이 규칙은 패킷이 목록의 다른 모든 규칙과 일치하지 않으면 해당 패킷이 거부되도록 합니다.

 

패킷은 인터넷에 보내는 메시지이며 서브넷 경계를 지나는 모든 패킷은 네트워크 액세스 제어 목록, 즉 네트워크 ACL에서 검사됩니다. 네트워크 ACL은 여권 심사대처럼 서브넷을 출입하는 트래픽을 검사합니다.(입국 또는 출국할 때 목록을 확인하는 식) 그리고 입국에 성공했다고 해서 출국이 반드시 허용되지는 않습니다. 승인된 트래픽은 나갈 수 있지만 관리자의 요청을 통해 시스템 제어 권한 획득을 시도하는 등의 유해할지도 모르는 트래픽은 대상에 접근하기도 전에 차단됩니다. 접근할 수 없다면 해킹할 수도 없죠. 강력한 보안 장치처럼 들리겠지만 이 방식이 모든 네트워크 제어 문제를 해결하지는 못합니다. 네트워크 ACL은 서브넷 경계를 지나는 패킷만 평가하기 때문입니다.

 

 

'AWS' 카테고리의 다른 글

[AWS] DevOps  (0) 2024.05.22
[AWS] skill builder  (0) 2024.05.22
[AWS] Security  (0) 2024.05.07
[AWS]Storage  (0) 2024.05.07
[AWS] EC2  (1) 2024.05.01