8

我正在尝试设置 Elastic Beanstalk 以连接到我现有的 AWS 托管的 Oracle DB(按需类型,而不是自带许可类型),但是当我使用 Elastic Beanstalk 控制台 >> 环境详细信息 > > 编辑配置 >> 数据库实用程序,我什至没有提供连接到现有AWS RDS 的选项。他们提供的唯一选项是“使用此环境创建RDS 数据库实例”。好吧,我很灵活......给猫剥皮的方法不止一种,但是当我尝试创建一个 RDS DB (Oracle) 实例(使用他们的下拉“Oracle se-1”选项)时,我得到了错误消息“Oracle 数据库引擎不支持数据库实例类。”

有解决方法吗?我只想让我的 beanstalk 访问我现有的 Oracle RDS,并感谢任何人提供的任何建议。请慢慢解释……这对我来说是一个新的环境。

4

2 回答 2

7

以下是 AWS 技术支持提供的非常有用的答案:

你好,

在典型场景中,由 ElasticBeanstalk 启动的实例将只允许来自 Elastic Load Balancer 的 HTTP 连接,而 Elastic Load Balancer 将接受来自任何地方 ( 0.0.0.0/0 ) 的 HTTP 请求。

让 Elastic Beanstalk 实例访问您的 RDS 实例的最有效方法是在 RDS 授权中添加 beanstalk 实例的安全组。

检查 Ec2->Security Groups,您应该有一个描述为“SecurityGroup for ElasticBeanstalk environment”的安全组。,查看底部窗格中的安全组 ID,其格式为 sg-xxxxxxxx 。

通过转到 RDS -> Db Security Groups 授权 RDS 访问该安全性,您可以编辑 Db 当前安全组或创建一个新安全组(然后您需要将其应用于 Db 实例),在底部窗格中选择 Ec2安全组而不是 CIDR,并添加 Elastic Beanstalk 安全组 ID sg-xxxxxxxx。

如果您想直接从本地计算机中的 Eclipse 访问 Db,您还需要将您的计算机公共 IP 添加为 CIDR(您可以通过访问 www.whatismyip.com 之类的页面来检查您的公共 IP)

您还需要 Eclipse 中的 JDBC 驱动程序才能连接到 RDS Oracle 实例。

我还附上了 Elastic Beanstalk 的打印屏幕,其中显示了您可以将 JDBC 连接传递到您的环境的位置。

快照

于 2012-10-21T14:03:00.417 回答
1

不,没有 BYOL 许可类型,就无法连接到现有的 Oracle 数据库。BYOL 意味着您已经拥有一个有效的 Oracle 许可证并且希望使用它。如果您使用 On-Demand,则意味着 Amazon 为您提供了包含在价格中的有效许可证,因此您必须创建一个新的 Oracle 数据库实例,这就是您在 Elastic beanstalk 中看到的。

Oracle 引擎选择和许可证类型选择是在设置 Amazon RDS 时完成的(如下面的屏幕截图)。更多信息在这里

在此处输入图像描述

于 2012-10-15T21:22:16.390 回答