Computer >> Máy Tính >  >> Lập trình >> Redis

Cung cấp và quản lý Redis Enterprise Cloud mọi nơi với HashiCorp Terraform

Hôm nay, chúng tôi vui mừng thông báo về sự sẵn có của nhà cung cấp HashiCorp Terraform Redis Enterprise Cloud. Trong khi các nhóm phát triển nắm lấy ngày càng nhiều các nguyên tắc DevOps như tích hợp liên tục / phân phối liên tục (CI / DC), nhu cầu quản lý cơ sở hạ tầng dưới dạng mã gần như đã trở thành một khả năng bắt buộc đối với bất kỳ dịch vụ đám mây nào. Một công cụ hàng đầu trong cơ sở hạ tầng như không gian mã là HashiCorp Terraform, hỗ trợ các nhà cung cấp và dịch vụ đám mây lớn với các nhà cung cấp và mô-đun hệ sinh thái tự động hóa cơ sở hạ tầng đám mây để cung cấp, tuân thủ và quản lý bất kỳ đám mây, cơ sở hạ tầng và dịch vụ nào.

Terraform là gì?

Nếu bạn chưa quen, Terraform là một công cụ để xây dựng, thay đổi và lập phiên bản cơ sở hạ tầng một cách an toàn và hiệu quả, quản lý mọi thứ bằng mã. Tệp cấu hình được sử dụng để mô tả các thành phần cần thiết để chạy ứng dụng của bạn. Terraform có thể quản lý hầu hết mọi thành phần cơ sở hạ tầng, bao gồm kim loại trần, máy ảo, phiên bản đám mây và nhiều dịch vụ Cơ sở hạ tầng như một Dịch vụ (IaaS) phổ biến khác. Các thành phần trong ngăn xếp ứng dụng của bạn được biểu thị dưới dạng tài nguyên trong Terraform. Nhà cung cấp Terraform chịu trách nhiệm tìm hiểu các tương tác API của tài nguyên có liên quan và đưa các tính năng của tài nguyên ra thế giới.

Vậy hôm nay chúng ta công bố điều gì?

Để đáp ứng nhu cầu ngày càng tăng này, Redis đã phát triển nhà cung cấp Terraform cho Redis Enterprise Cloud. Nhà cung cấp dịch vụ đám mây doanh nghiệp Redis của HashiCorp Terraform cho phép khách hàng triển khai và quản lý các đăng ký, cơ sở dữ liệu và mạng ngang hàng Redis Enterprise một cách dễ dàng dưới dạng mã, trên bất kỳ nhà cung cấp đám mây nào.

Bắt đầu nhanh

Để chứng minh cách hoạt động của Redis Enterprise Cloud’s Terraform Provider và những gì nó có thể làm, hãy tạo một đăng ký mẫu với hai cơ sở dữ liệu, một trong số chúng bằng cách sử dụng mô-đun RedisJSON.

Điều kiện tiên quyết:

  1. Terraform được cài đặt cục bộ.
  2. Tài khoản Redis Enterprise Cloud.
  3. Quyền truy cập có lập trình được bật vào tài khoản Redis Enterprise Cloud của bạn.

Hãy bắt đầu bằng cách lưu trữ các khóa API Redis Enterprise Cloud của chúng tôi dưới dạng các biến môi trường:

$ export REDISCLOUD_ACCESS_KEY =

$ export REDISCLOUD_SECRET_KEY =

Bây giờ, hãy tạo một thư mục mới và đặt tệp Terraform HCL được hiển thị ở đây. Hãy gọi tệp là rediscloud-tf-example.tf:

terraform {
 required_providers {
   rediscloud = {
     source = "Redis/rediscloud"
     version = "0.2.0"
   }
 }
}
# Provide your credit card details
data "rediscloud_payment_method" "card" {
 card_type = "Visa"
 last_four_numbers = "1234"
}
 
# Generates a random password for the database
resource "random_password" "passwords" {
 count = 2
 length = 20
 upper = true
 lower = true
 number = true
 special = false
}
 
resource "rediscloud_subscription" "example" {
 name = "Demo"
 payment_method_id = data.rediscloud_payment_method.card.id
 memory_storage = "ram"
 
 cloud_provider {
   #Running in AWS on Redis resources
   provider = "AWS"
   cloud_account_id = 1
   region {
     region = "eu-west-1"
     networking_deployment_cidr = "10.0.0.0/24"
     preferred_availability_zones = ["eu-west-1a"]
   }
 }
 database {
   name = "redis-db"
   protocol = "redis"
   memory_limit_in_gb = 1
   replication = true
   data_persistence = "none"
   throughput_measurement_by = "number-of-shards"
   throughput_measurement_value = 2
   password = random_password.passwords[0].result
 }
 database {
   name = "db-json"
   protocol = "redis"
   memory_limit_in_gb = 1
   replication = true
   data_persistence = "aof-every-1-second"
   module {
       name = "RedisJSON"
   }
   throughput_measurement_by = "operations-per-second"
   throughput_measurement_value = 10000
   password = random_password.passwords[1].result
 }
}

Bước tiếp theo là khởi tạo môi trường địa hình bằng cách chạy lệnh này:

$ terraform init

Kết quả sẽ như thế này:

...
Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.
...

Sau khi Terraform đã được khởi tạo thành công, hãy chạy lệnh sau để Terraform tạo kế hoạch:

$ kế hoạch địa hình

Đầu ra sẽ giống như sau:

...
Plan: 1 to add, 0 to change, 0 to destroy.
...

Bây giờ hãy để Terraform thực hiện điều kỳ diệu của nó và cung cấp cơ sở dữ liệu của chúng tôi:

áp dụng $ terraform

Lệnh áp dụng terraform có thể mất vài phút để hoàn thành sau khi hoàn thành, nó sẽ tạo ra kết quả giống như sau:

…
rediscloud_subscription.example: Creation complete after 8m16s [id=103873]
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
...

Như bạn có thể thấy, chúng tôi hiện đã cung cấp hai cơ sở dữ liệu mới. Tất cả những gì bạn phải làm là lấy các điểm cuối của cơ sở dữ liệu và cắm chúng vào ứng dụng của bạn. Bạn cũng có thể sử dụng RedisInsight, GUI để phát triển ứng dụng Redis được sắp xếp hợp lý, để kết nối và khám phá dữ liệu của bạn.

Bảng điều khiển Redis Enterprise Cloud hiển thị đăng ký và cơ sở dữ liệu mới:

Cung cấp và quản lý Redis Enterprise Cloud mọi nơi với HashiCorp Terraform

Khi bạn đã hoàn thành việc vui vẻ với cơ sở dữ liệu của mình, bạn có thể chia nhỏ mọi thứ bằng cách chạy lệnh này:

$ terraform hủy

Tiếp theo là gì?

Chúng tôi sẽ tiếp tục mở rộng khả năng của Nhà cung cấp đám mây doanh nghiệp HashiCorp Terraform Redis. Nếu bạn có ý tưởng hoặc tính năng muốn chúng tôi hỗ trợ trong nhà cung cấp hoặc bạn tìm thấy lỗi, vui lòng cho chúng tôi biết bằng cách mở sự cố trong kho lưu trữ GitHub của chúng tôi. Bạn cũng có thể gửi cho chúng tôi một dòng tại pm.group@redis.com.

Đối với các trường hợp sử dụng sản xuất, chúng tôi cũng khuyên bạn nên sử dụng, đây là dịch vụ dựa trên đám mây của HashiCorp dành cho Terraform. Điều này sẽ cho phép bạn lưu trữ thông tin đăng nhập trong một môi trường an toàn bên ngoài tệp cấu hình và kiểm soát nguồn của bạn. Terraform Cloud cũng đi kèm với các tính năng cộng tác như lưu trữ trạng thái từ xa miễn phí, quyền không gian làm việc tùy chỉnh, tích hợp hệ thống kiểm soát phiên bản, cũng như chính sách như mã. Bạn có thể đăng ký miễn phí tại terraform.io/cloud.