Terraform ile Cloud Spanner

1. Genel Bakış

Son Güncelleme Tarihi: 23.07.2020

Cloud Spanner nedir?

Google Cloud Spanner; replika, parçalama ve işlem işlemlerini otomatik olarak gerçekleştiren, küresel olarak dağıtılan ve ACID uyumlu bir veritabanıdır. Böylece her türlü kullanım kalıbına uyacak şekilde hızlıca ölçeklendirme yapabilir ve ürünlerinizin başarılı olmasını sağlayabilirsiniz.

Temel Özellikler

  • Ölçeklendirme için tasarlanmış ilişkisel veritabanı: Şemalar, SQL sorguları ve ACID işlemleri gibi ilişkisel bir veritabanından bekleyebileceğiniz her şey çalışma koşullarında test edilmiş ve küresel olarak ölçeklenmeye hazırdır.
  • % 99,999 kullanılabilirlik: Cloud Spanner, çok bölgeli örnekler için sektör lideri% 99,999 kullanılabilirlik sunar (dört dokuza göre 10 kat daha az kapalı kalma süresi) ve bölge ile çok bölgeli yapılandırmalarda şeffaf ve eşzamanlı çoğaltma sağlar.
  • Otomatik parçalama: Cloud Spanner, verileri istek yüküne ve verilerin boyutuna göre otomatik olarak parçalayarak performansı optimize eder. Böylece, veritabanınızı nasıl ölçeklendireceğiniz konusunda endişelenmeye daha az zaman harcayıp bunun yerine işletmenizi ölçeklendirmeye odaklanabilirsiniz.

Tüm özellikleri göster

Neler öğreneceksiniz?

  • Google Cloud Terraform sağlayıcısı nasıl kullanılır?
  • Cloud Spanner örnekleri ve veritabanları oluşturmak için Terraform'u kullanma.
  • Cloud Spanner kaynaklarını değiştirmek için Terraform'u kullanma.
  • Cloud Spanner kaynaklarını silmek için Terraform'u kullanma.

2. Kurulum ve Gereksinimler

Kendi hızınızda ortam kurulumu

Google Hesabınız (Gmail veya Google Apps) yoksa bir hesap oluşturmanız gerekir. Google Cloud Platform konsolunda oturum açın ( console.cloud.google.com) ve yeni bir proje oluşturun:

50983ac3fdbbf8d0.png

ea581205026ca8e3.png

Tüm Google Cloud projelerinde benzersiz bir ad olan proje kimliğini unutmayın (yukarıdaki ad zaten alınmış ve size uygun olmayacaktır!). Bu kod, bu codelab'in ilerleyen bölümlerinde PROJECT_ID olarak adlandırılacaktır.

Sonraki adımda, Google Cloud kaynaklarını kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir.

Bu codelab'i kullanmanın maliyeti birkaç dolardan fazla olmayacaktır. Ancak daha fazla kaynak kullanmaya karar verirseniz veya bu kaynakları çalışır durumda bırakırsanız daha yüksek ücret ödemeniz gerekebilir (bu belgenin sonundaki "temizlik" bölümüne bakın).

Yeni Google Cloud Platform kullanıcıları 300 ABD doları değerinde ücretsiz denemeden yararlanabilir.

Kimlik Doğrulama

Daha önce yapmadıysanız lütfen gcloud komut satırı aracını yükleyin. gcloud yüklendikten sonra terminalinizde aşağıdaki komutu çalıştırarak Uygulama Varsayılan Kimlik Bilgilerini etkinleştirin:

$ gcloud auth application-default login

Terraform

Terraform'u daha önce yüklemediyseniz Terraform'u yükleyin.

3. Google Cloud Terraform Sağlayıcısı

Google Cloud Terraform Sağlayıcısı, dört Cloud Spanner kaynağı sağlar:

Bu codelab'de Cloud Spanner örnekleri ve veritabanlarını oluşturup yöneteceğiz.

Ortam

Geliştirme ortamınızda, Terraform yapılandırma dosyalarınız için yeni bir dizin oluşturun.

$ mkdir ~/terraform-spanner
$ cd ~/terraform-spanner

Ardından, "main.tf" adında bir dosya oluşturun. PROJECT_ID'yi kendi Google Cloud proje kimliğinizle değiştirin:

$ cat >> main.tf <<'EOF'
provider "google" {
  project = "PROJECT_ID"
}
EOF

Codelab'in bu geri kalanında bu dosyayı değiştirecek ve değişiklikleri uygulayacağız.

4. Örnekler ve Veritabanları Oluşturma

Yeni bir Cloud Spanner örneği eklemek için main.tf dosyasını aşağıdaki içerikle değiştirin:

provider "google" {
  project = "PROJECT_ID"
}

resource "google_spanner_instance" "main" {
  config       = "regional-us-central1"
  display_name = "first-terraform-instance"
  num_nodes    = 3
}

Değişiklikleri uygulamak için aşağıdaki komutu çalıştırın:

$ terraform apply
# ...
Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes
# ...
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Değişiklikler uygulandıktan sonra örneği Google Cloud Console'da görebilirsiniz. Örnek oluşturulduktan sonra bölgesel yapılandırmanın değiştirilemeyeceğini lütfen unutmayın.

48b67416982fa152.png

Örneği oluşturduktan sonraki adımlarda veritabanı oluşturacağız. main.tf dosyasını şu içeriklerle değiştirin:

provider "google" {
  project = "PROJECT_ID"
}

resource "google_spanner_instance" "main" {
  config       = "regional-us-central1"
  display_name = "first-terraform-instance"
  num_nodes    = 3
}

resource "google_spanner_database" "database" {
  instance = google_spanner_instance.main.name
  name     = "my-first-database"
}

Değişiklikleri uygulamak için aşağıdaki komutu tekrar kullanın:

$ terraform apply
# ...
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

İşlem başarılı olursa ilk veritabanım örnek altında kullanılabilir:

9962a71c6b2a3aff.png

5. Örnekleri Değiştirme

Önceki bölümde belirtildiği gibi, örneklerin tüm özellikleri değiştirilemez. Ancak örnek tarafından kullanılan kaynakları ayarlamak için düğüm sayısını artırabilir/azaltabilirsiniz. Oluşturulan örnek 3 düğüme sahiptir. main.tf dosyasını değiştirerek düğüm sayısını 5'e çıkaracağız:

provider "google" {
  project = "PROJECT_ID"
}

resource "google_spanner_instance" "main" {
  config       = "regional-us-central1"
  display_name = "first-terraform-instance"
  num_nodes    = 5
}

resource "google_spanner_database" "database" {
  instance = google_spanner_instance.main.name
  name     = "my-first-database"
}

Bir sonraki adım, değişiklikleri uygulamaktır:

$ terraform apply
# ...
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

İşlem başarılı olduğunda örnek 5 düğüm kullanır.

6. Veritabanı Silme

Artık ihtiyaç duymadığınız bir veritabanını kalıcı olarak silebilirsiniz. Veritabanını main.tf'den kaldırıp değişiklikleri uygulamanız yeterlidir.

provider "google" {
  project = "PROJECT_ID"
}

resource "google_spanner_instance" "main" {
  config       = "regional-us-central1"
  display_name = "first-terraform-instance"
  num_nodes    = 5
}
$ terraform apply
# ...
Apply complete! Resources: 0 added, 0 changed, 1 destroyed.

İşlem tamamlandığında veritabanı kalıcı olarak silinir.

7. Örnekleri Silme

Artık ihtiyaç duymadığınız bir örneği kalıcı olarak silebilirsiniz. Örneği main.tf dosyasından kaldırıp değişiklikleri uygulamanız yeterlidir.

provider "google" {
  project = "PROJECT_ID"
}
$ terraform apply
# ...
Apply complete! Resources: 0 added, 0 changed, 1 destroyed.

İşlem başarılı olduğunda örnek kalıcı olarak silinir.

8. Tebrikler!

Terraform kullanarak Cloud Spanner kaynakları oluşturdunuz, değiştirdiniz ve sildiniz.

İşlediklerimiz

  • Google Cloud Terraform sağlayıcısı nasıl kullanılır?
  • Cloud Spanner örnekleri ve veritabanları oluşturmak için Terraform'u kullanma.
  • Cloud Spanner kaynaklarını değiştirmek için Terraform'u kullanma.
  • Cloud Spanner kaynaklarını silmek için Terraform'u kullanma.

Daha Fazla Bilgi