CFN - 关于为Fargate任务访问添加S3端点到私有子网的建议。

0

【以下的问题经过翻译处理】 嗨,我一直在试图让这个工作,但却无法解决问题。

我有一个在2个私有子网中的ECS Fargate集群。有2个公共子网和Nat GWs(需要运行于Fargate中的任务) 。目前,我已经通过NatGW处理了S3流量,并希望实现"S3端点"以符合最佳实践。我已创建了CFN脚本来创建端点并关联安全组。所有资源都已经创建并且似乎正在工作。但是,从日志中我发现S3的流量仍然通过NatGW进行。 我有什么基本错误吗?是否有一种方法可以强制来自任务的流量到S3端点?

Fargate任务安全组的出站规则如下:

      SecurityGroupEgress:
        - IpProtocol: "-1"
          CidrIp: 0.0.0.0/0

以下是创建端点和安全组的脚本:

  endpointS3SecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: "Security group for S3 endpoint"
      GroupName: "S3-endpoint-sg"
      Tags:
        - Key: "Name"
          Value: "S3-endpoint-sg"
      VpcId: !Ref vpc
      SecurityGroupIngress:
        - IpProtocol: "tcp"
          FromPort: 443
          ToPort: 443
          SourceSecurityGroupId: !Ref fargateContainerSecurityGroup

  # S3 endpoint
  endpointS3:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      PolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Principal: '*'
            Action: 's3:*'
            Resource: '*'
      SubnetIds:
        - !Ref privateSubnet1
        - !Ref privateSubnet2
      VpcEndpointType: Interface
      SecurityGroupIds:
        - !Ref endpointS3
1 Antwort
0

【以下的回答经过翻译处理】 有趣!我不知道那个S3的限制,但我看到在https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html中提到了:"要为Amazon S3创建一个接口端点,您必须清除附加设置、启用DNS名称。这是因为Amazon S3不支持接口VPC端点的私有DNS。"

我已经为许多服务使用了接口端点,但是没有用过S3,因为我一直坚持使用免费的网关端点,就像你现在所做的那样。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen