Quyền truy cập Looker PSC Southbound vào Cloud SQL PSC

1. Giới thiệu

Trong lớp học lập trình này, bạn sẽ thực hiện kết nối phía nam với Cloud SQL được triển khai bằng Private Service Connect dưới dạng Nhà sản xuất dịch vụ.

Private Service Connect là một tính năng của mạng Google Cloud, cho phép người dùng truy cập riêng tư vào các dịch vụ được quản lý từ bên trong mạng VPC của họ. Tương tự, dịch vụ này cho phép nhà sản xuất dịch vụ được quản lý lưu trữ các dịch vụ này trong mạng VPC riêng của họ và cung cấp kết nối riêng tư cho người dùng. Ví dụ: khi bạn sử dụng Private Service Connect để truy cập vào Looker, bạn là người dùng dịch vụ và Google là nhà cung cấp dịch vụ, như được làm nổi bật trong Hình 1.

145ea4672c3a3b14.png

Quyền truy cập từ dưới lên (còn gọi là PSC đảo ngược) cho phép Người dùng tạo một Dịch vụ đã xuất bản dưới dạng Nhà sản xuất để cho phép Looker truy cập vào các điểm cuối tại chỗ, trong VPC, vào các dịch vụ được quản lý và Internet. Bạn có thể triển khai các kết nối hướng Nam ở bất kỳ khu vực nào, bất kể vị trí triển khai Looker PSC, như được làm nổi bật trong Hình 2.

259493afd914f68b.png

Kiến thức bạn sẽ học được

  • Tạo dịch vụ nhà sản xuất phiên bản Cloud SQL của Private Service Connect
  • Tạo điểm cuối Private Service Connect trong Looker dưới dạng người dùng dịch vụ

Bạn cần có

def88091b42bfe4d.png

2. Sản phẩm bạn sẽ tạo ra

Bạn sẽ thiết lập một phiên bản PSC Cloud SQL được triển khai dưới dạng Nhà sản xuất dịch vụ liên kết với PSC Looker dưới dạng Người dùng dịch vụ.

Các thao tác sau đây xác thực quyền truy cập vào dịch vụ Nhà sản xuất:

  • Tạo Điểm cuối PSC trong Looker được liên kết với Tệp đính kèm dịch vụ nhà sản xuất
  • Sử dụng Looker Console để tạo kết nối cơ sở dữ liệu với PSC Cloud SQL
  • Kiểm thử khả năng kết nối với PSC Cloud SQL bằng cách xác thực và truy cập vào một giao thức được xác định trước

3. Cấu trúc liên kết của lớp học lập trình

1e7035ea608d7d23.png

4. Cách thiết lập và các yêu cầu

Thiết lập môi trường theo tốc độ của riêng bạn

  1. Đăng nhập vào Google Cloud Console rồi tạo một dự án mới hoặc sử dụng lại một dự án hiện có. Nếu chưa có tài khoản Gmail hoặc Google Workspace, bạn phải tạo một tài khoản.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Tên dự án là tên hiển thị cho người tham gia dự án này. Đây là một chuỗi ký tự không được API của Google sử dụng. Bạn luôn có thể cập nhật thông tin này.
  • Mã dự án là duy nhất trên tất cả các dự án Google Cloud và không thể thay đổi (không thể thay đổi sau khi đặt). Cloud Console sẽ tự động tạo một chuỗi duy nhất; thường thì bạn không cần quan tâm đến chuỗi này. Trong hầu hết các lớp học lập trình, bạn sẽ cần tham chiếu đến Mã dự án (thường được xác định là PROJECT_ID). Nếu không thích mã được tạo, bạn có thể tạo một mã ngẫu nhiên khác. Ngoài ra, bạn có thể thử dùng email của riêng mình để xem có thể sử dụng hay không. Bạn không thể thay đổi thông tin này sau bước này và thông tin này sẽ được giữ nguyên trong suốt thời gian diễn ra dự án.
  • Xin lưu ý rằng có một giá trị thứ ba là Mã dự án mà một số API sử dụng. Tìm hiểu thêm về cả ba giá trị này trong tài liệu.
  1. Tiếp theo, bạn cần bật tính năng thanh toán trong Cloud Console để sử dụng các tài nguyên/API trên Cloud. Việc tham gia lớp học lập trình này sẽ không tốn kém nhiều chi phí, nếu có. Để tắt các tài nguyên nhằm tránh bị tính phí sau khi hoàn tất hướng dẫn này, bạn có thể xoá các tài nguyên đã tạo hoặc xoá dự án. Người dùng mới của Google Cloud đủ điều kiện tham gia chương trình Dùng thử miễn phí 300 USD.

Khởi động Cloud Shell

Mặc dù có thể điều khiển Google Cloud từ xa trên máy tính xách tay, nhưng trong lớp học lập trình này, bạn sẽ sử dụng Google Cloud Shell, một môi trường dòng lệnh chạy trên đám mây.

Trong Bảng điều khiển Google Cloud, hãy nhấp vào biểu tượng Cloud Shell trên thanh công cụ trên cùng bên phải:

55efc1aaa7a4d3ad.png

Quá trình cấp phép và kết nối với môi trường sẽ chỉ mất vài phút. Khi quá trình này hoàn tất, bạn sẽ thấy như sau:

7ffe5cbb04455448.png

Máy ảo này được tải sẵn tất cả các công cụ phát triển mà bạn cần. Ứng dụng này cung cấp một thư mục gốc 5 GB ổn định và chạy trên Google Cloud, giúp nâng cao đáng kể hiệu suất mạng và xác thực. Bạn có thể thực hiện mọi thao tác trong lớp học lập trình này trong trình duyệt. Bạn không cần cài đặt gì cả.

5. Trước khi bắt đầu

Bật API

Trong Cloud Shell, hãy đảm bảo bạn đã thiết lập mã dự án:

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region

Bật tất cả các dịch vụ cần thiết:

gcloud services enable compute.googleapis.com

6. Xác định dự án Looker PSC

Để tạo một phiên bản Cloud SQL PSC, bạn cần xác định các dự án psc được phép. Do đó, bạn phải cung cấp dự án của người thuê Looker PSC tại thời điểm tạo phiên bản Cloud SQL hoặc cập nhật nếu đang sử dụng một phiên bản hiện có.

Xác định dự án Looker PSC bằng gcloud

Bên trong Cloud Shell, hãy cập nhật [INSTANCE_NAME] bằng tên thực thể Looker PSC để lấy mã dự án Looker PSC:

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri

Trong kết quả Ví dụ, t7ec792caf2a609d1-tp là dự án Looker PSC:

gcloud looker instances describe looker-psc-instance --region=us-central1 --format=json | grep -i lookerServiceAttachmentUri
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",

Xác định dự án Looker PSC bằng Cloud Console

Trong Cloud Console, hãy chuyển đến:

Looker → Phiên bản Looker PSC

1367ec0136aa5ad6.png

7. Tạo phiên bản Cloud SQL của nhà sản xuất

Trong phần sau, bạn sẽ tạo một thực thể PSC Cloud SQL dùng cho mục đích kiểm thử, được triển khai bằng mật khẩu được xác định trước, chỉ định dự án PSC Looker trong danh sách dự án PSC được phép.

Tạo PSC Cloud SQL

Trong Cloud Shell, hãy tạo một thực thể và bật Private Service Connect, cập nhật [INSTANCE_PROJECT] bằng Mã dự án PSC của Looker.

gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=[INSTANCE_PROJECT] \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123

Ví dụ:

gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=t7ec792caf2a609d1-tp \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123

Tải tệp đính kèm Dịch vụ Cloud SQL

Sau khi tạo một phiên bản Cloud SQL đã bật Private Service Connect, hãy lấy URI đính kèm dịch vụ được sử dụng trong bước sau để tạo điểm cuối Private Service Connect trong Looker.

Trong Cloud Shell, hãy thực hiện như sau:

gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink

Kết quả ví dụ tạo ra URI tệp đính kèm dịch vụ:

projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155

gcloud sql instances describe cloud-sql-psc-demo --project=$project | grep -i pscServiceAttachmentLink:
pscServiceAttachmentLink: projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155

Trên Cloud Console, bạn có thể lấy Tệp đính kèm dịch vụ PSC của Cloud SQL:

Trong Cloud Console, hãy chuyển đến:

SQL → Phiên bản SQL → Kết nối

18940483f646ed15.png

8. Thiết lập kết nối điểm cuối PSC trong Looker

Trong phần sau, bạn sẽ liên kết Tệp đính kèm dịch vụ của nhà sản xuất Cloud SQL với PSC Looker Core thông qua việc sử dụng cờ –psc-service-attachment trong Cloud Shell cho một miền.

Bên trong Cloud Shell, hãy tạo mối liên kết psc bằng cách cập nhật các tham số sau cho phù hợp với môi trường của bạn:

  • INSTANCE_NAME: Tên của phiên bản Looker (Google Cloud core).
  • DOMAIN_1: sql.database1.com
  • SERVICE_ATTACHMENT_1: URI được ghi lại khi mô tả phiên bản PSC Cloud SQL
  • REGION (KHU VỰC): Khu vực lưu trữ thực thể Looker (Google Cloud core)

Trong Cloud Shell, hãy thực hiện như sau:

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

Ví dụ:

gcloud looker instances update looker-psc-instance \
--psc-service-attachment  domain=sql.database1.com,attachment=projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155 \
--region=us-central1

Bên trong Cloud Shell, hãy xác thực connectionStatus của serviceAttachments là "ACCEPTED" (ĐÃ CHẤP THUẬN). Hãy nhớ cập nhật bằng INSTANCE_NAME PSC của Looker:

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

Ví dụ:

gcloud looker instances describe looker-psc-instance --region=$region --format=json

Ví dụ:

user@cloudshell$ gcloud looker instances describe looker-psc-instance --region=$region --format=json
{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "looker.cosmopup.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.14.18",
  "name": "projects/project/locations/us-central1/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
      "projects/project/global/networks/looker-psc-demo",
      "projects/project/global/networks/looker-shared-vpc"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "sql.database1.com",
        "targetServiceAttachmentUri": "projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-09-04T14:40:05.613026012Z"
}

Xác thực điểm cuối PSC trong Cloud Console

Trong Cloud Console, bạn có thể xác thực Kết nối PSC

Trong Cloud Console, hãy chuyển đến:

Looker → Phiên bản Looker → Chi tiết

2d4684d722d31e4b.png

9fa909f826dec963.png

9. Tích hợp PSC của Looker với PSC của Cloud SQL

Trong phần sau, bạn sẽ sử dụng Looker Console để tạo một kết nối Cơ sở dữ liệu với phiên bản PSC Cloud SQL.

Chuyển đến QUẢN TRỊ → CƠ SỞ DỮ LIỆU → KẾT NỐI → Chọn THÊM KẾT NỐI

Điền thông tin chi tiết về kết nối theo ảnh chụp màn hình bên dưới, chọn KẾT NỐI

eb3ef74d3ae71f1a.png

Kết nối hiện đã được định cấu hình

29017202470ad81f.png

10. Xác thực khả năng kết nối của Looker

Trong phần sau, bạn sẽ tìm hiểu cách xác thực khả năng kết nối của Looker với phiên bản PSC Cloud SQL bằng thao tác "kiểm thử" của Looker.

Chuyển đến phần Kết nối dữ liệu ADMIN → DATABASE → CONNECTIONS → cloud-sql-psc-demo → Test (QUẢN TRỊ → CƠ SỞ DỮ LIỆU → KẾT NỐI → cloud-sql-psc-demo → Kiểm thử)

Sau khi bạn chọn Test (Kiểm thử), Looker sẽ kết nối với cơ sở dữ liệu postgres như được chỉ định dưới đây:

d9729caf9a61bfc2.png

Dọn dẹp

Xoá các thành phần của lớp học từ một thiết bị đầu cuối Cloud Shell

gcloud sql instances delete cloud-sql-psc-demo -q

11. Xin chúc mừng

Xin chúc mừng! Bạn đã định cấu hình và xác thực thành công khả năng kết nối với Cloud SQL PSC bằng Looker Console do Private Service Connect cung cấp.

Bạn đã tạo các thực thể PSC Cloud SQL làm Dịch vụ nhà sản xuất và điểm cuối PSC Looker cho phép kết nối với Dịch vụ nhà sản xuất.

Cosmopup cho rằng các lớp học lập trình rất tuyệt vời!!

c911c127bffdee57.jpeg

Tiếp theo là gì?

Hãy xem một số lớp học lập trình này...

Tài liệu đọc thêm và video

Tài liệu tham khảo