ALB에 대한 CloudFront 트래픽만 허용하는 방법
소개
작년에 우리는 웹 사이트의 일부를 한 CDN 공급자에서 AWS CloudFront로 마이그레이션했습니다. 마이그레이션을 검토할 때 제기된 첫 번째 질문 중 하나는 CloudFront에 대해 지속적으로 변경되는 모든 IP 범위를 추가하는 방법이었습니다. CloudFront는 150개가 넘는 IP 범위를 가지고 있는 반면, 기존 CDN 공급자는 거의 변경되지 않은 약 20개에 불과했습니다. 이것은 CloudFormation 템플릿에서 최신 상태를 유지하기 위해 관리할 수 있었습니다.
2022년 이전 솔루션
2021년 중반 AWS의 suggested solution은 SNS 주제별로 Lambda 함수를 트리거하는 것이었습니다.
그런 다음 Lambda 함수는 CloudFront IP 범위로 보안 그룹을 다운로드ip-ranges.json하고 업데이트합니다.
이 솔루션은 여전히 작동하며 Application Load Balancer에 대한 퍼블릭 액세스를 제공하지 않고도 CloudFront로 마이그레이션할 수 있습니다.
2022 솔루션
AWS는 이미 S3 및 DynamoDB에 대한 관리형 접두사 목록을 가지고 있었으므로 그들이 발표했을 때AWS-managed prefix list for Amazon CloudFront 이것이 ALB를 단순화하는 쉬운 방법이라는 것을 알았습니다.
보안 그룹에 다른 CIDR 블록 범위를 추가하는 것처럼 접두사 목록을 추가합니다.
접두사 목록 ID는 지역마다 고유합니다. 아일랜드의 경우 접두사 목록 ID는 pl-4fa04526입니다.
CloudFormation을 사용하고 있다면 템플릿 파일에서 새로운 CloudFront 접두사를 활용할 수 있습니다.
CloudFormation 템플릿
아래에 샘플 CloudFormation 템플릿을 생성했습니다.
Description: Security Group with access from CloudFront
Mappings:
region:
'us-east-1':
PrefixListCloudFront: 'pl-3b927c52'
'us-east-2':
PrefixListCloudFront: 'pl-b6a144df'
'us-west-1':
PrefixListCloudFront: 'pl-4ea04527'
'us-west-2':
PrefixListCloudFront: 'pl-82a045eb'
'af-south-1':
PrefixListCloudFront: 'pl-c0aa4fa9'
'ap-east-1':
PrefixListCloudFront: 'pl-14b2577d'
'ap-south-1':
PrefixListCloudFront: 'pl-9aa247f3'
'ap-northeast-2':
PrefixListCloudFront: 'pl-22a6434b'
'ap-southeast-1':
PrefixListCloudFront: 'pl-31a34658'
'ap-southeast-2':
PrefixListCloudFront: 'pl-b8a742d1'
'ap-northeast-1':
PrefixListCloudFront: 'pl-58a04531'
'ca-central-1':
PrefixListCloudFront: 'pl-38a64351'
'eu-central-1':
PrefixListCloudFront: 'pl-a3a144ca'
'eu-west-1':
PrefixListCloudFront: 'pl-4fa04526'
'eu-west-2':
PrefixListCloudFront: 'pl-93a247fa'
'eu-south-1':
PrefixListCloudFront: 'pl-1bbc5972'
'eu-west-3':
PrefixListCloudFront: 'pl-75b1541c'
'eu-north-1':
PrefixListCloudFront: 'pl-fab65393'
'me-south-1':
PrefixListCloudFront: 'pl-17b2577e'
'sa-east-1':
PrefixListCloudFront: 'pl-5da64334'
Resources:
LoadBalancerSG:
Type: AWS::EC2::SecurityGroup
Properties:
GroupName: "lb-sg"
GroupDescription: "Load balancer"
VpcId: "vpc-088e128e80fe96e6e"
Tags:
- Key: Name
Value: Load Balancer SG
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 443
ToPort: 443
SourcePrefixListId: !FindInMap [region, !Ref 'AWS::Region', PrefixListCloudFront]
Description: HTTPS from CloudFront
Reference
이 문제에 관하여(ALB에 대한 CloudFront 트래픽만 허용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kaspersfranz/limit-traffic-to-only-cloudfront-traffic-in-aws-alb-3c6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)