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.
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.
Tại đây,
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.
Tại đây,
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.
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.
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.
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.
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
- Hiểu biết cơ bản về Terraform.
- Terraform được cài đặt trên hệ thống của bạn.
- Tài khoản AWS (Tạo nếu bạn chưa có).
- '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ì?
- Viết các tệp cấu hình Terraform cho Bảng DynamoDB.
- Tạo bảng DynamoDB bằng các tệp cấu hình Terraform.
- 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}" }}
- 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.
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]"
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"}
- 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