Cách tạo hàng đợi SQS trên AWS bằng Terraform

theanh

Administrator
Nhân viên
Trong bài viết này, chúng ta sẽ tạo một hàng đợi SQS bằng Terraform trong "region = eu-west-3". Chúng ta cũng sẽ thêm một chính sách cho phép tất cả mọi người gửi tin nhắn đến hàng đợi. Trước khi tiếp tục với bài viết, chúng ta giả định rằng bạn đã có hiểu biết cơ bản về SQS và Terraform.

Sau khi tạo một hàng đợi SQS, hãy nhấp vào đây nếu bạn muốn tìm hiểu cách tạo đăng ký giữa SQS và SNSasitis không nằm trong phạm vi của bài viết này.

Trong bài viết này, chúng ta sẽ tạo một hàng đợi chuẩn. Nhấp vàođâynếu bạn muốn biết thêm về các đối số và thuộc tính có trong Terraform cho SQS. Bạn có thể sử dụng các thuộc tính đó để tùy chỉnh hàng đợi SQS.

Đ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ạonếu bạn chưa có).
  4. 'access_key' & 'secret_key' của Người dùng AWS IAM có các quyền cần thiết để thực hiện các hoạt động tạo và xóa SQS. (Nhấp vào đây để tìm hiểu cách tạo người dùng IAM với 'access_key' và 'secret_key' trên AWS, )

Những gì chúng ta sẽ làm​

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

Viết các tệp cấu hình Terraform cho SQS Queue​

Chúng ta hãy tạo một tệp "main.tf" sẽ chứa định nghĩa tài nguyên được đề cập bên dưới. Điều này sẽ tạo một SQS trong "region = eu-west-3", nhưng nếu bạn muốn tạo một hàng đợi trong một vùng khác thì bạn có thể thay đổi giá trị của nó.

Bạn sẽ tìm thấy mã trên kho lưu trữ Github của tôi theo liên kết sau.
Mã:
Liên kết Github:[URL=https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-sqs-queue/main.tf?utm_source=diendancongnghe.com]https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-sqs-queue/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_sqs_queue" "my_first_sqs" { name = var.sqs_name}resource "aws_sqs_queue_policy" "my_sqs_policy" { queue_url = aws_sqs_queue.my_first_sqs.id policy = <
Tại đây,
[LIST]
[*] name:Value được định nghĩa invariables.tf.
[*] queue_url:Id isretrievedfrom my_first_sqs queue
[/LIST]
Lấy quyền truy cập người dùng AWS IAM và khóa bí mật của bạn và thêm chúng vào tệp "terraform.tfvars". Người dùng IAM này phải có đủ quyền trên SQS.
[CODE]Liên kết GitHub:[URL=https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-sqs-queue/terraform.tfvars?utm_source=diendancongnghe.com]https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-sqs-queue/terraform.tfvars[/URL]
Mã:
Tệp: terraform.tfvars
Mã:
access_key = "[B][/b]"
secret_key = "[B][/b]"
Bây giờ, hãy tạo một tệp "variables.tf" để định nghĩa các biến để chúng ta không cần phải mã hóa cứng bất kỳ thứ gì trong Tệp "main.tf". Nếu bạn muốn sử dụng một tên khác cho hàng đợi, bạn có thể thay đổi biến "sqs_name".
Mã:
Liên kết Github:[URL=https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-sqs-queue/variables.tf?utm_source=diendancongnghe.com]https://github.com/shivalkarrahul/DevOps/blob/master/aws/terraform/create-sqs-queue/variables.tf[/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 có các quyền cần thiết để tạo và xóa Hàng đợi SQS"}biến "secret_key" { description = "Khóa bí mật của Người dùng AWS IAM có các quyền cần thiết để tạo và xóa Hàng đợi SQS"}biến "sqs_name" { description = "Tên của sqs hàng đợi được tạo. Bạn có thể gán bất kỳ tên duy nhất nào cho Hàng đợi" default = "[B]my-first-sqs[/b]"}
Tại đây,
  • sqs_name: Chúng tôi đã chỉ định giá trị mặc định là my-first-sqs. Bạn có thể thay đổi giá trị này và gán một tên khác cho hàng đợi được tạo.

Tạo Hàng đợi SQS bằng cách sử dụng các tệp cấu hình Terraform.​

Sau khi bạn có main.tf, terraform.tfvarsvariables.tf, bạn đã sẵn sàng tạo hàng đợi SQS 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 kế hoạch thực thi. Tại đây, bạn có thể biết tất cả các thay đổi sẽ diễn ra.
Mã:
terraform plan


Bây giờ bạn đã sẵn sàng áp dụng các 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. Thao tác này sẽ tạo một hàng đợi SQS trong tài khoản AWS của bạn theo vùng đã chỉ định cùng với chính sách được đính kèm vào hàng đợi đó.
Mã:
terraform apply


Chúng ta hãy đến bảng điều khiển AWS SQS để kiểm tra SQS mà chúng ta vừa tạo.


Xóa hàng đợi SQS đã tạo bằng Terraform.​

Khi bạn không còn cần hàng đợi SQS đã tạo và muốn xóa nó, bạn không cần phải đến bảng điều khiển AWS và xóa nó khỏi đó. Thay vào đó, bạn có thể xóa nó bằng lệnh sau rất dễ dàng. Lệnh sau sẽ xóa hàng đợi SQS sau khi bạn xác nhận xóa. Sau khi hàng đợi bị xóa, không thể khôi phục lại được, vì vậy hãy rất cẩn thận khi thực hiện thao tác xóa.
Mã:
terraform destroy

Kết luận​

Trong bài viết này, chúng tôi đã tạo một hàng đợi SQS có chính sách đính kèm. Chúng tôi đã lưu các biến của mình trong một tệp riêng "variables.tf" để chúng tôi không phải mã hóa cứng bất kỳ thứ gì trong main.tf. Chúng tôi đã thấy tài nguyên có thể dễ dàng bị xóa như thế nào chỉ bằng một lệnh duy nhất trong Terraform.
 
Back
Bên trên