AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1052294
Accepted
Jon Buys
Jon Buys
Asked: 2021-02-04 08:49:25 +0800 CST2021-02-04 08:49:25 +0800 CST 2021-02-04 08:49:25 +0800 CST

AWS Transfer SFTP 自定义身份提供商私有 API 网关

  • 772

我已经使用 CloudFormation 设置了 AWS Transfer SFTP,并且正在使用自定义身份提供程序设置,其中 API 网关面向 Lambda 函数。以前,我的设置运行良好,但 API 网关是公开的,我想将其设为私有并将其带入 VPC。我设置了一个 VPC 接口端点并将其与 API 网关相关联。以下相关 CloudFormation 位:

  APIVPCEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
        PrivateDnsEnabled: true
        ServiceName: com.amazonaws.us-east-1.execute-api
        VpcEndpointType: Interface
        SubnetIds:
            - subnet-11111111
            - subnet-22222222
        SecurityGroupIds:
            - sg-111111111111111
        VpcId: vpc-222222
   CustomIdentityProviderApi:
    Type: AWS::ApiGateway::RestApi
    Properties:
      Name: SFTP Custom ID Provider
      FailOnWarnings: true
      EndpointConfiguration:
        Types:
        - PRIVATE
        VpcEndpointIds:
        - Ref: APIVPCEndpoint

但是,通过此设置,API 网关的 DNS 名称不再在 DNS 中解析,并且我的 SFTP 实例无法访问它。我收到一个错误:

{
    "Response": "",
    "StatusCode": 0,
    "Message": "Unable to call identity provider: Unable to execute HTTP request: randomname.execute-api.us-east-1.amazonaws.com: Name or service not known",
    "Url": "https://blablabla.execute-api.us-east-1.amazonaws.com/prod/servers/s-blablablabla/users/myusername/config"
}

我验证dig了nslookupDNS 确实没有解析。解决的是端点的名称,但是,当我尝试将该名称粘贴到 AWS 传输控制台中作为我的自定义身份提供商的调用 URL 时,我收到另一个错误:

Failed to edit server details: Invalid API Gateway endpoint

我有一种感觉,我已经进入了“不支持的配置”领域,现在我要将 API 网关移出 VPC 并再次将其公开,以便系统正常工作。但是,如果有人这样做并有任何建议,我很想看看我是否可以让私有配置正常工作。

cloud amazon-web-services
  • 2 2 个回答
  • 699 Views

2 个回答

  • Voted
  1. John O'Neill
    2021-02-06T15:50:45+08:002021-02-06T15:50:45+08:00

    我们只是尝试做一些类似的事情(面向互联网的 SFTP 服务器,由 VPC 托管,并使用私有 API Gateway + Lambda 作为自定义身份提供者)并从 Amazon 直接确认 API Gateway 终端节点在这种情况下当前必须是区域性的(至少现在)。我们要求他们在文档中澄清这一点,并将其添加到他们的路线图中;当他们更新文档时,我会尝试更新此响应。

    • 3
  2. Best Answer
    Jon Buys
    2021-02-09T07:36:54+08:002021-02-09T07:36:54+08:00

    事实证明,我们用例的正确答案是根本没有 Lambda 调用刷新缓存 API。2020 年 6 月,AWS 向文件网关添加了一个有针对性的自动缓存刷新选项:

    此功能基于每个目录的“自上次访问以来的持续时间”。在计时器仍在运行时发出的所有访问请求都将目录的内容视为当前内容。计时器到期后,下一次访问目录会导致刷新目录。如果计时器为 30 分钟,则该目录的内容会反映不超过 30 分钟之前 Amazon S3 中的内容。

    选项范围从 1 分钟到几天。我把我们的时间设置为五分钟,我敢打赌这对我们来说没问题。

    参考:https ://aws.amazon.com/blogs/storage/automating-cache-refresh-process-for-file-gateway-on-aws-storage-gateway/

    • 0

相关问题

  • 您如何进行云 ROI 分析?您是否正在迁移到云,如果是,首先要迁移到哪些系统?[关闭]

  • 如何预先签署 puppet 证书?

  • 使用云服务器时是否存在性能权衡?

  • 可扩展的云软件?

  • 哪些云服务将在 2015 年出现?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve