使用NLB进行TLS终止并执行Atlas的LiveMigration

使用MongoDB Atlas的LiveMigration的备忘录2

上次将AWS上的MongoDB迁移到Atlas的续集。

在Atlas上进行实时迁移时,是否启用了SSL?有一个名为”Is SSL enabled?”的开关。

在Atlas的文档中

如果源群集使用TLS / SSL,则切换SSL按钮。
如果源副本集使用TLS / SSL并且没有使用公共证书颁发机构(CA),请将源群集的CA文件内容复制到提供的文本框中。

とある。
これは LiveMigrationのバックエンドである mongomirror シェルにおける –ssl オプション に該当しているものと考えられる。

もともとEC2上のDBサーバーは、同一のプライベートサブネット内のAPサーバーからのみアクセスされており、TLS/SSL起動オプションは指定していない。

今回LiveMigrationを利用するためインターネット経由でDBサーバーへアクセスできるようにする必要があり、そのためにNLBを導入した。
インターネットを経由するので、Is SSL enabled?は有効にして、Atlasとの通信は暗号化したい。
TLS/SSL起動オプションを付与してDBサーバーを再起動することは避けたいため、NLBにてTLS終端することで、この課題を解決する。
下図の1の通信が該当する。

[Atlas LiveMigration] <-1-> [NLB] <-2-> [MongoDB on EC2]

方法は以下の通り、
1. NLBのListenerの設定を TLS 27017とする。
2. 証明書はACMに存在するものを利用する。
3. ターゲットグループ側のProtocol/PortはTCP 27017にする。
4. Route53で所有するドメインにおいて任意のサブドメインを作成し、NLBへのエイリアスに紐付ける。

这样做的话,

コマンド 接続可否 mongo mongodb://<LBのDNS> --sslmongo mongodb://<LBのDNS> --ssl --sslAllowInvalidCertificatesmongo mongodb://<Route53で設定したDNS>mongo mongodb://<Route53で設定したDNS> --ssl

成为这样。

只要使用Atlas中设置的DNS,LiveMigration的主机可以安全地使用Route53来实现。

参考译文:
– 亚马逊网络服务博客最新功能 – 网络负载均衡器的TLS终端化。

bannerAds