簡體   English   中英

spring-boot mongodb ssh 隧道

[英]spring-boot mongodb ssh tunnel

我已經使用此處找到的 AWS 雲平台快速入門創建了一個 mongodb 設置: https : //docs.aws.amazon.com/quickstart/latest/mongodb/deployment.html 我可以從我的 EC2 實例成功連接到我的實例,因此它已正確設置。

由於我需要通過我的 spring 應用程序連接到它,我需要設置一個通過 EC2 實例到 mongodb 節點的 SSH 隧道。

我能找到的唯一相關答案是使用 mysql 和某種需要模式參數的 DataSource 對象(我沒有,數據庫將充滿不同類型的實體),所以我不確定如何繼續。

我的問題:

  1. 如何設置SSH隧道? 如何傳入我的 .pem 密鑰文件?
  2. 我的 application.properties 將如何連接到數據庫?

我在我的私有子網中設置了一個堡壘,並使用 ssh 隧道通過 git-bash 訪問我的 MongoDb 集群:

~/.ssh/config

Host bastion-host-mongo-forward
User ec2-user
Port 22
IdentityFile ~/admin.pem
HostName ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com

Localforward 3307 ip-10-50-2-24.ec2.internal:27017
Localforward 3308 ip-10-50-3-143.ec2.internal:27017
Localforward 3309 ip-10-50-3-103.ec2.internal:27017

啟動隧道:

ssh bastion-host-mongo-forward

之后,您可以設置 application.yaml 並定位 uri:

spring:
    profiles: local
    data:
       mongodb:
          uri: mongodb://user:password@localhost:3307,localhost:3308,localhost:3309/databaseName

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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