簡體   English   中英

如何從Spring Java Elastic Beanstalk應用程序連接到我的AWS DynamoDB實例?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM