Các dự án Data Connect của bạn bao gồm 2 thành phần cơ sở hạ tầng chính:
- Một hoặc nhiều phiên bản dịch vụ Data Connect
- Một hoặc nhiều phiên bản Cloud SQL cho PostgreSQL
Hướng dẫn này thảo luận về cách thiết lập và quản lý các phiên bản dịch vụ Data Connect, đồng thời giới thiệu cách quản lý các phiên bản Cloud SQL được liên kết.
Định cấu hình khu vực cho Firebase Data Connect
Các dự án sử dụng Data Connect cần có chế độ cài đặt vị trí.
Khi tạo một phiên bản dịch vụ Data Connect mới, bạn sẽ được nhắc chọn vị trí của dịch vụ.
Địa điểm cung cấp
Bạn có thể tạo dịch vụ Data Connect ở những khu vực sau.
- asia-east1
- asia-east2
- asia-northeast1
- asia-northeast2
- asia-northeast3
- asia-south1
- asia-southeast1
- asia-southeast2
- australia-southeast1
- australia-southeast2
- europe-central2
- europe-north1
- europe-southwest1
- europe-west1
- europe-west2
- europe-west3
- europe-west4
- europe-west6
- europe-west8
- europe-west9
- me-west1
- northamerica-northeast1
- northamerica-northeast2
- southamerica-east1
- southamerica-west1
- us-central1
- us-east1
- us-east4
- us-south1
- us-west1
- us-west2
- us-west3
- us-west4
Quản lý các phiên bản dịch vụ Data Connect
Tạo dịch vụ
Để tạo một dịch vụ mới, hãy sử dụng bảng điều khiển Firebase hoặc chạy quy trình khởi tạo dự án cục bộ bằng cách sử dụng CLI Firebase. Các quy trình này sẽ tạo một dịch vụ Data Connect mới.
Các quy trình này cũng hướng dẫn bạn:
- Cung cấp một phiên bản Cloud SQL mới (bậc miễn phí)
- Liên kết một phiên bản Cloud SQL hiện có với Data Connect (gói Blaze)
Quản lý người dùng
Data Connect cung cấp các công cụ để quản lý quyền truy cập của người dùng theo nguyên tắc về quyền tối thiểu (cấp cho mỗi người dùng hoặc tài khoản dịch vụ các quyền tối thiểu cần thiết để hỗ trợ chức năng cần thiết) và khái niệm về kiểm soát quyền truy cập dựa trên vai trò (RBAC) (với các vai trò được xác định trước để quản lý quyền đối với cơ sở dữ liệu, đơn giản hoá việc quản lý bảo mật).
Để thêm thành viên dự án làm người dùng có thể sửa đổi các thực thể Data Connect trong dự án của bạn, hãy sử dụng bảng điều khiển Firebase để chọn vai trò người dùng được xác định trước phù hợp.
Các vai trò này cấp quyền bằng cách sử dụng dịch vụ Quản lý danh tính và quyền truy cập (IAM). Vai trò là một tập hợp các quyền. Khi chỉ định một vai trò cho thành viên dự án, bạn sẽ cấp cho thành viên dự án đó tất cả các quyền mà vai trò đó có. Xem thêm thông tin trong:
- Tổng quan về các vai trò IAM của Firebase
- Danh sách chi tiết về Data Connectvai trò
Chọn vai trò để bật các quy trình cụ thể
Các vai trò IAM cho phép quy trình Firebase CLI giúp bạn quản lý các dự án Data Connect.
Lệnh CLI, quy trình làm việc khác | (Các) vai trò bắt buộc |
---|---|
firebase init dataconnect
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate
|
|
firebase dataconnect:sql:grant
|
|
Theo dõi hiệu suất dịch vụ Data Connect
Tìm hiểu hiệu suất dịch vụ
Hiệu suất của cả dịch vụ Data Connect và dịch vụ Cloud SQL for PostgreSQL đều có thể ảnh hưởng đến trải nghiệm của bạn.
- Đối với dịch vụ Cloud SQL cho PostgreSQL, hãy tham khảo hướng dẫn chung trong tài liệu về hạn mức và giới hạn.
Đối với dịch vụ Data Connect, có hạn mức cho các yêu cầu GraphQL, ảnh hưởng đến tốc độ mà bạn có thể gọi và thực thi các truy vấn:
- Hạn mức chung cho mỗi dự án là 6.000 yêu cầu mỗi phút từ các trình kết nối ứng dụng khách.
- Hạn mức chung cho mỗi dự án là 6.000 yêu cầu mỗi phút từ Firebase Admin SDK và từ REST API.
- Hạn mức 1.200 yêu cầu mỗi phút cho mỗi người dùng. Ở đây, mỗi người dùng có nghĩa là giới hạn áp dụng cho các yêu cầu do một địa chỉ IP khởi tạo, cho dù là từ một ứng dụng khách, từ Firebase Admin SDK hay từ REST API.
Nếu bạn gặp phải những hạn mức đó, vui lòng liên hệ với nhóm hỗ trợ Firebase để điều chỉnh hạn mức có liên quan.
Theo dõi hiệu suất, mức sử dụng và thông tin thanh toán của dịch vụ
Bạn có thể theo dõi các yêu cầu, lỗi và tốc độ hoạt động, cả trên toàn cầu và theo từng thao tác trong bảng điều khiển Firebase.
Quản lý các phiên bản Cloud SQL
Giới hạn của ưu đãi dùng thử miễn phí
Bản dùng thử miễn phí 3 tháng không hỗ trợ các tính năng sau của Cloud SQL cho PostgreSQL:
- Các phiên bản PostgreSQL khác ngoài 15.x
- Sử dụng các phiên bản Cloud SQL for PostgreSQL hiện có
- Cấp máy khác với db-f1-micro
- Thay đổi tài nguyên của phiên bản, chẳng hạn như bộ nhớ, dung lượng lưu trữ, CPU
- Bản sao chỉ đọc
- Địa chỉ IP của phiên bản riêng tư
- Tính sẵn sàng cao (nhiều vùng); chỉ hỗ trợ các phiên bản một vùng
- Phiên bản Enterprise Plus
- Sao lưu tự động
- Tự động tăng dung lượng lưu trữ.
Quản trị các phiên bản Cloud SQL
Nhìn chung, bạn có thể quản lý các phiên bản Cloud SQL bằng cách sử dụng bảng điều khiển Google Cloud để thực hiện các quy trình sau.
- Dừng và khởi động lại các phiên bản Cloud SQL
- Tạo và xoá cơ sở dữ liệu Cloud SQL (trong các phiên bản)
- Khởi động các phiên bản cơ sở dữ liệu PostgreSQL bằng cờ và sử dụng nhiều tiện ích
- Theo dõi hiệu suất bằng các tính năng quan sát Cloud SQL trong bảng điều khiển Google Cloud
- Quản lý quyền truy cập và bảo mật Cloud SQL bằng các tính năng như IAM, trình quản lý khoá bí mật, tính năng mã hoá dữ liệu và proxy xác thực
- Thêm, xoá và quản trị người dùng Cloud SQL.
Đối với những quy trình này và các quy trình khác, hãy tham khảo tài liệu về Cloud SQL cho PostgreSQL.
Cấp vai trò người dùng PostgreSQL
Data Connect cung cấp các công cụ để quản lý quyền truy cập của người dùng theo nguyên tắc về quyền tối thiểu (cấp cho mỗi người dùng hoặc tài khoản dịch vụ các quyền tối thiểu cần thiết để hỗ trợ chức năng cần thiết) và khái niệm về kiểm soát quyền truy cập dựa trên vai trò (RBAC) (với các vai trò được xác định trước để quản lý quyền đối với cơ sở dữ liệu, đơn giản hoá việc quản lý bảo mật).
Trong một số trường hợp, bạn có thể muốn kết nối trực tiếp với cơ sở dữ liệu Cloud SQL do Data Connect quản lý thông qua một ứng dụng SQL mà bạn chọn, chẳng hạn như Cloud Run, Cloud Functions hoặc GKE.
Để bật các kết nối như vậy, bạn cần cấp quyền SQL bằng cách:
- Chỉ định vai trò IAM
roles/cloudsql.client
cho người dùng hoặc tài khoản dịch vụ cần kết nối với phiên bản, từ bảng điều khiển Google Cloud hoặc bằng cách sử dụng gcloud CLI - Cấp vai trò PostgreSQL cần thiết bằng cách sử dụng CLI Firebase
Chỉ định vai trò IAM của Cloud SQL
Để biết thông tin về cách sử dụng Cloud SQL cho PostgreSQL để chỉ định vai trò IAM roles/cloudsql.client
, hãy xem phần Vai trò và quyền.
Cấp vai trò PostgreSQL
Khi dùng CLI Firebase, bạn có thể cấp các vai trò PostgreSQL được xác định trước cho người dùng hoặc tài khoản dịch vụ được liên kết với dự án của mình bằng lệnh firebase dataconnect:sql:grant
.
Ví dụ: để cấp vai trò người viết, hãy chạy lệnh sau tại CLI:
firebase dataconnect:sql:grant --role writer
Để biết thông tin chi tiết, hãy tham khảo hướng dẫn tham khảo về CLI.
Tích hợp cơ sở dữ liệu Cloud SQL cho PostgreSQL hiện có
Quy trình quản lý và cung cấp cơ sở dữ liệu mặc định giả định rằng dự án của bạn sử dụng cơ sở dữ liệu mới (chưa có gì), và khi bạn gọi firebase deploy
, Data Connect sẽ hiển thị những thay đổi về giản đồ cơ sở dữ liệu cần thực hiện và thực hiện mọi hoạt động di chuyển sau khi bạn phê duyệt.
Đối với các cơ sở dữ liệu hiện có (brownfield), bạn có thể có quy trình làm việc riêng để quản lý lược đồ và không thể sử dụng công cụ Data Connect cho hoạt động di chuyển, nhưng vẫn muốn sử dụng cơ sở dữ liệu của mình trong dự án Data Connect để tận dụng tính năng tạo SDK cho thiết bị di động và web, uỷ quyền dựa trên truy vấn, quản lý kết nối máy khách, v.v.
Phần này cung cấp hướng dẫn về trường hợp thứ hai: tích hợp các cơ sở dữ liệu hiện có với Data Connect.
Tích hợp cơ sở dữ liệu hiện có vào dự án Data Connect
Quy trình tích hợp cơ sở dữ liệu hiện có thường bao gồm các bước sau:
- Trong quá trình thiết lập dự án Data Connect trong bảng điều khiển Firebase, hãy chọn phiên bản và cơ sở dữ liệu.
Sử dụng CLI Firebase, chạy lệnh
firebase dataconnect:sql:setup
và từ chối lựa chọn cho phép Data Connect xử lý các hoạt động di chuyển SQL.Để ngăn những thay đổi đối với giản đồ cơ sở dữ liệu không do công cụ tuỳ chỉnh của bạn điều khiển, lệnh
setup
sẽ chỉ định các vai trò người đọc và người ghi thích hợp, chứ không phải vai tròowner
. Bạn có thể xem thêm thông tin về lệnhsetup
và các vai trò của PostgreSQL trong hướng dẫn tham khảo về CLI.Viết giản đồ Data Connect GraphQL khớp với giản đồ cơ sở dữ liệu của bạn.
Bạn chỉ có thể triển khai giản đồ, truy vấn và đột biến GraphQL khi giản đồ GraphQL của bạn tương thích với giản đồ PostgreSQL.
Để đơn giản hoá việc căn chỉnh cả hai giản đồ, chúng tôi cung cấp lệnh
firebase dataconnect:sql:diff
. Lệnh này sẽ cung cấp cho bạn các câu lệnh SQL bắt buộc để di chuyển cơ sở dữ liệu. Bạn có thể dùng tính năng này để tinh chỉnh giản đồ GraphQL một cách lặp đi lặp lại cho phù hợp với giản đồ cơ sở dữ liệu hiện có.Từ giờ trở đi, bạn có thể nhanh chóng lặp lại trên lược đồ, truy vấn và đột biến GraphQL trong môi trường phát triển cục bộ. Sau đó, khi đã hài lòng, bạn có thể sử dụng
firebase dataconnect:sql:diff
để lấy các câu lệnh di chuyển SQL mà bạn có thể áp dụng cho PostgreSQL bằng cách sử dụng các công cụ và quy trình tuỳ chỉnh của mình.Ngoài ra, trước tiên, bạn có thể thay đổi trực tiếp cơ sở dữ liệu PostgreSQL, sau đó thử chuyển các thay đổi đó trở lại giản đồ GraphQL. Bạn nên sử dụng phương pháp ưu tiên GraphQL, vì có thể có những trường hợp không hỗ trợ các thay đổi về giản đồ. Ngoài ra, nếu bạn triển khai các thay đổi khiến lược đồ PostgreSQL không tương thích với các truy vấn hoặc đột biến của trình kết nối đã triển khai, thì những trình kết nối đó có thể ngừng hoạt động hoặc hoạt động không đúng cách.