我可以通过Heroku使用DynamoDB吗?

时间:2016-05-27 12:10:00

标签: java amazon-web-services heroku amazon-dynamodb

我对通过Heroku使用DynamoDB感兴趣。这会安全地工作,我将如何建立通信?我使用的是Java,但任何语言的帮助都没问题。

到目前为止我找到的信息来源:

  • This question似乎暗示有可能不解释如何。
  • This question解释了Heroku如何连接到弹性缓存(不是DynamoDB),但继续解释它是不安全的,因为任何Heroku应用程序都可以连接到elasticache服务器。我想确保我连接到DynamoDB实际上是安全的。
  • This video解释如何通过Heroku中的Ruby连接到DynamoDB已不再可用。
  • This video一直在讨论他们将如何使用Heroku的DynamoDB,然后下一位主持人承认他无法获得其他工作,并且从未谈过在Heroku中使用DynamoDB。

1 个答案:

答案 0 :(得分:9)

是。您确实可以将DynamoDB与Heroku一起使用。我将它用于一个大型应用程序,每月处理大约150亿个请求。

以下是您想要做的事情:

  1. 在Heroku应用中设置AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY个环境变量。注册AWS时,如果您还没有注册,则必须生成这些内容。获得它们后,将它们作为环境变量存储在Heroku中。

  2. 使用您选择的语言/框架安装DynamoDB库。

  3. 初始化适用于DynamoDB的AWS库时,它会询问两件事:您的AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY,因此您可以从环境变量中提供这些内容。

    < / LI>

    这在安全方面的工作方式如下:

    • Heroku在美国东部地区的AWS上运行。
    • 如果您在us-east中创建DynamoDB实例,它将与您的Heroku应用程序位于同一个“网络”中。
    • 当您的Heroku应用程序连接到DynamoDB时,它将通过SSL安全地执行此操作,使用您的AWS API密钥作为用户名/密码进行连接。
    • 当您的Heroku应用程序向DynamoDB发出请求时,它会非常快,因为您的Heroku应用程序和您的DynamoDB实例在物理上非常接近。

    希望这有助于=)