2012-10-15 51 views
8

我試圖設置Elastic Beanstalk來連接到我現有的AWS託管的Oracle數據庫(按需種類,而不是帶有您自己的許可證類型),但是當我使用Elastic Beanstalk控制檯>>環境詳細信息>>編輯配置>>數據庫實用程序,我甚至沒有提供連接到現有 AWS RDS的選項。他們提供的唯一選項是「使用此環境創建 RDS數據庫實例」。好吧,我很靈活......有一種方法可以爲貓皮膚提供更多的方法,但是當我嘗試創建RDS DB(Oracle)實例(使用它們的下拉「Oracle se-1」選項)時,我得到錯誤消息「Oracle數據庫引擎不支持數據庫實例類」。有沒有辦法將Elastic Beanstalk配置爲連接到現有Oracle數據庫(不含BYOL)?

是否有解決方法?我只想讓我的beanstalk訪問我現有的Oracle RDS,並感謝任何人提供的建議。請慢慢解釋......這對我來說是一個新的環境。

+0

什麼樣的數據庫實例類在Amazon RDS中使用? – Annjawn

回答

1

不可以,沒有辦法在沒有BYOL許可證類型的情況下連接到現有Oracle數據庫。 BYOL意味着你已經擁有一個有效的Oracle許可證並且只是想使用它。如果您使用On-Demand,這意味着Amazon爲您提供了一個包含在價格中的有效許可證,因此,如果您說過,您將不得不創建一個新的Oracle數據庫實例,這正是您在Elastic Beanstalk中看到的。

Oracle引擎選擇和許可類型選擇是在設置Amazon RDS時完成的(如下面的截圖所示)。更多信息here

enter image description here

+0

是的,我使用此嚮導啓動我的(Oracle按需)數據庫實例。我遇到的問題是無法弄清楚如何從Elastic Beanstalk連接到它。 –

+0

你說你的「許可證模式」是按需而不是「BYOL」(如上圖所示)。在按需的情況下,您需要創建基於Amazon RDS的「新」Oracle數據庫實例,因爲按需包含新許可證。如果你想使用現有的Oracle實例,那麼你需要有'許可證模型=帶自己的許可證'。 – Annjawn

7

這裏是由AWS技術支持中心提供的非常有用的答案:

你好,

在一般情況下,通過ElasticBeanstalk推出的情況下,將只允許從彈性負載均衡HTTP連接,而Elastic Load Balancer將接受來自任何地方的HTTP請求(0.0.0.0/0)。

允許您的RDS實例被Elastic Beanstalk實例訪問的最有效方式是在RDS授權中添加beanstalk實例的安全組。

檢查Ec2->安全組,您應該有一個安全組,其描述爲「SecurityGroup for ElasticBeanstalk environment」。 ,檢查底部窗格中的安全組ID,格式爲sg-xxxxxxxx。

通過轉到RDS - > Db安全組,授權RDS訪問該安全性,您可以編輯Db當前安全組或創建一個新安裝組(然後您需要應用到Db實例),在底部窗格選擇Ec2安全組而不是CIDR並添加Elastic Beanstalk安全組標識sg-xxxxxxxx。

如果你想在本地計算機上直接從Eclipse訪問Db,你還需要將你的計算機公共IP作爲CIDR添加(你可以通過訪問www.whatismyip.com等網頁來查看你的公共IP)

您還需要在eclipse中使用JDBC驅動程序才能連接到RDS Oracle實例。

我還附加了Elastic Beanstalk的打印屏幕,其中顯示了可以將JDBC連接傳遞到您的環境的位置。

snapshot

+0

對於任何未來的讀者:我遵循這些說明爲我的LAMP應用程序和db連接罰款。 –

+0

你先生是個紳士!與Posgres一起工作。感謝您的詳細解釋 –

+0

這是將現有RDS數據庫與彈性beanstalk應用程序相關聯的最簡單方法。附加信息:如果您必須爲RDS數據庫使用VPC,請按照上述說明操作,但從VPC控制檯訪問安全組 –

相關問題