使用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> --ssl
mongo mongodb://<LBのDNS> --ssl --sslAllowInvalidCertificates
mongo mongodb://<Route53で設定したDNS>
mongo mongodb://<Route53で設定したDNS> --ssl
成为这样。
只要使用Atlas中设置的DNS,LiveMigration的主机可以安全地使用Route53来实现。
参考译文:
– 亚马逊网络服务博客最新功能 – 网络负载均衡器的TLS终端化。