![](/img/trans.png)
[英]How to connect to a google cloud sql instance from AWS elastic beanstalk
[英]How do I connect to my AWS DynamoDB instance from a Spring Java Elastic Beanstalk app?
我正在研究DynamoDB,並已使用Spring Boot編寫了一個應用程序。
我已經在本地(在自己的桌面上)開發了它,並連接到也在本地運行的DynamoDB實例。 我的連接信息保存在resources
(包含在類路徑中)的屬性文件中。
我想在AWS的Elastic Beanstalk上運行它以連接到AWS托管的DynamoDB實例。
我應該在屬性文件中放入什么? 還是更好,AWS是否使擁有特定於環境的屬性變得容易? 例如,我寧願不必在源代碼管理的純文本文件中保存我的實時實例訪問鍵。 還是我應該運用自己的機制?
這個問題實際上是兩個問題:1)如何將Java應用程序連接到AWS Dynamo數據庫實例,以及2)如何安全地管理憑證。
對於1來說,它非常簡單,有一個Java AWS開發工具包提供了一個用於連接Dynamo實例的接口。 主要方法是將一些AWS憑證導出為環境變量,然后AWS開發工具包將獲取它們並自動進行身份驗證:
export AWS_ACCESS_KEY_ID=your_access_key_id
export AWS_SECRET_ACCESS_KEY=your_secret_access_key
然后,您可以在代碼中實例化Dynamo客戶端:
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard()
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(
"http://localhost:8000",
"us-west-2"))
.build();
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CodeSamples.Java.html
對於2,沒有一個正確的答案。 我確實同意您的看法,將憑證以純文本格式存儲在回購中並不是一個好方法。 有幾種更好的方法。 基本思想是,您將加密存儲庫中包含機密信息的文本文件,然后在部署時將其解密。 該解密可以手動完成,也可以通過某種部署腳本完成。 查看用於AWS機密管理的AWS KMS服務。 不幸的是,您的問題過於開放,無法具體回答。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.