Появилась поддержка Terraform для Yandex Message Queue
Мы рады поделиться ещё одной реализованной идеей сообщества Яндекс.Облака: создание и управление очередями сервиса Yandex Message Queue теперь возможно через популярный инструмент управления — Terraform.
Чтобы управлять своими сервисами и ресурсами с помощью Terraform, создайте конфигурационный файл и настройте провайдер Яндекс.Облака. Для этого воспользуйтесь пошаговой инструкцией.
С помощью Terraform вы можете создавать и удалять очереди сообщений, а также использовать ранее созданные очереди при помощи data source. Все параметры и атрибуты можно найти в документации и на странице Terraform-провайдера Облака.
www.terraform.io/docs/providers/yandex/r/message_queue.html
cloud.yandex.ru/docs/message-queue/instruments/terraform
cloud.yandex.ru/docs/solutions/infrastructure-management/terraform-quickstart
Примеры создания очередей сообщений
Конфигурационный файл для стандартной очереди:
provider "yandex" {
token = "<OAuth или статический ключ сервисного аккаунта>"
folder_id = "<идентификатор каталога>"
zone = "ru-central1-a"
}
resource "yandex_message_queue" "example_queue" {
name = "ymq-terraform-example"
visibility_timeout_seconds = 600
receive_wait_time_seconds = 20
message_retention_seconds = 1209600
access_key = "<идентификатор статического ключа доступа>"
secret_key = "<секретная часть статического ключа доступа>"
}
Конфигурационный файл для очереди FIFO:
provider "yandex" {
token = "<OAuth или статический ключ сервисного аккаунта>"
folder_id = "<идентификатор каталога>"
zone = "ru-central1-a"
}
resource "yandex_message_queue" "example-fifo-queue" {
name = "ymq-terraform-example.fifo"
visibility_timeout_seconds = 600
receive_wait_time_seconds = 20
message_retention_seconds = 1209600
fifo_queue = true
access_key = "<идентификатор статического ключа доступа>"
secret_key = "<секретная часть статического ключа доступа>"
}
Пример создания очереди c политикой перенаправления недоставленных сообщений в DLQ c именем ymq_terraform_deadletter_example:
provider "yandex" {
token = "<OAuth или статический ключ сервисного аккаунта>"
folder_id = "<идентификатор каталога>"
zone = "ru-central1-a"
}
resource "yandex_message_queue" "example_fifo_queue" {
name = "ymq-terraform-example"
visibility_timeout_seconds = 600
receive_wait_time_seconds = 20
message_retention_seconds = 1209600
redrive_policy = jsonencode({
deadLetterTargetArn = yandex_message_queue.example_deadletter_queue.arn
maxReceiveCount = 3
})
access_key = "<идентификатор статического ключа доступа>"
secret_key = "<секретная часть статического ключа доступа>"
}
resource "yandex_message_queue" "example_deadletter_queue" {
name = "ymq_terraform_deadletter_example"
access_key = "<идентификатор статического ключа доступа>"
secret_key = "<секретная часть статического ключа доступа>"
}
В процессе использования Terraform могут возникнуть вопросы — напишите нам в поддержку или спросите других пользователей в телеграм-чате Яндекс.Облака.