Menghubungkan klien SQL Server menggunakan image Docker Proxy Auth Cloud SQL

Halaman ini menjelaskan cara menghubungkan klien sqlcmd ke instance Cloud SQL Anda, dari komputer klien yang menjalankan instance Linux atau Compute Engine Linux menggunakan image Docker Proxy Auth Cloud SQL.

Sebelum memulai

Anda harus:

Menghubungkan klien sqlcmd menggunakan image Docker Proxy Auth Cloud SQL

Untuk terhubung menggunakan image Docker Proxy Auth Cloud SQL:

  1. Enable the Cloud SQL Admin API.

    Enable the API

  2. Jika Anda menggunakan instance Compute Engine, siapkan instance tersebut:
    1. Tampilkan properti instance Compute Engine:
      gcloud compute instances describe [GCE_INSTANCE_NAME]
    2. Memverifikasi cakupan yang diaktifkan pada instance.

      Mengautentikasi menggunakan cakupan memerlukan kedua cakupan berikut:

      • https://www.googleapis.com/auth/sqlservice.admin
      • https://www.googleapis.com/auth/devstorage.read_write

      Atau, cakupan https://www.googleapis.com/auth/cloud-platform akan mengaktifkan semua API Google Cloud Platform.

      Jika instance Compute Engine tidak memiliki cakupan yang tepat, Anda dapat memperbarui instance untuk menyertakannya. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Compute Engine.

    3. Buka koneksi terminal ke instance menggunakan petunjuk pada Menghubungkan ke Instance Linux.
  3. Instal klien sqlcmd di instance Compute Engine atau komputer klien, jika belum diinstal.

    Debian/Ubuntu

    Untuk Debian/Ubuntu, instal alat command line SQL Server yang berlaku.

    CentOS/RHEL

    Untuk CentOS/RHEL, instal alat command line SQL Server yang berlaku.

    openSUSE

    Untuk openSUSE, instal alat command line SQL Server yang berlaku.

    Platform lainnya

    Lihat halaman landing untuk menginstal SQL Server, serta halaman download SQL Server.

  4. Jika diperlukan, instal klien Docker:
    curl https://get.docker.com | sh
    sudo usermod -aG docker $USER
    

    Jika Anda menggunakan instance Compute Engine yang dioptimalkan untuk container, maka klien Docker telah terinstal di dalamnya.

  5. Instal image Docker Proxy Auth Cloud SQL dari Google Container Registry.
    docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.11.0
  6. Jika Anda menjalankan image Docker Proxy Auth Cloud SQL di mesin lokal (bukan instance Compute Engine), atau instance Compute Engine tidak memiliki cakupan yang tepat, buat akun layanan Google Cloud Platform.
    1. Di Konsol Google Cloud, buka halaman Service accounts.

      Buka halaman Service accounts

    2. Pilih project yang berisi instance Cloud SQL.
    3. Klik Create service account.
    4. Di kolom Nama akun layanan, masukkan nama deskriptif untuk akun layanan.
    5. Ubah ID akun layanan menjadi nilai yang unik dan dapat dikenali, kemudian klik Buat dan lanjutkan.
    6. Klik kolom Pilih peran dan pilih salah satu dari peran berikut:
      • Cloud SQL > Klien Cloud SQL
      • Cloud SQL > Editor Cloud SQL
      • Cloud SQL > Admin Cloud SQL
    7. Klik Selesai untuk menyelesaikan pembuatan akun layanan.
    8. Klik menu tindakan untuk akun layanan baru kemudian pilih Mengelola kunci.
    9. Klik menu drop-down Tambahkan kunci kemudian klik Buat kunci baru.
    10. Lakukan konfirmasi bahwa jenis kunci tersebut adalah JSON kemudian klik Buat.

      File kunci pribadi telah didownload ke mesin. Anda dapat memindahkan file tersebut ke lokasi lain. Simpan file kunci dengan aman.

    Anda memberikan jalur ke file kunci sebagai "PATH_TO_KEY_FILE" saat memulai Proxy Auth Cloud SQL.

  7. Buka halaman Instance Cloud SQL di konsol Google Cloud.

    Buka Instance Cloud SQL

  8. Pilih instance untuk membuka halaman Instance details-nya dan salin Instance connection name.

    Misalnya: myproject:us-central1:myinstance.

  9. Mulai Proxy Auth Cloud SQL.

    Bergantung pada bahasa dan lingkungan, Anda dapat memulai Proxy Auth Cloud SQL menggunakan soket TCP atau soket Unix. Soket Unix tidak didukung untuk aplikasi yang ditulis dalam bahasa pemrograman Java atau untuk lingkungan Windows.

    Soket TCP

    docker run -d \
      -v <PATH_TO_KEY_FILE>:/path/to/service-account-key.json \
      -p 127.0.0.1:1433:1433 \
      gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.11.0 \
      --credentials-file /path/to/service-account-key.json <INSTANCE_CONNECTION_NAME>
    

    Jika Anda menggunakan kredensial yang disediakan oleh instance Compute Engine, jangan sertakan parameter --credentials-file dan baris -v <PATH_TO_KEY_FILE>:/path/to/service-account-key.json .

    Selalu tentukan awalan 127.0.0.1 di -p sehingga Proxy Auth Cloud SQL tidak diekspos di luar host lokal. "0.0.0.0" di parameter instance diperlukan agar port dapat diakses dari luar container Docker.

    Soket Unix

    docker run -d -v /cloudsql:/cloudsql \
      -v <PATH_TO_KEY_FILE>:/path/to/service-account-key.json \
      gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.11.0 //
      --unix-socket=/cloudsql \
      --credentials-file /path/to/service-account-key.json <INSTANCE_CONNECTION_NAME> 
    

    Jika Anda menggunakan kredensial yang disediakan oleh instance Compute Engine, jangan sertakan parameter --credentials-file dan baris -v <PATH_TO_KEY_FILE>:/path/to/service-account-key.json .

    Jika Anda menggunakan image yang dioptimalkan untuk container, gunakan direktori yang dapat ditulis sebagai pengganti /cloudsql, misalnya:

    -v /mnt/stateful_partition/cloudsql:/cloudsql

    Anda dapat menentukan lebih dari satu instance yang dipisahkan dengan koma. Anda juga dapat menggunakan metadata Compute Engine untuk menentukan instance yang akan dihubungkan secara dinamis. Pelajari parameter proxy lebih lanjut.

  10. Mulai klien:

    String koneksi yang digunakan bergantung pada apakah Anda memulai Proxy Auth Cloud SQL menggunakan soket TCP atau Docker.

    Soket TCP

    1. Mulai klien sqlcmd:
      sqlcmd -S tcp:127.0.0.1,1433 -U USERNAME -P PASSWORD
      

      Ketika Anda terhubung menggunakan soket TCP, Proxy Auth Cloud SQL akan diakses melalui127.0.0.1.

    2. Jika diminta, masukkan sandi.
    3. Perintah sqlcmd akan muncul.
Butuh bantuan? Untuk mendapatkan bantuan pemecahan masalah proxy, lihat Memecahkan masalah koneksi Proxy Auth Cloud SQL, atau lihat halaman Dukungan Cloud SQL kami.

Pastikan image Docker Proxy Auth Cloud SQL selalu terbaru

Image Docker Proxy Auth Cloud SQL didasarkan pada versi tertentu dari Proxy Auth Cloud SQL. Ketika versi terbaru Proxy Auth Cloud SQL tersedia, tarik image Docker Proxy Auth Cloud SQL versi baru untuk menjaga lingkungan tetap menjadi yang terbaru. Anda dapat melihat versi saat ini Auth Proxy Cloud SQL dengan memeriksa halaman rilis GitHub Proxy Auth Cloud SQL. Rilisan proxy mendatang juga akan dicantumkan di forum pengumuman Cloud SQL Google Groups .

Langkah selanjutnya