วันนี้ เรายินดีที่จะประกาศความพร้อมใช้งานของผู้ให้บริการ HashiCorp Terraform Redis Enterprise Cloud ในขณะที่ทีมพัฒนาใช้หลักการ DevOps มากขึ้นเรื่อยๆ เช่น การผสานรวมอย่างต่อเนื่อง/การจัดส่งแบบต่อเนื่อง (CI/DC) ความจำเป็นในการจัดการโครงสร้างพื้นฐานเนื่องจากโค้ดกลายเป็นความสามารถที่แทบต้องมีสำหรับบริการคลาวด์ใดๆ เครื่องมือชั้นนำในโครงสร้างพื้นฐานเป็นพื้นที่โค้ดคือ HashiCorp Terraform ซึ่งสนับสนุนผู้ให้บริการและบริการระบบคลาวด์รายใหญ่ด้วยผู้ให้บริการและโมดูลระบบนิเวศโครงสร้างพื้นฐานระบบคลาวด์อัตโนมัติสำหรับการจัดเตรียม การปฏิบัติตามข้อกำหนด และการจัดการระบบคลาวด์ โครงสร้างพื้นฐาน และบริการ
Terraform คืออะไร
หากคุณไม่คุ้นเคย Terraform เป็นเครื่องมือสำหรับสร้าง เปลี่ยนแปลง และกำหนดเวอร์ชันโครงสร้างพื้นฐานอย่างปลอดภัยและมีประสิทธิภาพ จัดการทุกอย่างด้วยโค้ด ไฟล์การกำหนดค่าใช้เพื่ออธิบายส่วนประกอบที่จำเป็นในการเรียกใช้แอปพลิเคชันของคุณ Terraform สามารถจัดการองค์ประกอบโครงสร้างพื้นฐานได้เกือบทุกชนิด รวมถึง Bare Metal เครื่องเสมือน อินสแตนซ์คลาวด์ และบริการ Infrastructure-as-a-Services (IaaS) ยอดนิยมอื่นๆ อีกมากมาย ส่วนประกอบในสแต็กแอปพลิเคชันของคุณแสดงเป็นทรัพยากรใน Terraform ผู้ให้บริการ Terraform มีหน้าที่รับผิดชอบในการทำความเข้าใจการโต้ตอบ API ของทรัพยากรที่เกี่ยวข้องและเปิดเผยคุณสมบัติของทรัพยากรให้โลกเห็น
แล้ววันนี้เราจะประกาศอะไร?
เพื่อตอบสนองความต้องการที่เพิ่มขึ้นนี้ Redis ได้พัฒนาผู้ให้บริการ Terraform สำหรับ Redis Enterprise Cloud ผู้ให้บริการคลาวด์ HashiCorp Terraform Redis Enterprise ช่วยให้ลูกค้าสามารถปรับใช้และจัดการการสมัครใช้งาน Redis Enterprise Cloud ฐานข้อมูล และการเพียร์เครือข่ายได้อย่างง่ายดายเหมือนโค้ดบนผู้ให้บริการระบบคลาวด์ทุกราย
เริ่มต้นอย่างรวดเร็ว
เพื่อแสดงให้เห็นว่า Terraform Provider ของ Redis Enterprise Cloud ทำงานอย่างไรและทำอะไรได้บ้าง มาสร้างการสมัครสมาชิกตัวอย่างที่มีฐานข้อมูล 2 ฐานข้อมูล โดยหนึ่งในนั้นใช้โมดูล RedisJSON
ข้อกำหนดเบื้องต้น:
- ติดตั้ง Terraform ในเครื่องแล้ว
- บัญชี Redis Enterprise Cloud
- เปิดใช้งานการเข้าถึงแบบเป็นโปรแกรมสำหรับบัญชี Redis Enterprise Cloud ของคุณ
เริ่มต้นด้วยการจัดเก็บคีย์ Redis Enterprise Cloud API เป็นตัวแปรสภาพแวดล้อม:
$ ส่งออก REDISCLOUD_ACCESS_KEY=<คีย์การเข้าถึง API ของคุณ>
$ ส่งออก REDISCLOUD_SECRET_KEY=<รหัสลับ API ของคุณ>
ตอนนี้ มาสร้างโฟลเดอร์ใหม่และวางไฟล์ Terraform HCL ที่แสดงไว้ที่นี่ มาเรียกไฟล์ 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 } }
ขั้นตอนต่อไปคือการเริ่มต้นสภาพแวดล้อม terraform โดยเรียกใช้คำสั่งนี้:
$ terraform init
ผลลัพธ์ควรเป็นดังนี้:
... 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. ...
หลังจากที่เริ่มต้น Terraform สำเร็จแล้ว ให้รันคำสั่งต่อไปนี้เพื่อให้ Terraform สร้างแผน:
แผน $ terraform
ผลลัพธ์ควรมีลักษณะดังนี้:
... Plan: 1 to add, 0 to change, 0 to destroy. ...
ตอนนี้ให้ Terraform ทำเวทมนตร์และจัดเตรียมฐานข้อมูลของเรา:
ใช้ $ terraform
คำสั่ง terraform apply อาจใช้เวลาหลายนาทีจึงจะเสร็จสมบูรณ์เมื่อเสร็จสิ้น ซึ่งควรให้ผลลัพธ์ที่มีลักษณะดังนี้:
… rediscloud_subscription.example: Creation complete after 8m16s [id=103873] Apply complete! Resources: 1 added, 0 changed, 0 destroyed. ...
อย่างที่คุณเห็น ตอนนี้เราได้เตรียมฐานข้อมูลใหม่สองฐานข้อมูลแล้ว สิ่งที่คุณต้องทำคือคว้าปลายทางของฐานข้อมูลและเสียบเข้ากับแอปพลิเคชันของคุณ คุณยังสามารถใช้ RedisInsight ซึ่งเป็น GUI สำหรับการพัฒนาแอปพลิเคชัน Redis ที่มีความคล่องตัว เพื่อเชื่อมต่อและสำรวจข้อมูลของคุณ
คอนโซล Redis Enterprise Cloud แสดงการสมัครใช้งานและฐานข้อมูลใหม่:
![จัดเตรียมและจัดการ Redis Enterprise Cloud ได้ทุกที่ด้วย HashiCorp Terraform](/article/uploadfiles/202207/2022070811041077.png)
เมื่อคุณสนุกกับฐานข้อมูลของคุณเสร็จแล้ว คุณสามารถทำลายทุกอย่างได้ด้วยการรันคำสั่งนี้:
$ ทำลาย terraform
จะเป็นอย่างไรต่อไป
เราจะขยายขีดความสามารถของผู้ให้บริการคลาวด์ HashiCorp Terraform Redis Enterprise ต่อไป หากคุณมีแนวคิดหรือคุณลักษณะที่ต้องการให้เราสนับสนุนในผู้ให้บริการหรือพบข้อบกพร่อง โปรดแจ้งให้เราทราบโดยเปิดปัญหาในที่เก็บ GitHub ของเรา นอกจากนี้คุณยังสามารถวางสายที่ [email protected]
สำหรับกรณีการใช้งานจริง เรายังแนะนำให้ใช้ ซึ่งเป็นข้อเสนอบนคลาวด์ของ HashiCorp สำหรับ Terraform สิ่งนี้จะช่วยให้คุณสามารถจัดเก็บข้อมูลรับรองในสภาพแวดล้อมที่ปลอดภัยนอกไฟล์การกำหนดค่าและการควบคุมแหล่งที่มา Terraform Cloud ยังมาพร้อมกับคุณสมบัติการทำงานร่วมกัน เช่น พื้นที่เก็บข้อมูลระยะไกลฟรี สิทธิ์พื้นที่ทำงานที่กำหนดเอง การรวมระบบควบคุมเวอร์ชัน และนโยบายเป็นโค้ด คุณสามารถลงทะเบียนได้ฟรีที่ terraform.io/cloud