3

我们在West-1(N. California)有几个MySQL RDS实例,并且希望使用QuickSight创建一些报告。第一个问题是,QuickSight仅在West-2(俄勒冈州)有售,并没有显示我们的RDS,因此我在West-2中创建了一个只读副本数据库。AWS:无法将Amazon QuickSight连接到RDS

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

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

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

是否可以在QuickSight和RDS之间建立连接而不将Publicly Accessible设置为Yes?

回答

2

我创建了一个支持请求与AWS这一点,他们的回答如下。我会试一试。

嗨Alistair,

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

我知道您希望从QuickSight连接到您的Prod RDS数据库,但会出现错误:“未验证”。您还想知道是否有解决方法,看到您的RDS实例不可公开访问。

亚马逊网络服务提供名为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. Amazon Web Services的


见所提供的模板文件的内容在这里:https://pastebin.com/m67sz4bR


+0

注意:从Quicksight连接到数据源时,需要先选择数据库类型(例如MySQL或SQL Server,而不是RDS),然后在数据库服务器中输入您的NAT实例的公有DNS(端点为NAT EC2实例)领域。另外取消选择“启用SSL”以验证您的连接。 – Alistair