7

我们在 West-1(加利福尼亚北部)有一些 MySQL RDS 实例,并希望使用 QuickSight 创建一些报告。第一个问题是 QuickSight 仅在 West-2(俄勒冈)可用并且没有显示我们的 RDS,因此我在 West-2 中创建了一个只读副本数据库。

我仍然无法连接到我的实例,并且显示以下错误:连接失败。确保您的实例可从相应的 Amazon QuickSight IP 地址范围访问。

我已经在入站规则中创建了一个允许 IP 54.70.204.128/27 的安全组并将其应用于我的实例。最终允许我连接到实例的方法是将实例的“公开可用”字段设置为“是”。

但是,我的老板更喜欢它保持“否”,我们还能够使用 MySQL SSH 连接方法通过 DOMO 连接到非公共实例。

是否可以在不将 Publicly Accessible 设置为 Yes 的情况下使 QuickSight 和 RDS 之间的连接正常工作?

4

3 回答 3

4

幸运的是,情况发生了变化。

可以将 Amazon QuickSight 连接到 VPC 中的 RDS 中的数据库,尽管 AWS 文档并不清楚所有必要的步骤。

基本上,请按照此处的步骤操作, https://docs.aws.amazon.com/quicksight/latest/user/working-with-aws-vpc.html 但请确保您将创建两个安全组:

  • VPC 中实例的安全组
  • Amazon QuickSight 的弹性网络接口的安全组

让我们从第二个开始:它是 QuickSight 分配给网络接口 (ENI) 的一个,它将在您的 VPC 中自动创建以访问数据库。这是我一开始错过创建的,也是您在 QuickSight 中用于创建 VPC 连接的那个。详细信息在上述文档中的“<em>Amazon QuickSight 弹性网络接口的安全组规则”段落中。

第一个看起来像这样:入站:根据数据库的 TCP/端口 - 在 MySQL 的情况下,它是“MYSQL/Aurora, TCP, 3306”,来源:之前的安全组。不要忘记将此添加到您的数据库实例中。

祝你好运。

于 2019-01-24T15:47:21.110 回答
3

我为此向 AWS 创建了一个支持请求,他们的答案如下。我会试一试。

嗨阿利斯泰尔,

感谢您联系 AWS 高级支持。今天很高兴为您提供帮助。

我了解到您想从 QuickSight 连接到您的 Prod RDS 数据库,但您收到错误消息:“未验证”。您还想知道是否有解决方法可以看到您的 RDS 实例无法公开访问。

Amazon Web Services 提供了一项名为 CloudFormation 的服务,该服务有助于自动化某些流程。此服务将允许您的 RDS 实例通过自定义 NAT 实例连接到 QuickSight。因此,您不必将数据库放在公共子网中。附件是 CloudFormation 模板 (NAT_RDS_Provisioning.template),在启动 CloudFormation 堆栈 [1] 后,将创建一个实例和一个安全组,然后输入所需的变量。然后,这将允许从您定义的源端口上的源地址访问 EC2 实例的端点,这将允许 QuickSight 访问您的 RDS 实例服务器,而无需公开您的 RDS 实例。

要启动此 CloudFormation 堆栈,请参阅以下步骤……请记住,您创建此堆栈的区域必须与您的数据库所在的区域相同。

1. From your AWS console navigate to " CloudFormation " 
2. Click " create stack ", you will then be asked to Select Template, you will then select " Design template".
3. Next to Parameters - click " Mappings ", at the bottom of that page you will see: Components and Template. 
4. Select " Template " and copy and paste the provided script in there. (see attached: NAT_RDS_Provisioning.template)(Please use case link below signature)
5. In the top right hand corner you will see a refresh button, click to refresh. 
6. On the top left there is a square with a tick inside (clicking this validates the template). 
7. Once validated - click the little cloud with the arrow in it , this will create the stack.
8. You will be taken back to the select template page, click "next" in the bottom right corner.
9. Under Specify Details, name your stack and then complete all Parameters, info on parameters provided below: 
    9.1 Stack name  (Example: NAT-RDS-QuickSight)
    9.2 DestinationAddress - Add your RDS instance Endpoint here. (That way when a fail-over occurs the endpoint should be updated in 60 seconds maximum).
    9.3 DestinationPort - The service remote destination port: 
    9.4 InstanceType - The EC2 instance class. (The size of the NAT instance will depend on the amount of data you want to pull into QuickSight) 
    9.5 KeyName - Name of an existing EC2 KeyPair to enable SSH access to the instance: 
    9.6 SourceAddress - The source range you want to allow access from: example 0.0.0.0/0.
    9.7 SourcePort - The port the service must listen on: 
    9.8 Subnet - a Public Subnet that is in the same VPC as your RDS instance:
10. Click " Next "
11. On the Options page - complete the desired fields and click " Next " (Optional)
12. Review all information - (Confirm the details for your NAT EC2 instance)
13. Under template you will see "Estimate cost - click on cost to give you an idea of the monthly estimate to have this service running) 
14. Then  select " Create " in the bottom right hand corner.
15. On the main CloudFormation Page, click "refresh" You will the notice the status of your Stack being created.
16. If you navigate to your EC2 console you will notice your NAT instance running / creating.

请确保 NAT 实例可以访问您的 RDS 实例,这包括安全组设置。这应该通过在 RDS 实例数据库的安全组中包含 NAT 实例的 IP 地址来完成。

然后,您应该能够按照设置访问 EC2 IP 地址和端口,这会将流量转发到您的数据库。

在创建上述内容时,您会看到所涉及的估算成本,但是我在下面添加了两个链接以获取更多信息以及成本计算器。

成本将与 EC2 实例相同,这将启动 AWS Linux 最新标准 AMI,吞吐量将由实例类 [2] 和 [3] 确定:

[1] https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/GettingStarted.Walkthrough.html
[2] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
[3] https://calculator.s3.amazonaws.com/index.html

我希望以上信息和解决方案对您有所帮助。

如果您在上述任何方面遇到任何困难,或者如果您不确定任何事情,请随时与我联系,我将非常乐意为您提供帮助。

要查看此通信中包含的名为“NAT-RDS-Provisioning-Template.template”的文件,请使用签名下方的案例链接。

此致,

Delene T. 亚马逊网络服务


在此处查看提供的模板文件内容:https ://pastebin.com/m67sz4bR


于 2017-07-20T01:15:55.400 回答
1

您的 RDS 副本是否在 VPC 中?

首先确定,然后相应地创建一个安全组并为其附加必要的规则!

我建议您阅读从 Amazon QuickSight 到 Amazon RDS 实例的授权连接

于 2017-05-27T16:53:58.700 回答