在云形成中为SQS创建VPC接口端点

时间:2019-02-12 05:59:58

标签: amazon-web-services amazon-cloudformation amazon-vpc

我想知道是否可以在CloudFormation文件中创建资源来为SQS创建VPC端点。我能够对SQS和DynamoDB做到这一点,但是我相信这是因为它们是网关端点。

目前,我已将SQS资源定义为:

public function handle($request, Closure $next)
    {
        if (Auth::check() && Auth::user()->role == 'title_officer') {
            return $next($request);
        }else{
           return back();
        }
    }

但是,当我尝试创建堆栈时,出现错误:

enter image description here

通过阅读AWS的this blog post似乎是有可能的。尽管我找不到任何示例或文档。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我发现,对于使用网关端点的DynamoDB和S3,必须定义else属性。对于所有其他服务,无需定义。因此,对于SQS,只需:

PolicyDocument

编辑: 即使接口端点已设置,仍然无法正常工作,我必须:

  1. SQSEndpoint: Type: AWS::EC2::VPCEndpoint Properties: ServiceName: !Join - '' - - com.amazonaws. - !Ref 'AWS::Region' - .sqs SubnetIds: - !Ref PrivateSubnet - !Ref PublicSubnet VpcId: !Ref 'VPC' VpcEndpointType: Interface 属性设置为PrivateDnsEnabled,以便您可以使用AWS CLI,因为AWS CLI使用公共端点,并且设置true允许私有端点自动映射到公开的人

  2. PrivateDnsEnabled设置为具有允许来自您的VPC的入站流量的安全组。如果设置了该实例,则使用默认安全组,并且它仅允许来自具有默认安全组的源的入站流量,这意味着SecurityGroupsIds将无法将流量发送回您的实例

    < / li>

总结一下:

SQS