AWS-(11)

지훈·2024년 4월 2일
0

AWS

목록 보기
11/12

🏠 IP Address in AWS

AWS에서의 IP 주소에 대해 알아보겠습니다. IPv4 프로토콜은 대부분 익숙한 43억 개의 주소 체계입니다. 공개 IPv4는 인터넷에서 사용될 수 있는 IP 주소로, 어디서나 공개적으로 접근할 수 있습니다. 예를 들어, EC2 인스턴스를 생성하면 공개 IPv4가 부여되지만 인스턴스를 중지하면 해당 IPv4는 해제되고, 다시 시작할 때 새로운 공개 IP 주소를 받게 됩니다.

또한, AWS 내부 VPC와 같은 사설 네트워크에서만 사용할 수 있는 사설 IPv4도 있습니다. 이는 공개적으로 접근할 수 없습니다. 사설 IPv4는 EC2 인스턴스의 전체 수명 동안 동일하게 유지됩니다.

AWS에서는 고정된 공개 IPv4 주소를 EC2 인스턴스에 제공하는 탄력적 IP도 제공합니다. 인스턴스를 중지하고 다시 시작해도 동일한 공개 IPv4를 유지할 수 있지만, 인스턴스가 오랫동안 중지되어 있으면 탄력적 IP가 무용지물이 됩니다.

공개 IPv4 사용에 대해서는 AWS에서 시간당 $0.005를 청구합니다. 이는 탄력적 IP와 일반 공개 IPv4 모두에 적용됩니다. AWS 무료 티어에서는 월 750시간의 공개 IP 사용이 제공됩니다.

AWS는 공개 IPv4 대신 IPv6 사용을 권장합니다. IPv6는 더 많은 주소를 제공하며, AWS에서는 모든 IPv6 주소가 공개적이며 무료입니다. 따라서 인터넷에서 무료로 서비스를 제공하고 싶다면 IPv6를 사용해야 합니다.

🌃VPC & Subnets Primer

VPC (가상 사설 클라우드): VPC는 AWS 클라우드 내에서 리소스(예: EC2 인스턴스)를 배포하기 위해 설계된 사설 네트워크입니다. AWS 클라우드의 다른 가상 네트워크로부터 격리되어 있으며 특정 AWS 리전에 연결됩니다.

서브넷: VPC 내에서, VPC의 IP 주소 범위를 세그먼트로 나눈 서브넷을 생성할 수 있습니다. 이 서브넷은 VPC의 일부이며 특정 가용성 영역(AZ)에 연결됩니다.

공개 서브넷: 인터넷에서 직접 액세스할 수 있는 특별한 서브넷입니다. 이를 통해 인터넷은 공개 서브넷에 직접 연결할 수 있습니다.

사설 서브넷: 인터넷에서 직접 액세스할 수 없는 서브넷입니다. 데이터베이스와 같이 인터넷 액세스가 필요하지 않은 리소스를 보호하기 위해 사용됩니다.

라우트 테이블: 서브넷 간의 통신 및 인터넷 액세스를 정의하기 위해 라우트 테이블을 사용합니다.

인터넷 게이트웨이: 공개 서브넷 내의 인스턴스가 인터넷에 액세스할 수 있도록 하는 데 필요합니다.

NAT 게이트웨이/인스턴스: 사설 서브넷의 인스턴스가 인터넷에 액세스할 수 있도록 하면서도 사설로 유지되게 하는 기능입니다.

기본 VPC: AWS 계정을 생성할 때 자동으로 생성되는 VPC입니다. 이 기본 VPC에는 이미 하나의 VPC, 세 개의 서브넷, 하나의 라우트 테이블, 그리고 하나의 인터넷 게이트웨이가 포함되어 있습니다.

🖼️ Network Security within our VPC

네트워크 보안과 관련하여 VPC 내에서 주로 Network ACL과 보안 그룹을 사용합니다.

  • Network ACL (네트워크 액세스 제어 목록): 서브넷 수준에서 작동하는 방화벽으로, 서브넷으로 들어오고 나가는 트래픽을 제어합니다. Network ACL은 허용(Allow) 또는 거부(Deny) 규칙을 정의하여 서브넷에 연결할 수 있으며, 규칙에는 IP 주소만 포함될 수 있습니다. 따라서 EC2 인스턴스로 도달하기 전에 서브넷 내외부의 트래픽을 필터링하는 첫 번째 방어선 역할을 합니다.

  • 보안 그룹: EC2 인스턴스 또는 네트워크 인터페이스로 들어오고 나가는 트래픽을 제어하는 방화벽입니다. 보안 그룹은 오직 허용(Allow) 규칙만을 가지며, IP 주소와 다른 보안 그룹을 참조할 수 있습니다. 보안 그룹은 EC2 인스턴스 수준에서 작동하며, 들어오고 나가는 트래픽을 제어하는 두 번째 방어선입니다.

주요 차이점

  • 보안 그룹은 인스턴스 수준에서 작동하며, Network ACL은 서브넷 수준에서 작동합니다.
  • 보안 그룹은 오직 허용 규칙만 지원하는 반면, Network ACL은 허용 및 거부 규칙을 모두 지원합니다.
  • 보안 그룹에서는 반환 트래픽이 규칙에 관계없이 자동으로 허용되는 반면(상태 유지), Network ACL에서는 반환 트래픽을 명시적으로 허용해야 합니다(상태 비저장).

🪵VPC Flow logs

기본 VPC 보안 설정

기본 VPC에서는 기본 보안 그룹과 Network ACL이 모두 설정되어 있으며, 이는 기본적으로 모든 트래픽을 허용합니다. 사용자는 필요에 따라 규칙을 추가하여 트래픽을 제한할 수 있습니다.

VPC 플로우 로그

VPC 플로우 로그는 VPC 내의 인터페이스를 통해 이루어지는 모든 IP 트래픽에 대한 기록입니다. 이를 통해 EC2 인스턴스나 다른 AWS 서비스(예: Elastic Load Balancers, ElastiCache, RDS, Aurora 등)로 들어오고 나가는 트래픽을 모니터링할 수 있습니다. 플로우 로그를 활성화하면 연결 문제를 모니터링하고 문제 해결을 할 수 있으며, 로그는 S3, CloudWatch Logs, Kinesis Data Firehose로 전송될 수 있습니다.

VPC 피어링

VPC 피어링은 AWS 네트워크를 사용하여 VPC끼리 비공개로 연결하고, 마치 같은 네트워크의 일부인 것처럼 동작하게 만드는 기능입니다. 이를 통해 서로 다른 VPC 내의 리소스가 상호 작용할 수 있습니다. 단, VPC 피어링을 설정할 때 IP 주소 범위가 중복되지 않도록 주의해야 하며, VPC 피어링 연결은 비전이적입니다. 즉, VPC A와 VPC B가 피어링되어 있고, VPC A와 VPC C가 피어링된 경우에도 VPC B와 VPC C는 서로 통신할 수 없습니다. B와 C 간의 통신을 원한다면 별도로 VPC B와 C 사이에 피어링 연결을 설정해야 합니다.

AWS 콘솔에서 VPC 플로우 로그를 생성하거나 VPC 피어링 연결을 설정하는 방법에 대한 안내가 포함되어 있으며, 이는 AWS 인프라를 모니터링하고 관리하는 데 있어 중요한 도구입니다.

🔚VPC ENDPOINT

VPC 엔드포인트를 사용하면 공개 인터넷 네트워크 대신 AWS의 사설 네트워크를 통해 AWS 서비스에 비공개로 연결할 수 있으며, 이는 보안 강화와 지연 시간 감소의 이점을 제공합니다.

  • 게이트웨이 엔드포인트

    Amazon S3와 DynamoDB 서비스에만 사용됩니다. 예를 들어, 사설 서브넷 내의 EC2 인스턴스가 이 게이트웨이 엔드포인트를 통해 Amazon S3나 DynamoDB에 비공개로 연결할 수 있습니다.

  • 인터페이스 엔드포인트

    Amazon S3와 DynamoDB를 제외한 나머지 AWS 서비스에 연결할 때 사용됩니다. 예를 들어, EC2 인스턴스에서 CloudWatch 서비스에 사용자 지정 메트릭을 푸시할 때 이 인터페이스 엔드포인트를 사용합니다.

VPC 엔드포인트는 AWS 서비스에 대한 사설 연결을 설정하여 공개 인터넷을 통한 노출을 줄이고 통신을 보다 안전하게 만드는 중요한 기능입니다.

🔐AWS PrivateLink

AWS PrivateLink는 AWS VPC 엔드포인트 서비스 가족의 일부로, AWS 내부에서 실행되는 서비스나 AWS 마켓플레이스의 벤더가 제공하는 서비스를 AWS 사용자의 VPC와 직접적이고 개인적으로 연결할 수 있게 해줍니다. 이 방법은 VPC 피어링, 인터넷 게이트웨이, NAT, 라우트 테이블 등을 사용하지 않아도 되기 때문에, 더 안전하고 확장성이 뛰어난 솔루션을 제공합니다.

작동 방식

  • 서비스 제공자: AWS 마켓플레이스의 벤더나 AWS 내부에서 서비스를 운영하는 경우, 자신의 VPC 내에서 네트워크 로드 밸런서(Network Load Balancer)를 통해 서비스를 노출시킵니다.
  • 서비스 소비자: 다른 VPC를 소유한 AWS 사용자는 엘라스틱 네트워크 인터페이스(Elastic Network Interface, ENI)를 생성하고, 서비스 제공자의 네트워크 로드 밸런서로의 개인적인 접근을 위해 PrivateLink를 설정합니다.

장점

  • 보안성 향상: 모든 통신이 AWS의 프라이빗 네트워크를 통해 이루어지므로, 공용 인터넷을 통한 노출 없이 서비스에 접근할 수 있습니다.
  • 확장성: PrivateLink는 VPC 피어링과 달리, 수천 개의 VPC에 대한 프라이빗 액세스를 용이하게 관리하고 확장할 수 있습니다.
  • 간편한 관리: 각각의 새로운 고객이나 사용자를 위해 새로운 PrivateLink를 쉽게 생성하여 관리할 수 있습니다.

사용 사례

  • 서비스 연결: AWS 마켓플레이스의 SaaS 제품이나 다른 AWS 사용자가 제공하는 서비스를 자신의 VPC에서 안전하게 사용하고자 할 때 유용합니다.
  • 데이터 보안 유지: 데이터를 AWS의 프라이빗 네트워크 내에서만 전송하고 싶은 기업에 적합합니다.

AWS PrivateLink는 기업이 자신의 VPC 내에서 또는 타사 서비스에 안전하고 프라이빗하게 접근할 수 있는 효율적인 방법을 제공합니다. 이는 특히 보안과 데이터 프라이버시가 중요한 애플리케이션에 적합한 솔루션입니다.

🪪Site to Site VPN & Direct Connect

하이브리드 클라우드 환경에서는 온프레미스 데이터 센터를 AWS의 가상 사설 클라우드(VPC)와 연결해야 할 때가 있습니다. 이를 위한 두 가지 주요 옵션이 있습니다: 사이트 간 VPN(Site-to-Site VPN)과 AWS Direct Connect.

site to site VPN

정의: 온프레미스 데이터 센터와 AWS VPC 사이의 암호화된 연결을 제공합니다. 이 연결은 공용 인터넷을 통해 이루어집니다.

장점: 몇 분 내에 빠르게 설정할 수 있습니다.

단점: 공용 인터넷을 통해 가기 때문에, 제한된 대역폭과 보안 문제가 있을 수 있습니다. 물론 통신은 암호화됩니다.

구현: 온프레미스에는 고객 게이트웨이(Customer Gateway, CGW)가, AWS 측에는 가상 사설 게이트웨이(Virtual Private Gateway, VGW)가 필요합니다.

AWS Direct Connect

정의: 온프레미스 데이터 센터와 AWS 사이에 물리적 연결을 설정하여, 프라이빗하고 보안이 강화된, 빠른 네트워크 연결을 제공합니다.

장점: 더 민감하고, 더 빠르며, 더 안정적인 연결을 제공합니다. 트래픽은 AWS의 프라이빗 네트워크를 통해 이루어집니다.

단점: 비용이 많이 들고, 설정하는데 최소 한 달이 걸립니다. 물리적 연결을 Direct Connect 파트너와 함께 구성해야 합니다.

선택 기준

  • 프라이버시 요구사항: 데이터가 프라이빗 네트워크를 통해 전송되어야 한다면, Direct Connect가 적합합니다.
  • 설치 속도: 빠르게 설정해야 한다면, 사이트 간 VPN이 좋은 선택입니다.

사이트 간 VPN은 온프레미스 데이터 센터와 AWS VPC 간의 신속한 연결을 제공하는 반면, AWS Direct Connect는 더 높은 수준의 보안, 안정성, 그리고 속도를 필요로 하는 상황에 적합한 솔루션입니다. 시험에서는 이 두 옵션 중 어떤 것을 선택해야 하는지에 대한 이해가 필요합니다.

AWS Client VPN

AWS Client VPN은 사용자가 자신의 컴퓨터에서 AWS 가상 사설 클라우드(VPC) 또는 온프레미스 네트워크에 사설로 연결할 수 있도록 하는 서비스입니다. OpenVPN을 사용하여 AWS의 사설 네트워크에 연결하는 방식으로 작동합니다.

이 서비스를 사용하려는 이유는 다양합니다. 예를 들어, 사설 VPC 내에 배포된 EC2 인스턴스에 사설 IP를 통해 접근하고자 할 때, VPN이 없다면 이는 어려울 수 있습니다. 하지만 Client VPN을 설정하면, 마치 VPC 네트워크 내부에 있는 것처럼 EC2 인스턴스에 사설 IP를 통해 접근할 수 있게 됩니다.
한 암호화로 보안을 유지할 수 있습니다.

구체적으로, 사용자의 컴퓨터에 Client VPN을 설치하고 인터넷을 통해 VPN 연결을 설정합니다. 이 연결은 공용 인터넷을 통해 이루어지지만, 사용자는 자신의 VPC에 사설로 연결된 것처럼 작업할 수 있습니다. 만약 해당 VPC가 온프레미스 데이터 센터와 사이트 간 VPN 연결을 구축하고 있다면, 사용자의 컴퓨터는 온프레미스 서버에도 사설로 접근할 수 있게 됩니다.

이런 방식으로 AWS Client VPN은 VPC 내 리소스나 온프레미스 데이터 센터에 안전하고 사설로 접근해야 하는 상황에서 유용한 솔루션을 제공합니다. 사용자는 공용 인터넷을 통해 데이터를 전송하더라도 VPN을 통한 암호화로 보안을 유지할 수 있습니다.

Transit Gateway

WS Transit Gateway는 복잡한 네트워크 구성을 단순화하는 서비스로, 수천 개의 VPC와 온프레미스 시스템을 하나의 중앙 집중식 허브를 통해 연결할 수 있습니다. 이는 허브 앤 스포크(Hub-and-Spoke) 혹은 별 모양(Star) 연결 방식으로 구현됩니다. Transit Gateway를 사용하면 VPC 간에 개별적으로 피어링을 설정할 필요 없이, 모든 Amazon VPC, Direct Connect 게이트웨이 및 VPN 연결을 단일 Transit Gateway를 통해 연결할 수 있습니다.

0개의 댓글

관련 채용 정보