AWS

AWS VPC란?

Somaz 2023. 4. 7. 20:00
728x90
반응형

Overview

AWS VPC에 대해서 공부해보려고 한다.

https://intellipaat.com/blog/aws-vpc/


AWS VPC란?

 

Amazon Virtual Private Cloud(VPC)는 AWS 클라우드의 격리된 프라이빗 섹션을 생성할 수 있는 네트워킹 서비스이다. VPC 내에서 정의하고 구성한 가상 네트워크에서 AWS 리소스를 시작할 수 있다.

 

가상 네트워킹 환경을 완벽하게 제어할 수 있으므로 애플리케이션 요구 사항에 맞게 네트워크 아키텍처를 쉽게 사용자 정의할 수 있다.

 

 

AWS VPC의 주요 구성 요소

 

VPC

VPC는 ​​AWS 계정 전용 가상 네트워크이다. AWS 클라우드의 다른 가상 네트워크와 논리적으로 격리되어 리소스에 안전한 환경을 제공한다. 고유한 IP 주소 범위를 정의하고 이를 하나 이상의 서브넷으로 나눌 수 있다.

 

서브넷(Subnets)

서브넷은 EC2 인스턴스와 같은 리소스 그룹을 배치할 수 있는 VPC의 IP 주소 범위 세그먼트이다. 서브넷은 라우팅 구성 및 인터넷 액세스에 따라 퍼블릭 또는 프라이빗일 수 있다. 퍼블릭 서브넷은 인터넷 게이트웨이를 통해 인터넷에 직접 액세스할 수 있지만 프라이빗 서브넷은 그렇지 않다.

 

인터넷 게이트웨이(Internet Gateway)

인터넷 게이트웨이는 VPC의 인스턴스와 인터넷 간의 통신을 허용하는 수평 확장 가능하고 가용성이 높은 중복 VPC 구성 요소이다. 퍼블릭 IPv4 주소가 할당된 인스턴스에 대해 NAT 기능을 수행한다.

 

라우팅 테이블(Route Table)

라우팅 테이블에는 VPC 내의 서브넷 간과 VPC와 외부 네트워크(예: 인터넷) 간에 트래픽이 전달되는 방식을 결정하는 경로라는 규칙 집합이 포함되어 있다. 각 서브넷은 기본 VPC 라우팅 테이블 또는 사용자 지정 테이블일 수 있는 라우팅 테이블과 연결되어야 한다.

 

NAT 게이트웨이/인스턴스(NAT Gateway / Instance)

NAT 게이트웨이 및 인스턴스를 사용하면 프라이빗 서브넷의 인스턴스가 보안을 유지하면서 인터넷에 액세스할 수 있다. 프라이빗 서브넷의 아웃바운드 트래픽은 허용하지만 인터넷에서 프라이빗 인스턴스로의 인바운드 트래픽은 방지한다.

 

보안 그룹(Security Groups)

보안 그룹은 인스턴스에 대한 가상 방화벽 역할을 하여 인스턴스 수준에서 인바운드 및 아웃바운드 트래픽을 제어한다. IP 프로토콜, 포트 번호, 소스 또는 대상 IP 주소를 기반으로 특정 트래픽을 허용하거나 거부하는 규칙을 생성할 수 있다.

 

네트워크 액세스 제어 목록(NACL) - Network Access Control Lists

NACL은 서브넷 수준의 추가 보안 계층이다. 서브넷 내의 모든 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어한다. NACL은 상태 비저장이므로 인바운드 및 아웃바운드 트래픽에 대해 별도의 규칙을 생성해야 한다.

 

VPC 피어링(VPC Peering)

VPC 피어링을 사용하면 동일한 AWS 계정 또는 다른 계정에 있는 두 개의 VPC를 연결하고 프라이빗 IP 주소를 사용하여 이들 간에 트래픽을 라우팅할 수 있다. 이렇게 하면 인터넷 게이트웨이나 VPN 연결 없이 직접 개인 연결이 생성된다.

 

VPC 엔드포인트(VPC Endpoints)

VPC 종단점은 인터넷 게이트웨이, NAT 장치 또는 VPN 연결 없이 VPC와 지원되는 AWS 서비스 간의 비공개 연결을 가능하게 한다. 엔드포인트는 게이트웨이 엔드포인트(Amazon S3 및 Amazon DynamoDB용)와 인터페이스 엔드포인트(다른 AWS 서비스용)의 두 가지 유형일 수 있다.

 

VPN 연결(VPN Connections)

가상 사설망(VPN) 연결을 사용하여 온프레미스 네트워크와 VPC 간에 안전한 비공개 연결을 설정할 수 있다. 이를 통해 온프레미스 네트워크를 AWS 클라우드로 확장할 수 있다.

 


 

AWS VPC Private IPv4 CIDR 블록

https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/configure-your-vpc.html


AWS Elastic IP(EIP)란?

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

Amazon Elastic IP 주소(EIP)는 Virtual Private Cloud(VPC)의 리소스와 함께 사용하기 위해 Amazon Web Services(AWS)에서 제공하는 정적 IPv4 주소이다. EIP는 Elastic Compute Cloud(EC2) 인스턴스 및 Network Load Balancer와 같은 AWS 리소스와 쉽게 연결하거나 연결 해제하도록 설계되었다. 이는 리소스에 할당된 퍼블릭 IP 주소를 관리할 때 유연성과 제어 수준을 제공한다.

 


 

탄력적 IP 주소의 주요 기능

 

고정 IP 주소(Static IP address)

EIP는 시간이 지나도 변하지 않는 고정 IP 주소이다. 이는 웹 서버 실행 또는 데이터베이스 호스팅과 같이 리소스에 대해 일관되고 고정된 IP 주소가 필요할 때 유용하다.

 

동적 연결(Dynamic association)

EIP를 EC2 인스턴스 또는 Network Load Balancer와 빠르게 연결하고 필요할 때마다 연결을 해제할 수 있다. 이렇게 하면 기본 리소스가 변경되거나 실패하더라도 일관된 공용 IP 주소를 유지할 수 있다.

 

IP 주소 다시 매핑(IP address remapping)

인스턴스 또는 로드 밸런서에 장애가 발생하거나 유지 관리가 필요한 경우 EIP를 다른 리소스에 다시 매핑하여 다운타임을 최소화하고 서비스의 연속성을 보장할 수 있다.

 

공개적으로 연결 가능(Publicly reachable)

EIP는 인터넷에서 연결할 수 있는 공용 IP 주소이므로 웹 서버 또는 API 엔드포인트와 같이 외부 액세스가 필요한 리소스에 적합하다.

 

리전별(Region-specific)

EIP는 특정 AWS 리전과 연결되며 해당 리전 내의 리소스에만 할당될 수 있다.

 

 


NACL(네트워크 액세스 제어 목록)과 SG(보안 그룹)의 차이

AWS 네트워크 액세스 제어 목록(NACL)과 보안 그룹(SG)은 모두 수신 및 발신 트래픽을 제어하여 AWS 인프라를 보호하는 메커니즘이다. 그러나 서로 다른 수준에서 작동하며 몇 가지 주요 차이점이 있습다.

 


 

작동 수준(Level of operation)

 

NACL

NACL은 서브넷 수준에서 작동한다. 즉, 서브넷 내의 모든 인스턴스에 적용된다. 서브넷 안팎의 트래픽을 제어하기 위한 방화벽 역할을 한다.

 

SG

보안 그룹은 인스턴스 수준에서 작동한다. 즉, 개별 Amazon EC2 인스턴스에 직접 적용된다. 인바운드 및 아웃바운드 트래픽을 제어하는 ​​인스턴스의 가상 방화벽 역할을 한다.

 

 

상태 저장(Statefulness)

 

NACL

NACL은 상태 비저장이므로 네트워크 연결 상태를 추적하지 않는다. 각 수신 또는 발신 트래픽에 대해 별도의 인바운드 및 아웃바운드 규칙을 만들어야 한다.

 

SG

보안 그룹은 상태를 유지한다. 즉, 허용된 모든 인바운드 또는 아웃바운드 연결에 대한 반환 트래픽을 자동으로 허용한다. 초기 수신 또는 발신 트래픽에 대한 규칙만 생성하면 되며 응답 트래픽은 자동으로 허용된다.

 

 

기본 동작(Default behavior)

 

NACL

기본적으로 NACL은 모든 인바운드 및 아웃바운드 트래픽을 거부한다. 특정 트래픽을 허용하려면 명시적으로 규칙을 추가해야 한다.

 

SG

기본적으로 보안 그룹은 모든 아웃바운드 트래픽을 허용하지만 모든 인바운드 트래픽을 거부한다. 특정 인바운드 트래픽을 허용하는 규칙을 추가해야 하며 아웃바운드 트래픽은 명시적으로 거부되지 않는 한 허용된다.

 

 

규칙 평가(Rule evaluation)

 

NACL

NACL의 규칙은 규칙 번호를 기준으로 숫자 순서로 평가된다. 규칙이 트래픽과 일치하면 작업(허용 또는 거부)이 적용되고 더 이상 규칙이 평가되지 않는다. NACL에는 인바운드 및 아웃바운드 규칙에 대한 별도의 규칙 번호가 있다.

 

SG

보안 그룹의 규칙은 전체적으로 평가된다. 트래픽을 허용하는 규칙이 있으면 연결이 허용된다. 보안 그룹에는 규칙 번호나 우선 순위가 없다.

 

 

규칙 유형(Rule types)

 

NACL

NACL 규칙은 IP 프로토콜, 포트 범위 및 소스/대상 IP 주소(CIDR 블록)를 기반으로 한다. 보안 그룹을 소스 또는 대상으로 지정할 수 없다.

 

SG

보안 그룹 규칙도 IP 프로토콜, 포트 범위 및 소스/대상 IP 주소(CIDR 블록)를 기반으로 한다. 그러나 다른 보안 그룹을 소스 또는 대상으로 지정하여 해당 보안 그룹과 연결된 인스턴스가 트래픽을 보내거나 받을 수 있도록 할 수도 있다.

 

 

정리

마지막으로 AWS NACL과 SG는 둘 다 리소스로 들어오고 나가는 트래픽을 제어하여 보안을 제공한다.

NACL은 서브넷 수준에서 작동하고 상태 비저장인 반면, 보안 그룹은 인스턴스 수준에서 작동하고 상태 저장이다.

NACL에는 규칙 우선 순위가 있는 반면 보안 그룹은 모든 규칙을 집합적으로 평가한다.

NACL과 Security Group이 충돌하는 상황에서는 Security Group가 더 높은 우선순위를 갖는다


NAT Gateway vs NAT Instance

AWS NAT 게이트웨이와 NAT 인스턴스는 둘 다 인터넷에서 직접 인바운드 연결을 방지하면서 프라이빗 서브넷의 인스턴스가 인터넷에 액세스할 수 있도록 하는 역할을 한다. 그러나 이들은 특성이 다르다.

 


 

NAT Gateway

NAT Gateway

 

관리형 서비스(Managed service)

NAT 게이트웨이는 AWS의 완전 관리형 서비스로, AWS에서 유지 관리, 패치 및 가용성을 관리한다. 따라서 관리 오버헤드를 최소화하려는 경우 사용된다.

 

고가용성(HA)

NAT 게이트웨이는 고가용성 및 중복성을 위해 설계되어 한 지역 내의 여러 가용 영역(AZ)에 자동으로 배포된다.

 

확장성(Scalability)

NAT 게이트웨이는 필요에 따라 자동으로 확장되어 최대 45Gbps의 대역폭을 지원하므로 대규모 배포 또는 트래픽이 크게 증가할 것으로 예상되는 경우에 적합하다.

 

사용 용이성(Usability)

NAT 게이트웨이 설정은 NAT 인스턴스에 비해 수동 구성이 더 적기 때문에 더 간단하다.

 

 

NAT 게이트웨이를 사용 사례

  • 관리 오버헤드가 최소화된 관리형 서비스를 선호한다.
  • 고가용성 및 확장성은 사용 사례에 매우 중요하다.
  • 설치가 쉬운 솔루션을 원한다.

 


 

NAT Instance

NAT Instance

 

 

사용자 지정(Customization)

NAT 인스턴스는 네트워크 주소 변환을 수행하도록 구성된 Amazon EC2 인스턴스이다. 이를 통해 NAT 게이트웨이에 비해 트래픽 라우팅 및 인스턴스 구성에 대한 더 많은 사용자 지정 및 제어가 가능하다.

 

추가 기능(Additional features)

인스턴스에서 추가 서비스를 실행하거나 사용자 지정 라우팅 규칙 또는 보안 그룹 규칙을 구현하는 등 NAT 게이트웨이에서 지원하지 않는 특정 요구 사항이 있는 경우 NAT 인스턴스를 사용할 수 있다.

 

비용 고려 사항(Cost considerations)

경우에 따라 인스턴스 유형과 처리되는 데이터 양에 따라 NAT 인스턴스를 실행하는 것이 NAT 게이트웨이를 사용하는 것보다 비용 효율적일 수 있다.

 

 

NAT 인스턴스를 사용 사례

  • 트래픽 라우팅 또는 인스턴스 구성에 대한 더 많은 제어 및 사용자 지정이 필요하다.
  • NAT Gateway에서 지원하지 않는 추가 기능이 필요하다.
  • 비용은 의사 결정 프로세스에서 중요한 요소이며 NAT 인스턴스를 실행하는 것이 특정 시나리오에서 더 비용 효율적이다.

 

일반적으로 NAT 게이트웨이는 관리 특성, 고가용성, 확장성 및 사용 편의성으로 인해 대부분의 사용 사례에서 선호되는 옵션이다. 그러나 더 많은 제어와 사용자 지정이 필요하거나 NAT 게이트웨이가 특정 요구 사항을 충족하지 못하는 경우에는 NAT 인스턴스가 더 나은 선택일 수 있다.

 

주의할점!

NAT Instance를 만들기 위해선 NAT용 AMI를 가지고 인스턴스를 만들어야 한다.

 


AWS VPC Transit Gateway / VPC Peering

Amazon VPC Transit Gateway와 VPC Peering은 AWS에서 VPC를 연결하기 위한 서로 다른 두 가지 메커니즘이다. VPC 간의 통신을 활성화하여 서로 다른 VPC의 리소스가 서로 상호 작용할 수 있도록 한다.

 

 


 

AWS VPC Transit Gateway

https://docs.aws.amazon.com/ko_kr/vpc/latest/tgw/how-transit-gateways-work.html

 

VPC Transit Gateway는 여러 VPC와 온프레미스 네트워크를 연결하는 프로세스를 간소화하는 네트워크 전송 허브 역할을 하는 관리형 서비스이다. 개별 VPC 간에 여러 피어링 연결을 만드는 대신 연결을 관리하는 단일 게이트웨이를 제공하여 네트워크 아키텍처를 단순화한다.

 

VPC Transit Gateway 사용 사례

 

여러 VPC 연결(Connecting multiple VPCs)

서로 통신해야 하는 VPC가 많은 경우 VPC Transit Gateway는 프로세스를 단순화하고 여러 피어링 연결 관리의 복잡성을 줄인다.

 

하이브리드 클라우드 환경(Hybrid cloud environments)

VPC Transit Gateway는 온프레미스 네트워크를 AWS VPC에 연결하는 데 사용할 수 있으므로 클라우드와 온프레미스 리소스 간의 원활한 통신이 가능하다.

 

중앙 집중식 라우팅 및 보안 정책(Centralized routing and security policies)

VPC Transit Gateway를 사용하면 여러 VPC에서 라우팅 및 보안 정책을 중앙 집중화하여 네트워크 인프라 관리를 간소화할 수 있다.

 


 

AWS VPC Peering

https://docs.aws.amazon.com/ko_kr/vpc/latest/peering/peering-configurations-full-access.html

 

 

VPC Peering은 두 VPC 간에 직접 비공개 연결을 생성할 수 있는 메커니즘이다. 각 VPC의 리소스가 마치 동일한 네트워크에 있는 것처럼 프라이빗 IP 주소를 사용하여 통신할 수 있다.

VPC Peering 연결은 동일한 AWS 계정에 있는 VPC 간에 또는 서로 다른 계정에 걸쳐 설정될 수 있으며 심지어 서로 다른 지역에 있는 VPC 간에도 설정될 수 있다(지역 간 피어링이라고 함).

 

VPC Peering 사용 사례

 

소수의 VPC 연결(Connecting a few VPCs)

통신해야 하는 VPC 수가 적은 경우 VPC 피어링이 간단하고 효율적인 솔루션이 될 수 있다.

 

지연 시간이 짧은 통신(Low-latency communication)

VPC 피어링은 특정 사용 사례에서 지연 시간을 최소화하는 데 도움이 되는 VPC 간의 직접 연결을 제공한다.

 

격리된 연결(Isolated connections)

중앙 허브를 통해 라우팅하지 않고 특정 VPC 간에 격리된 연결을 설정해야 하는 경우 VPC 피어링이 적합한 옵션이다.

 

 

 

VPC Transit Gateway와 VPC Peering은 모두 AWS에서 VPC를 연결하는 데 사용된다. 여러 VPC, 하이브리드 클라우드 환경, 중앙 집중식 라우팅 및 보안 정책과 관련된 시나리오에 사용된다. 반대로 VPC Peering은 더 적은 수의 VPC, 짧은 대기 시간 통신 또는 특정 VPC 간의 격리된 연결과 관련된 단순한 사용 사례에 사용된다. 이 두 옵션 중에서 선택하는 것은 특정 요구 사항과 네트워크 아키텍처에 따라 다르다.


AWS Dircet Connect  / Client VPN / Site-to-Site VPN

 


AWS Dircet Connect 

 

AWS Direct Connect Gateway는 AWS Direct Connect를 통해 온프레미스 네트워크를 Amazon Virtual Private Cloud(VPC) 및 온프레미스 네트워크에 연결할 수 있게 해주는 서비스이다. 퍼블릭 인터넷을 우회하여 데이터 센터 또는 온프레미스 네트워크와 AWS 간에 전용 프라이빗 네트워크 연결을 제공한다. 그 결과 대기 시간이 감소하고 대역폭이 증가하며 보안이 향상된다.

 


 

 

AWS Direct Connect의 주요 기능

 

  • 전용 연결(Dedicated connection)
    • Direct Connect는 온프레미스 인프라와 AWS 간에 프라이빗 및 전용 네트워크 연결을 설정하여 퍼블릭 인터넷을 사용할 때보다 더 나은 성능과 보안을 제공한다.

 

  • 대기 시간 감소(Reduced latency)
    • Direct Connect는 온프레미스 네트워크와 AWS 간의 직접 경로를 제공함으로써 일반적으로 인터넷 기반 연결에 비해 대기 시간이 짧아 애플리케이션 및 서비스의 성능을 향상시킬 수 있다.

 

  • 대역폭 증가(Increased bandwidth)
    • Direct Connect는 고대역폭 연결을 지원하므로 온프레미스 인프라와 AWS 간에 대량의 데이터를 빠르고 효율적으로 전송할 수 있다.

 

  • 일관된 네트워크 성능(Consistent network performance)
    • 전용 연결을 사용하면 공용 인터넷에서 자주 발생하는 변동 및 혼잡을 피하면서 보다 예측 가능한 네트워크 성능을 경험할 수 있다.

 

  • 강화된 보안(Enhanced security)
    • Direct Connect는 온프레미스 네트워크와 AWS 간의 프라이빗 연결을 제공하여 퍼블릭 인터넷에서 잠재적인 보안 위협에 대한 데이터 노출을 줄인다.

 

  • 비용 절감(Cost savings)
    • 데이터 전송 패턴에 따라 Direct Connect를 사용하면 데이터 전송 비용을 줄이는 데 도움이 될 수 있다. 특히 대용량 데이터 전송 또는 데이터 송신이 많은 애플리케이션의 경우 더욱 그렇다.

 

AWS Direct Connect를 시작하려면 네트워크와 AWS Direct Connect 위치 중 하나 사이에 연결을 설정해야 한다. AWS 파트너 네트워크의 파트너와 협력하거나 네트워크 서비스 공급자를 통해 네트워크를 AWS Direct Connect 위치로 확장하면 된다. 연결이 설정되면 가상 인터페이스를 생성하고 이를 Amazon VPC 또는 Amazon S3와 같은 AWS 서비스에 연결할 수 있다.

 

요약하면 AWS Direct Connect는 온프레미스 인프라와 AWS 간에 전용 프라이빗 연결을 제공하는 네트워크 서비스로, 기존 인터넷 연결에 비해 대기 시간 감소, 대역폭 증가 및 보안 향상을 제공한다.

 


 

AWS Client VPN

AWS Client VPN은 사용자가 OpenVPN 기반 클라이언트를 사용하여 모든 위치에서 AWS 및 온프레미스 네트워크에 안전하게 액세스할 수 있게 해주는 관리형 서비스입니다. 주로 리소스에 연결해야 하는 원격 사용자 또는 개별 장치를 위해 설계되었습니다.

 


 

AWS Client VPN 주요 기능

  • 원격 액세스
    • 개별 사용자 또는 장치가 인터넷을 통해 안전하게 네트워크 리소스에 액세스할 수 있다.

 

  • 보안
    • 보안 TLS 기반 VPN 연결을 사용하며 기존 인증 및 권한 부여 시스템과 통합할 수 있다.

 

  • 확장성
    • 연결 수에 따라 자동으로 확장되므로 다양한 규모의 조직에 적합하다.

 

  • 사용 사례
    • 다른 위치에서 네트워크 리소스에 안전하게 액세스해야 하는 원격 작업자 또는 사용자가 있는 조직에 적합하다.

 

AWS Site-to-Site VPN

AWS Site-to-Site VPN은 퍼블릭 인터넷을 통해 온프레미스 네트워크를 Amazon VPC에 안전하게 연결할 수 있는 서비스이다. 온프레미스 네트워크와 VPC 사이에 암호화된 터널을 설정하여 데이터에 대한 보안 연결을 제공한다.

 


 

AWS Site-to-Site VPN 주요 기능

 

  • 암호화된 연결
    • IPsec VPN 터널을 사용하여 온프레미스 네트워크와 VPC 간에 보안 연결을 생성한다.

 

  • 중복성
    • 고가용성 및 장애 조치를 위해 여러 VPN 연결을 지원한다.

 

  • 통합
    • 라우터 및 VPN 장치와 같은 기존 네트워크 인프라와 원활하게 통합됩니다.

 

  • 사용 사례
    • 전용 네트워크 회선을 사용하지 않고 온프레미스 데이터 센터와 VPC 간에 보안 연결을 설정하려는 조직에 적합합니다.

 

 

 

 

Reference

 

Virtual Private Cloud(VPC)

 

Amazon VPC란 무엇인가?

 

AWS PPT 아키텍처 아이콘

 

NAT Gateway vs NAT Instance

 

AWS EIP

 

Transit Gateway

 

Direct Connect 게이트웨이에 Transit Gateway 연결

 

참고한 블로그

https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-NAT-Gateway-NAT-Instance-%EB%8C%80%EC%B2%B4%ED%95%B4%EC%84%9C-%EB%B9%84%EC%9A%A9-%EC%A0%88%EC%95%BD

 

728x90
반응형

'AWS' 카테고리의 다른 글

AWS Assume Role이란?  (0) 2024.11.04
AWS IRSA(IAM Roles for Service Accounts)란?  (0) 2023.05.28
AWS Cloudfront란? / Canary 및 Blue-Green 배포  (0) 2023.04.03
AWS Secrets Manager란?(OAuth, SSO)  (0) 2023.04.01
AWS CLI 정리  (0) 2023.03.31