Cách tạo bảng DynamoDB trên AWS bằng Terraform

theanh

Administrator
Nhân viên
Trong bài viết này, chúng ta sẽ xem các bước để tạo Bảng DynamoDB bằng Terraform. Chúng ta sẽ tạo Bảng DynamoDB với mô hình thanh toán "PAY_PER_REQUEST". Trước khi tiếp tục với bài viết này, chúng tôi cho rằng bạn đã biết về Dịch vụ AWS DynamoDB và biết những điều cơ bản của nó, cùng với Terraform.

Nhấp vàođây để tìm hiểu thêm về các đối số và thuộc tính DynamoDB có trong Terraform.

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

  1. Hiểu biết cơ bản về Terraform.
  2. Terraform được cài đặt trên hệ thống của bạn.
  3. Tài khoản AWS (Tạo nếu bạn chưa có).
  4. 'access_key' & 'secret_key' của Người dùng AWS IAM có đủ quyền để tạo bảng DynamoDB. (Nhấp vào đâyđể tìm hiểu cách tạo người dùng IAM với 'access_key' & 'secret_key' trên AWS, )

Chúng ta sẽ làm gì?​

  1. Viết các tệp cấu hình Terraform cho Bảng DynamoDB.
  2. Tạo bảng DynamoDB bằng các tệp cấu hình Terraform.
  3. Xóa Bảng DynamoDB đã tạo bằng Terraform.

Viết các tệp cấu hình Terraform cho Bảng DynamoDB​

Tạo một thư mục chuyên dụng để viết và lưu trữ các tệp Terraform nhằm tạo bảng DynamoDB.

Bây giờ, hãy tạo một tệp mới có tên "main.tf" và lưu mã sau vào đó. Mã tương tự cũng có sẵn trên kho Github của tôi. Bạn thậm chí có thể sao chép mã từ đó.

Mã sau sẽ tạo một tài nguyên trong "region =eu-west-3". Thay đổi vùng theo lựa chọn của bạn.
Mã:
Liên kết Github:[URL=https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-dynamodb-table/main.tf?utm_source=diendancongnghe.com]https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-dynamodb-table/main.tf[/URL]
Mã:
Tệp: main.tf
Mã:
nhà cung cấp "aws" { access_key = "${var.access_key}" secret_key = "${var.secret_key}" region = "[B]eu-west-3[/b]"}resource "aws_dynamodb_table" "my_first_table" { name = "${var.table_name}" billing_mode = "${var.table_billing_mode}" hash_key = "employee-id" attribute { name = "employee-id" type = "S" } tags = { environment = "${var.environment}" }}
Tại đây,
  • name :(Bắt buộc) Tên của bảng bạn đang tạo.
  • billing_mode :(Tùy chọn) Kiểm soát cách bạn bị tính phí cho việc đọc và ghi.
  • hash_key: (Bắt buộc, Buộc tạo tài nguyên mới) Thuộc tính để sử dụng làm khóa băm (phân vùng) cho bảng.
  • attribute: (Bắt buộc) Danh sách các định nghĩa thuộc tính lồng nhau. Chỉ yêu cầu đối với hash_key và range_keyattributes cho bảng.
  • tags: (Tùy chọn) Thẻ để điền vào bảng.
Bước tiếp theo là tải khóa truy cập và khóa bí mật AWS của bạn vào tệp có tên là "terraform.tfvars". Bạn phải có người dùng AWS IAM có khóa truy cập và khóa bí mật có đủ quyền trên DynamoDB. Lấy các khóa đó và lưu chúng vào tệp.
Mã:
Liên kết GitHub:[URL=https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-dynamodb-table/terraform.tfvars?utm_source=diendancongnghe.com]https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-dynamodb-table/terraform.tfvars[/URL]
Mã:
Tệp: terraform.tfvars
Mã:
access_key = "[B][/b]"
secret_key = "[B][/b]"
Bước cuối cùng là tạo "variables.tf" và gán giá trị cho các biến trong đó. Bạn có thể thay đổi giá trị của table_name, table_billing_mode và biến môi trường. Nhấp vàođâyđể tham khảo tài liệu Terraform để kiểm tra các đối số/thuộc tính hợp lệ có sẵn.
Mã:
Liên kết GitHub:[URL=https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-dynamodb-table/variables.tf?utm_source=diendancongnghe.com]https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-dynamodb-table/variables.tf[/URL][URL=https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-dynamodb-table/variables.tf?utm_source=diendancongnghe.com][/URL]
Mã:
Tệp: variables.tf
Mã:
biến "access_key" { description = "Khóa truy cập của người dùng AWS IAM"}biến "secret_key" { description = "Khóa bí mật của người dùng AWS IAM"}biến "table_name" { description = "Tên bảng Dynamodb (không được phép có khoảng trắng)" default = "[B]my-first-test-table[/b]"}biến "table_billing_mode" { description = "Kiểm soát cách bạn bị tính phí cho thông lượng đọc và ghi và cách bạn quản lý dung lượng." default = "[B]PAY_PER_REQUEST[/b]"}biến "environment" { description = "Tên môi trường" default = "test"}
Tại đây,
  • table_name:defined value = my-first-test-table. Bạn có thể thay đổi giá trị này.
  • table_billing_mode: defined value =PAY_PER_REQUEST. Bạn có thể chỉ địnhPROVISIONED hoặcPAY_PER_REQUEST.
  • môi trường: giá trị thẻ được xác định = thử nghiệm. Bạn có thể gán bất kỳ giá trị nào cho môi trường khóa thẻ.

Tạo bảng DynamoDB bằng các tệp cấu hình Terraform​

Sau khi bạn có main.tf, terraform.tfvars và variables.tf, bạn đã sẵn sàng tạo Bảng DynamoDB của mình bằng Terraform.

Sau đây là lệnh đầu tiên để khởi tạo thư mục làm việc chứa các tệp cấu hình Terraform.
Mã:
terraform init


Lệnh tiếp theo như sau để tạo một kế hoạch thực thi. Tại đây, bạn có thể biết được tất cả những thay đổi sẽ diễn ra.
Mã:
terraform plan


Bây giờ bạn đã sẵn sàng áp dụng những thay đổi cần thiết để đạt được trạng thái mong muốn của cấu hình bằng lệnh sau. Lệnh này sẽ tạo một Bảng DynamoDB trong tài khoản AWS của bạn theo vùng đã chỉ định.
Mã:
terraform apply


Bây giờ, bạn có thể vào bảng điều khiển AWS và xác minh xem bảng đã được tạo hay chưa.


Xóa Bảng DynamoDB đã tạo bằng Terraform​

Khi bạn không còn cần bảng nữa và muốn xóa bảng đó, bạn không cần phải vào bảng điều khiển AWS và xóa bảng đó khỏi đó. Thay vào đó, bạn có thể xóa bảng đó rất dễ dàng bằng lệnh sau. Lệnh sau sẽ xóa bảng sau khi bạn xác nhận xóa.
Mã:
terraform destroy

Kết luận​

Trong bài viết này, chúng ta đã thấy các bước để tạo bảng DynamoDB với mô hình thanh toán "PAY_PER_REQUEST" trong "region =eu-west-3" bằng cách sử dụng quyền truy cập AWS và khóa bí mật. Chúng ta cũng đã xóa bảng bằng lệnh destroy. Bây giờ bạn có thể mở rộng chức năng bằng cách sử dụng các thuộc tính khác nhau có sẵn và thử trên các trường hợp sử dụng khác nhau.
 
Back
Bên trên