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 回答
0

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

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

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则