VNG Cloud Tích Hợp Thành Công Terraform, Tiên Phong Xu Hướng Infrastructure As Code Tại Việt Nam

2021/06/30 08:37

Infrastructure as Code - xu hướng mới của doanh nghiệp

Trong kỷ nguyên công nghệ điện toán đám mây, các hệ thống máy chủ trên cloud, kho lưu trữ dữ liệu hoặc các ứng dụng IoT được vận hành và quản lý bởi doanh nghiệp ngày càng nhiều. Bên cạnh đó, để bắt kịp với tốc độ phát triển của thị trường, doanh nghiệp cần liên tục ra mắt, xây dựng và nâng cấp các sản phẩm, dịch vụ. Điều này tạo ra thách thức cho bộ phận IT trong việc đẩy nhanh tốc độ triển khai hệ thống mới, đảm bảo tính linh hoạt của hạ tầng, về việc triển khai hệ thống nhanh với hạ tầng co giãn linh hoạt, đáp ứng quá trình vận hành, mở rộng và phát triển hạ tầng mới.

Sự ra đời của Infrastructure as Code (IaC) đã giải quyết những khó khăn trên của doanh nghiệp bằng cách tự động hoá quá trình cấu hình cơ sở hạ tầng, giúp doanh nghiệp triển khai hệ thống nhanh nhất. Một trong những công cụ phổ biến nhất của Infrastructure as Code có thể kể đến là Terraform, một công cụ nguồn mở giúp xây dựng, chỉnh sửa và versioning cho cơ sở hạ tầng một cách an toàn và hiệu quả nhất.

Lợi ích của Terraform

Terraform vừa để quản lý các đơn vị cung cấp dịch vụ cloud như AWS, Azure, Google Cloud …, kể cả VNG Cloud và vừa được dùng trong nội bộ. Terraform quản lý đa dạng các hệ thống hạ tầng, từ compute instance, storage, networking đến DNS hay các giải pháp SaaS....

Với Terraform, doanh nghiệp có thể rút ngắn thời gian điều chỉnh, triển khai các hệ thống công nghệ, dễ dàng mở rộng quy mô máy chủ. Sử dụng Terraform còn giúp doanh nghiệp tăng khả năng giám sát toàn bộ hệ thống, đảm bảo an toàn cơ sở hạ tầng.

VNG Cloud là một trong những đơn vị đầu tiên tích hợp thành công Terraform tại Việt Nam, giúp doanh nghiệp có thể khởi tạo và quản lý network, server nhanh chóng và tối ưu nhất.

Mô hình hoạt động Infrastructure As Code

Hướng dẫn tích hợp Terraform vào hệ thống vServer

Chúng ta hãy tìm hiểu một ví dụ đơn giản, sử dụng Terraform để khởi tạo và quản lý đồng thời nhiều vServer cùng một lúc trên nền tảng VNG Cloud.

Các bước cần thực hiện như sau:

Bước 1: Cài đặt Terraform bạn có thể theo hướng dẫn chi tiết tại đây, sau khi chọn đúng hướng dẫn cài theo hệ điều hành, bạn sẽ có thể gõ câu lệnh terraform --help để kiểm tra đã cài đặt thành công.

Bước 2: Tải các example file với tên main.tf variables.tf từ VNG Cloud repo hoặc bạn có thể tự viết những file này về một thư mục trên máy ví dụ như terraform-vngloud. Terraform sử dụng các file có đuôi .tf để bạn thiết lập các mô tả cho hạ tầng của mình.

  • main.tf: file này chứa các đoạn mã để tạo tài nguyên theo mong muốn, ví dụ đoạn mã dưới đây sẽ giúp Terraform khởi tạo vServer Instance:

resource "vngcloud_vserver_server" "server"{

count = var.server_count

project_id = var.project_id

name = "vngcloud-server-${count.index}"

encryption_volume = false

attach_floating = true

flavor_id = data.vngcloud_vserver_flavor.flavor.id

image_id = data.vngcloud_vserver_image.image.id

network_id = var.network_id

root_disk_size = var.root_disk_size

root_disk_type_id = data.vngcloud_vserver_volume_type.volume_type.id

ssh_key = var.ssh_key_id

security_group = var.security_group_id_list

subnet_id = var.subnet_id

action = "start"

lifecycle {

create_before_destroy = true

}

}

  • variables.tf: file này chứa các biến được sử dụng trong file main.tf ở phía trên, bạn cần thay đổi các thông tin này ứng với nhu cầu của bạn, các thông tin như: cấu hình server, cấu hình disk, hệ điều hành, ssh key,…đồng thời bạn có thể chỉ định số lượng vServer cần khởi tạo ở biến server_count, ví dụ ở đây chúng ta chỉ định 10 vServer sẽ được khởi tạo cùng lúc.

variable "image_name" {

type = string

default = "1-Ubuntu-18.04x64"

}

variable "flavor_zone_name" {

type = string

default = "General v1 Instances"

}

variable "flavor_name" {

type = string

default = "v1.small1x1.b100"

}

variable "volume_type_name" {

type = string

default = "SSD-IOPS3000"

}

variable "root_disk_size" {

type = number

default = 20

}

variable "data_disk_size" {

type = number

default = 50

}

variable "server_count" {

type = number

default = 10

}

Bước 3: Sau quá trình cấu hình các thông tin ở tf file, bạn cần chạy lệch terraform init để terraform khởi tạo và tải VNG Cloud provider về, đồng thời thiết lập các thông tin cần thiết.

Bước 4: Chạy lệnh terraform plan để kiểm tra và hiển thị trước những tài nguyên sẽ được tạo hoặc có sự thay đổi.

Bước 5: Chạy lệnh terraform apply để thực hiện việc khởi tạo vServer với những tf file đặc tả trên thông qua Terraform. Chúc mừng bạn khởi tạo thành công 10 vServer với Terraform.

Để xem chi tiết hơn hướng dẫn này bạn có thể xem tại đây.

Để giúp doanh nghiệp trải nghiệm
Infrastructure As Code trên VNG Cloud