Hướng dẫn tìm kiếm bản đồ mongodb

Khi triển khai cụm MongoDB trên Atlas, cách duy nhất để bảo mật đúng cách là đưa các địa chỉ IP vào danh sách trắng được phép truy cập cụm. Đây là một phương pháp khá hiệu quả nhưng có thể gây ra sự cố trong một số tình huống nhất định

Gần đây, tôi đã triển khai một cụm Kubernetes trên Google Kubernetes Engine và sớm nhận ra rằng không có dải địa chỉ IP chính xác nào cho các nhóm của mình, điều này ngăn cản tôi bảo vệ cụm bằng danh sách trắng Mongo Atlas. Đối với những người không có bất kỳ nền tảng nào về Kubernetes, hệ thống điều phối microservice duy trì một bộ ứng dụng và dịch vụ bằng cách tự động mở rộng quy mô, tạo lại và sửa chữa chúng. Mỗi phiên bản của ứng dụng được gọi là nhóm và vì các nhóm này được tạo lại liên tục nên không thể có địa chỉ IP được xác định trước

Sau nhiều lần tìm kiếm, tôi đã tìm thấy phương pháp duy nhất để giải quyết vấn đề này [trên Google Cloud và hầu hết các nhà cung cấp dịch vụ đám mây khác] là sử dụng cổng NAT [Dịch địa chỉ mạng]. NAT định tuyến tất cả lưu lượng truy cập đi trong mạng VPC [Đám mây riêng ảo] thông qua cùng một địa chỉ IP, cho phép chúng tôi đưa địa chỉ đó vào danh sách trắng. Trước đây tôi đã viết một hướng dẫn về cách thiết lập cơ sở hạ tầng này tại đây, bao gồm cả

Mặc dù giải pháp này hoạt động rất tốt, nhưng tôi nhận ra rằng tôi đã tốn 50 đô la/tháng chỉ để chạy cổng NAT này. Đối với các dự án nhỏ, điều này có vẻ vô lý. Rất may, Atlas có một công cụ có tên là Private Network Peering, cho phép bạn kết nối cụm MongoDB Atlas của mình với mạng VPC của Nhà cung cấp dịch vụ đám mây như thể chúng ở trên cùng một mạng riêng. Vấn đề là, cho đến vài tháng trước, tính năng này chỉ khả dụng trên AWS. Giờ đây, họ đã thêm hỗ trợ cho Google Cloud và Azure

Thiết lập Google Cloud

Nếu bạn đã có tài khoản Google Cloud và đã tạo dự án thì có thể bỏ qua bước này

Truy cập https. //đám mây. Google. com/free để được hướng dẫn tạo tài khoản. Khi đăng ký, bạn sẽ được cấp 300 đô la tín dụng miễn phí, vì vậy đừng lo lắng về việc phải trả tiền cho các tài nguyên bạn tạo trong hướng dẫn này

Tạo dự án mới trong bảng điều khiển Google Cloud. Nếu bạn chưa từng làm điều này trước đây, hãy xem https. //đám mây. Google. com/resource-manager/docs/creating-managing-projects. Chúng tôi sẽ gọi dự án của chúng tôi là vpc-peering-tutorial

Thiết lập tập bản đồ MongoDB

Truy cập https. //www. mongodb. com/cloud/atlas và nhấp vào Dùng thử miễn phí. Sau khi đăng ký, bạn sẽ ngay lập tức được đưa đến một trang nơi bạn có thể định cấu hình và triển khai Cụm MongoDB đầu tiên của mình. Chưa tạo cụm vì chúng ta cần thiết lập VPC ngang hàng trước khi thực hiện việc này

Tạo VPC ngang hàng

Truy cập bảng điều khiển Atlas của bạn, tạo một dự án nếu bạn chưa có và nhấp vào Truy cập mạng trong Bảo mật trong thanh bên. Nhấp vào Kết nối ngang hàng và Kết nối ngang hàng mới. Chọn Google Cloud Platform và nhấp vào Tiếp theo

Nhập ID dự án GCP của bạn, có thể tìm thấy ID này trong Google Cloud Console trong thẻ Thông tin dự án ở trên cùng bên trái. Tiếp theo, nhập tên mạng VPC của bạn, tên này sẽ được đặt mặc định nếu bạn chưa thay đổi hoặc tạo tên khác. Để Atlas CIDR làm mặc định, phải là 192. 168. 0. 0/16. Nhấp vào Bắt đầu ngang hàng

Bây giờ, hãy chuyển đến VPC Network Peering trong Bảng điều khiển GCP và nhấp vào Tạo kết nối và Tiếp tục. Đặt tên cho bản đồ kết nối ngang hàng và chọn mặc định trong Mạng VPC của bạn. Trong Mạng VPC ngang hàng, chọn Trong dự án khác. Bây giờ chúng ta cần lấy ID dự án GCP và Tên dự án triển khai Atlas của chúng ta. Bạn có thể tìm thấy cả hai giá trị này trong tab Ngang hàng của phần Truy cập mạng trong bảng điều khiển Atlas của bạn dưới ID dự án GCP Atlas và Tên VPC Atlas [nếu chúng chưa được hiển thị, hãy đợi vài phút để Atlas hoàn tất việc khởi tạo ngang hàng]

Nhập các giá trị này vào biểu mẫu Tên mạng dự án và VPC trong GCP và nhấn Tạo để hoàn tất thiết lập VPC ngang hàng của bạn

Điều cuối cùng chúng ta cần làm là đưa vào danh sách trắng dải địa chỉ IP GCP VPC của chúng ta trong Atlas. Trong bảng điều khiển Atlas Network Peering, bạn sẽ thấy một cảnh báo phía trên mạng VPC được liệt kê của chúng tôi. Cảnh báo này kết thúc bằng “…Mạng GCP được tạo khi sử dụng phạm vi CIDR là 10. 128. 0. 0” [bạn cũng có thể thấy điều này trong ảnh chụp màn hình ở trên]. Sao chép phạm vi CIDR này, nhấp vào tab Danh sách trắng IP và nhấp vào Thêm địa chỉ IP. Nhập phạm vi đã sao chép trong Mục nhập danh sách trắng và nhấp vào Xác nhận. Phạm vi này sẽ khớp với tất cả các vùng trong mạng GCP VPC mặc định của chúng tôi [đối với dự án hiện tại]

thử nghiệm

Trước khi tiếp tục, hãy đảm bảo kết nối ngang hàng VPC được kết nối thành công từ cả GCP và Atlas và Danh sách trắng IP mà chúng tôi đã thêm đã hoàn tất cấu hình

Chúng tôi sẽ tạo một cụm MongoDB. Chúng tôi sẽ thử và kết nối với cụm từ máy tính cục bộ của chúng tôi [không hoạt động] và sau đó tạo VM trong Google Cloud để đảm bảo cụm có thể kết nối thành công

Truy cập bảng điều khiển Atlas của bạn và nhấp vào Cụm trong Atlas ở thanh bên, sau đó nhấp vào Xây dựng cụm. Trong Nhà cung cấp dịch vụ đám mây và Khu vực, chọn Google Cloud Platform và iowa [us-central1]. Trong Cấp cụm, chọn M10 [bất kỳ cấp nào thấp hơn sẽ không cho phép chúng tôi sử dụng ngang hàng VPC] và trong Tên cụm, nhập cụm kiểm tra. Nhấp vào Tạo cụm. Cụm sẽ mất vài phút để quay lên

Kiểm tra cục bộ

Đảm bảo bạn đã cài đặt Mongo CLI và khi cụm hoàn tất định cấu hình, hãy nhấp vào Kết nối bên dưới tên cụm. Trong phần Tạo người dùng MongoDB, hãy nhập tên người dùng quản trị viên và bất kỳ mật khẩu nào [đừng lo lắng về việc làm cho nó quá phức tạp nếu nó chỉ dành cho hướng dẫn này]. Nhấp vào Tạo người dùng MongoDB sau đó Chọn phương thức kết nối. Chọn Kết nối với Mongo Shell và nhấp vào Sao chép bên cạnh chuỗi kết nối. Chuỗi sẽ trông giống như

mongo "mongodb+srv://test-cluster-2m6rh.gcp.mongodb.net/test" --username admin

Nhập nó vào thiết bị đầu cuối hoặc dòng lệnh của bạn và nhập mật khẩu bạn đã chọn sau khi được nhắc. Vỏ Mongo sẽ cố gắng kết nối nhiều lần nhưng mỗi lần không thành công với các lỗi sau

Unable to reach primary for set test-cluster-shard-0Cannot reach any nodes for set test-cluster-shard-0. Please check network connectivity and the status of the set. This has happened for 2 checks in a row.

Sau một vài lần thử, nó sẽ kết thúc với một ngoại lệ connection failed

Thử nghiệm GCP

Bây giờ chúng ta sẽ tạo một máy ảo trên Google Cloud. Đi tới bảng điều khiển máy ảo GCP Compute Engine và nhấp vào Tạo [hoặc Tạo phiên bản nếu bạn đã có máy ảo]

Trong Đĩa khởi động, nhấp vào Thay đổi, chọn Ubuntu 18. 04 LTS và nhấp vào Chọn. Để nguyên tất cả các giá trị mặc định khác và nhấp vào Tạo ở dưới cùng. Sau khi nó quay xong, hãy nhấp vào mũi tên bên cạnh SSH bên dưới Kết nối và chọn Mở trong cửa sổ trình duyệt [bạn có thể sử dụng thiết bị đầu cuối hoặc dòng lệnh của riêng mình nếu muốn nhưng để đơn giản, chúng tôi sẽ SSH thông qua trình duyệt]. Chạy các lệnh sau để cài đặt trình bao Mongo [từ tại đây]

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4echo "deb [ arch=amd64 ] //repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.listsudo apt-get updatesudo apt-get install -y mongodb-org

Bây giờ lấy cùng một chuỗi kết nối từ trước đó và nhập nó vào. Khi được nhắc, hãy nhập cùng một mật khẩu. Bây giờ bạn sẽ thấy một loạt kết quả, kết thúc bằng kết nối thành công với cơ sở dữ liệu

MongoDB server version: 4.0.10
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see //docs.mongodb.org/
Questions? Try the support group
//groups.google.com/group/mongodb-user
MongoDB Enterprise test-cluster-shard-0:PRIMARY>

chúc mừng. Giờ đây, bạn có thể kết nối với cụm MongoDB Atlas của mình bằng mạng riêng, loại bỏ nhu cầu về cổng NAT khi sử dụng Kubernetes Engine. Để tránh phát sinh thêm phí, hãy đảm bảo xóa Google Compute Engine VM, MongoDB Atlas Cluster và các dự án được tạo trong mỗi

Chủ Đề