Sau hướng dẫn này
Bạn biết chọn endpoint theo nơi app chạy và kết nối Flash Deploy, MySQL, Redis, VPS trong cùng org.
Public và private khác nhau thế nào?
| Public network | Private network | |
|---|---|---|
| Phạm vi | Truy cập qua internet bằng địa chỉ public của dịch vụ. | Kết nối nội bộ giữa các product thuộc cùng organization (org) trên DLEZ. |
| Khi dùng | Người dùng mở website, trình duyệt gọi API; client từ máy cá nhân hoặc hệ thống bên ngoài kết nối dịch vụ. | App gọi MySQL/Redis, backend gọi backend hoặc service trên VPS cùng org. |
| Địa chỉ | Public URL/host và port do dịch vụ hiển thị. | Private address/host và port của dịch vụ đích trong Console. |
| Xác thực | Vẫn cần HTTPS/TLS phù hợp, tài khoản và quyền truy cập. | Vẫn cần mật khẩu/token và quyền truy cập; private không thay cho xác thực. |
Quy tắc: cùng organization thì gọi nhau bằng private
Các product thuộc cùng organization trên DLEZ có thể gọi nhau qua private network. Ví dụ app Flash Deploy, MySQL, Redis và VPS thuộc org của bạn dùng private address của nhau cho kết nối phía server. Phạm vi là organization, không chỉ một project.
Hai project khác nhau trong cùng org vẫn dùng private để kết nối. Hai product khác org không thuộc cùng mạng private, dù bạn là thành viên của cả hai org. Máy cá nhân và trình duyệt của bạn cũng không trở thành một phần của mạng private chỉ vì đã đăng nhập Console.
Tạo các product cần kết nối trong cùng org và lấy đúng private endpoint của dịch vụ đích. Với VPS, cấu hình service lắng nghe trên interface phù hợp và cho phép cổng cần dùng trong firewall. Quyền quản lý org không thay thế quyền truy cập của database hoặc API.
Vì sao ưu tiên private cho kết nối nội bộ?
Luồng app → database/cache/service đi trong mạng nội bộ của org, không cần vòng qua public endpoint. Bạn không cần mở public cho một service chỉ để product cùng org gọi tới, nhờ đó giảm số điểm phải công khai trên internet và tách luồng nội bộ khỏi luồng người dùng.
Dùng private endpoint còn giúp kết nối nội bộ không phụ thuộc tên miền public/DNS website. Nếu dịch vụ vẫn có public endpoint, đổi app sang private không tự tắt endpoint đó; hãy kiểm tra cấu hình truy cập riêng của dịch vụ.
Private network không phải cam kết miễn phí bandwidth, độ trễ cố định, tự mã hóa mọi kết nối hay không có sự cố. Xem giới hạn và chi phí theo plan, dùng xác thực và cấu hình TLS theo dịch vụ.
Ví dụ: app public, dữ liệu private
Trình duyệt gọi API qua public HTTPS. Code API chạy trên DLEZ dùng private endpoint để gọi MySQL/Redis/VPS cùng org. Nếu frontend là file JavaScript chạy trong trình duyệt, lời gọi của nó là từ bên ngoài; không đặt private host hoặc mật khẩu database vào frontend.
Internet / trình duyệt
│ public HTTPS
▼
┌─ Organization của bạn ──────────────────┐
│ Flash Deploy (web + API) │
│ ├── private → MySQL (dữ liệu chính) │
│ ├── private → Redis (cache) │
│ └── private → VPS (service riêng) │
└────────────────────────────────────────┘Chuyển app sang private từng bước
- Kiểm tra app và dịch vụ đích thuộc cùng organization trong Console; không chỉ kiểm tra tên project.
- Mở Connection hoặc thông tin mạng của dịch vụ đích. Sao chép Private address và port thực tế; không đoán địa chỉ từ public host.
- Cập nhật host/port trong env phía server: MYSQL_HOST, REDIS_HOST hoặc URL API nội bộ tùy code. Giữ đúng username/password/database và cấu hình TLS.
- Áp dụng cấu hình và redeploy app. Kiểm tra env hiệu lực đã dùng private host, không in mật khẩu ra logs.
- Từ app đang chạy trong org, thử truy vấn SELECT 1, đọc/ghi key Redis có TTL hoặc gọi endpoint kiểm tra của service. Giữ public URL của website cho người dùng.
Nếu private chưa kết nối được
| Triệu chứng | Kiểm tra |
|---|---|
| Máy cá nhân/trình duyệt không gọi được private host | Đây là client bên ngoài org network. Thử từ app trong org; khi cần kết nối bên ngoài, dùng public endpoint với xác thực phù hợp. |
| Hai product không gọi được nhau | Đối chiếu org của cả hai, private host, port, trạng thái service và env đã áp dụng. |
| Connection refused / timeout trên VPS | Kiểm tra service đang chạy, interface lắng nghe và firewall cho cổng nội bộ cần dùng. |
| Access denied / unauthorized | Đường mạng không cấp quyền dữ liệu: kiểm tra tài khoản, mật khẩu/token, database và quyền API. |