IMDS 란

인스턴스 메타데이터(IMDS)는 실행 중인 인스턴스를 구성 또는 관리하는 데 사용될 수 있는 인스턴스 관련 데이터입니다. 인스턴스 메타데이터는 예를 들어 호스트 이름, 이벤트 및 보안 그룹과 같은 범주로 분류됩니다. 인스턴스 메타데이터를 사용하여 인스턴스를 시작할 때 지정한 사용자 데이터에도 액세스할 수 있습니다. 예를 들어, 인스턴스를 구성하기 위한 파라미터를 지정하거나 단순 스크립트를 포함시킬 수 있습니다.

 

IMDS 버전

  • 인스턴스 메타데이터 서비스 버전 1(IMDSv1) – 요청/응답 방법
  • 인스턴스 메타데이터 서비스 버전 2(IMDSv2) – 세션 지향 방법

 

IMDSv2 설정 방법

새 AMI를 등록하거나 기존 AMI를 수정할 때 imds-support 파라미터를 v2.0로 설정할 수 있습니다. 이 AMI에서 시작된 인스턴스의 Metadata version(메타데이터 버전)은 V2 only (token required)(V2 전용(토큰 필요))(콘솔)로 설정되거나 HttpTokens는 required(AWS CLI)로 설정됩니다. 이러한 설정을 사용하면 인스턴스에서 인스턴스 메타데이터를 요청할 때 IMDSv2를 사용하도록 지정됩니다. imds-support를 v2.0으로 설정하면 이 AMI에서 시작된 인스턴스의 Metadata response hop limit(메타데이터 응답 홉 제한)(콘솔) 또는 http-put-response-hop-limit(AWS CLI)도 2로 설정됩니다.

 

IMDSv2 설정 방법 공식 문서

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html

 

새 인스턴스에 대한 인스턴스 메타데이터 옵션 구성 - Amazon Elastic Compute Cloud

AMI 소프트웨어가 IMDSv2를 지원하지 않는 한 이 파라미터를 사용하지 마세요. 값을 v2.0으로 설정한 후에는 이를 실행 취소할 수 없습니다. AMI를 “재설정”하는 유일한 방법은 기본 스냅샷에 새 AM

docs.aws.amazon.com

 

IMDSv2 상세 내용 및 설명 영상

https://aws.amazon.com/ko/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/

 

 

Add defense in depth against open firewalls, reverse proxies, and SSRF vulnerabilities with enhancements to the EC2 Instance Met

July 27, 2021: We’ve updated the link to the 2019 re:Invent session on this topic. Since it first launched over 10 years ago, the Amazon EC2 Instance Metadata Service (IMDS) has helped customers build secure and scalable applications. The IMDS solved a b

aws.amazon.com

https://www.youtube.com/watch?v=2B5bhZzayjI 

 

AWS LB 에는 클라이언트 IP 보존을 위한 옵션이 있다. 단 이 옵션을 EKS 환경에서 이해없이 사용 시 일부 트래픽이 응답을 받지 못하는 현상이 발생한다. 이에대해 알아보자

 

1) 클라이언트 IP 보존 기능이 비활성화 되었을 때 통신의 흐름
- 기본적으로 클라이언트 IP 보존 기능이 비활성화 되면 NLB 는 출발지의 IP 주소를 NLB 의 내부 IP 주소로 재기록하여 타겟과 통신을 하게 됩니다.(NLB 의 IP로 대상을 찾음)
다만, NLB 의 타겟이 다시 타겟의 NLB 를 재귀적으로 호출 (예> POD -> NLB -> POD) 하는 구조일때, 클라이언트 IP 보존 기능이 활성화 되어 있을 경우 타겟인 POD 는 자신의 IP 주소가 목적지인 패킷을 전달받을 수 있으며 (여러 타겟들이 있을 경우), 이러한 패킷에 대해서는 Timeout 이 발생할 수 있음
따라서 위와 같은 상황에서는 간헐적으로 통신이 실패하는 상황이 발생할 수 있으며, 위와 같은 아키텍처에서는 클라이언트 IP 주소 보존 기능을 비활성화 권장

2) 해당 기능이 활성화 되어있을 때 통신의 흐름 (예> 포트/IP 가 변경되는지 등)
- 기본적으로 해당 기능이 활성화 되어 있을때는 포트, IP 주소가 재기록 되지 않음
- 다만, 헤어핀 (응답 패킷이 타겟에서 NLB 를 거치지 않고 클라이언트로 직접 전달) 기능은 지원하지 않으며, 다시 NLB 를 거쳐 NLB 가 클라이언트에게 직접 응답하도록 구성되어 있습니다.
- 즉, 이러한 경우 응답 패킷이 정상적으로 돌아가지 않는 것은 아니며, 출발지/목적지 IP 주소가 변경되지 않아도 NLB 의 내부동작에 의해 NLB 를 거쳐 클라이언트로 응답 패킷이 반환됨

 

요약하자면, EKS 에서 서비스를 사용할 경우, POD 가 NLB를 통해 POD를 재호출 하는경우 트래픽이 정상적으로 흐르지 않으며, 일부 트래픽에서 TIME OUT 이 발생 한다. 따라서, EKS 에서 서비스를 할 경우에는 SVC 옵션에 어논테이션을 추가하여 Client IP 보존 옵션을 OFF 하도록 하자 (LB 컨트롤러 필요)

 

https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/network/load-balancer-target-groups.html#client-ip-preservation

 

Network Load Balancer 대상 그룹 - Elastic Load Balancing

Network Load Balancer 대상 그룹 각 대상 그룹은 하나 이상의 등록된 대상에 요청을 라우팅하는 데 사용됩니다. 리스너를 생성할 때 기본 작업에 대한 대상 그룹을 지정합니다. 트래픽은 리스너 규칙

docs.aws.amazon.com

 

'AWS' 카테고리의 다른 글

AWS 특정 VPC, IP S3 버킷 허용 하는 방법  (0) 2023.07.11
AWS EC2 Instance Metadata(IMDS)  (0) 2023.07.10
EKS Config Update  (0) 2023.07.08
Multi Region Endpoint Sharing  (0) 2023.06.15
AWS EKS efs-csi-driver install  (0) 2023.06.07

aws eks update-kubeconfig --region region-code --name my-cluster

https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/create-kubeconfig.html

'AWS' 카테고리의 다른 글

AWS EC2 Instance Metadata(IMDS)  (0) 2023.07.10
AWS EKS SVC 로 NLB 사용 시 Time out 발생 현상  (1) 2023.07.09
Multi Region Endpoint Sharing  (0) 2023.06.15
AWS EKS efs-csi-driver install  (0) 2023.06.07
AWS Multi Region Network 구성  (0) 2023.06.07

AWS VPC 환경에서 안전한 인터넷 연결을 위해서는 NAT 를 사용 하여야 한다. 이때 선택 할 수 있는 옵션이 NAT GW 와 NAT 인스턴스가 있다. 

 

NAT GW

  • 퍼블릭 - 프라이빗 서브넷의 인스턴스는 퍼블릭 NAT 게이트웨이를 통해 인터넷에 연결할 수 있지만 인터넷에서 원치 않는 인바운드 연결을 수신할 수 없습니다. 퍼블릭 서브넷에서 퍼블릭 NAT 게이트웨이를 생성하고 생성 시 탄력적 IP 주소를 NAT 게이트웨이와 연결해야 합니다. 트래픽을 NAT 게이트웨이에서 VPC용 인터넷 게이트웨이로 라우팅합니다.
  • 프라이빗- 프라이빗 서브넷의 인스턴스는 프라이빗 NAT 게이트웨이를 통해 다른 VPC 또는 온프레미스 네트워크에 연결할 수 있습니다. 트래픽을 NAT 게이트웨이에서 Transit Gateway 또는 가상 프라이빗 게이트웨이를 통해 트래픽을 라우팅할 수 있습니다. 탄력적 IP 주소를 프라이빗 NAT 게이트웨이에 연결할 수 없습니다. 프라이빗 NAT 게이트웨이를 사용하여 VPC에 인터넷 게이트웨이를 연결할 수 있지만 프라이빗 NAT 게이트웨이에서 인터넷 게이트웨이로 트래픽을 라우팅하는 경우 인터넷 게이트웨이가 트래픽을 삭제합니다.

특이사항(NAT Instance는 반대)

NAT 게이트웨이는 고가용성 또는 탄력성을 제공합니다.

NAT 게이트웨이는 최대 45Gbps까지 원활하게 확장됩니다.

NAT 게이트웨이는 AWS에서 관리하는 매니지드 서비스 입니다.

NAT 게이트웨이는 보안그룹이 없습니다.

NAT 게이트웨이는 포트포워딩을 지원하지 않습니다.

 

 

NAT Instance

네트워크 주소 변환을 제공하는 고유한 AMI를 생성하고 자신의 AMI를 사용하여 EC2 인스턴스를 NAT 인스턴스로 시작할 수 있습니다. 퍼블릭 서브넷에 있는 NAT 인스턴스를 시작하여 프라이빗 서브넷에 있는 인스턴스가 인터넷 또는 다른 AWS 서비스로의 아웃바운드 IPv4 트래픽을 시작하되, 인터넷에서 시작된 인바운드 트래픽은 인스턴스가 수신하지 못하게 막을 수 있습니다.

 

'AWS > ANS' 카테고리의 다른 글

AWS TGW Appliance  (0) 2023.07.16
AWS Service Catalog  (0) 2023.07.11
AWS ANS (Network) - DX Type  (0) 2023.06.27
AWS ANS (Network) - DX, VGW, VIF  (0) 2023.06.26
AWS ANS (Network) - ALB, NLB Source IP Logging  (0) 2023.06.25

DX 에는 다음과 같은 두 가지 유형의 DX 연결 타입을 설정 할 수 있습니다.

 

1. 전용 연결: 단일 고객과 연결된 물리적 이더넷 연결입니다. 고객은AWS Direct Connect 콘솔, CLI 또는 API를 통해 전용 연결을 요청할 수 있습니다. 

 - 가능한 포트 속도는 1Gbps, 10Gbps 및 100Gbps입니다. 

 - 생성한 후에는 속도 변경이 불가능하며 변경필요 시 재생성 해야 합니다

 

2. 호스팅된 연결:AWS Direct Connect 파트너가 고객을 대신하여 제공하는 물리적 이더넷 연결입니다. 고객은 파트너 프로그램의 파트너에게 연락하여 호스팅된 연결을 요청합니다.AWS Direct Connect 파트너는 연결을 제공합니다.

 - 가능한 포트 속도는 가능한 값은 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps 및 10Gbps입니다

 - 특정 요구 사항을 충족하는AWS Direct Connect 파트너만 1Gbps, 2Gbps, 5Gbps 또는 10Gbps 호스팅 연결을 만들 수 있습니다.

 - AWS는 호스팅 연결에서 트래픽 정책을 사용합니다. 즉, 트래픽 속도가 구성된 최대 속도에 도달하면 초과 트래픽이 삭제됩니다. 이로 인해 급증하는 트래픽의 처리량이 급증하지 않는 트래픽보다 낮을 수 있습니다.

https://docs.aws.amazon.com/ko_kr/directconnect/latest/UserGuide/WorkingWithConnections.html

 

AWS Direct Connect 연결 - AWS Direct Connect

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

'AWS > ANS' 카테고리의 다른 글

AWS Service Catalog  (0) 2023.07.11
AWS ANS (Network) - NAT GW vs NAT Instance  (0) 2023.06.29
AWS ANS (Network) - DX, VGW, VIF  (0) 2023.06.26
AWS ANS (Network) - ALB, NLB Source IP Logging  (0) 2023.06.25
AWS ANS (Network) - DHCP  (0) 2023.06.25

+ Recent posts