آمازون اتصال با Terraform استقرار.
آمازون کانکت چیست؟
آمازون کانکت یک مرکز تماس ابری پرداختی است. هیچ حداقل کارمزد اجباری، تعهدات بلندمدت یا هزینههای مجوز اولیه وجود ندارد، و قیمتگذاری بر اساس حداکثر ظرفیت، صندلیهای نمایندگی، یا نگهداری نیست. شما فقط برای چیزی که استفاده می کنید هزینه می پردازید. آمازون کانکت قابلیت هایی را برای مرکز تماس و فضای کاری نماینده شما فراهم می کند، از جمله پیش بینی، برنامه ریزی ظرفیت، زمان بندی و کمپین های خروجی، و همچنین صدا، چت، وظایف، نمایه های مشتری، لنز تماسی، صدا، حکمت، موارد و راهنماها.
AWS Free Tier
به عنوان بخشی از AWS Free Tier، می توانید به صورت رایگان از Amazon Connect استفاده کنید.
در طول 12 ماه اول اجرای اولیه مرکز تماس ابری آمازون کانکت در هر منطقه، دریافت خواهید کرد:
- 90 دقیقه در ماه استفاده از سرویس آمازون کانکت
- یک شماره تماس مستقیم به داخل (DID) کشوری که منطقه AWS در آن قرار دارد
- 30 دقیقه در ماه تماس های ورودی DID
- 30 دقیقه در ماه تماس های خروجی با شماره های کشوری که منطقه AWS در آن واقع شده است
برای مناطق ایالات متحده، شما همچنین دریافت می کنید:
- یک شماره تلفن رایگان ایالات متحده
- 30 دقیقه در ماه تماس های دریافتی رایگان از ایالات متحده.
به عنوان مثال، اگر نمونه خود را در منطقه آسیا و اقیانوسیه (سیدنی) ایجاد کنید، یک شماره DID استرالیایی دریافت کنید، 30 دقیقه تماس DID ورودی به آن شماره دریافت می کنید، و می توانید از Amazon Connect برای برقراری 30 دقیقه تماس خروجی با شماره ها استفاده کنید. در استرالیا . .
سایر قابلیت های آمازون کانکت که در طول سال اول آن نیز بخشی از سطح رایگان هستند عبارتند از:
500 پیام در ماه از چت آمازون کانکت
100 کار در ماه با آمازون کانکت
1000 پروفایل مشتری در ماه با نمایه های مشتری آمازون اتصال
90 دقیقه در ماه برای تماس صوتی با لنز تماسی Amazon Connect
500 پیام در ماه برای پیام های چت با لنز تماسی Amazon Connect
180 تراکنش در ماه با Amazon Connect Voice ID، به طور مساوی بین ثبت نام، احراز هویت و تشخیص تقلب تقسیم می شود.
90 روز استفاده رایگان از آمازون کانکت پیش بینی، برنامه ریزی ظرفیت و زمان بندی زمانی که برای اولین بار این ویژگی را فعال می کنید
استقرار نمونه را با 3 Contact Flow وصل کنید
این مخزن شامل فایل های مورد نیاز برای استقرار یک نمونه Connect در AWS، به همراه 3 جریان تماس، یک جدول DynamoDB و یک تابع Lambda است.
منابع مستقر در این مانیفست:
- اتصال نمونه
- 3 جریان تماس
- Tabla DynamoDB
- تابع لامبدا
راه حل – نمودار:
تست شده با:
محیط | کاربرد | نسخه |
---|---|---|
WSL2 اوبونتو 20.04 | Terraform | نسخه 1.4.6 |
WSL2 اوبونتو 20.04 | aws-cli | نسخه 2.7.9 |
روش اجرا:
قبل از استقرار منابع، مطمئن شوید که فایل های زیر را در دایرکتوری دارید:
main.tf
provider.tf
default.auto.tfvars
variable.tf
سپس اطلاعات زیر را در مورد هر فایل ارائه می دهد:
بایگانی main.tf
:
# Create Instace Connect
module "lambda" {
source = "./module/lambda"
table_name = var.table_name
name_prefix = var.name_prefix
lambda_name = var.lambda_name
}
module "connect" {
source = "./module/connect"
aws_profile = var.aws_profile
aws_region = var.aws_region
identity_management_type = var.identity_management_type
instance_alias = var.instance_alias
name_user = var.name_user
password_user = var.password_user
first_name = var.first_name
last_name = var.last_name
country_code = var.country_code
name_prefix = var.name_prefix
phone_type = var.phone_type
type_contactflow = var.type_contactflow
lambda_arn = module.lambda.lambda_arn
lambda_name = var.lambda_name
depends_on = [module.lambda]
}
بایگانیprovider.tf
:
# AWS provider version definition
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.0"
}
}
}
#Provider for the network account
provider "aws" {
region = var.aws_region
profile = var.aws_profile
}
بایگانی default.auto.tfvars
:
#Variable Generales
aws_profile = "connect"
aws_region = "us-east-1"
name_prefix = "First-Release"
project-tags = {
DeployBy = "example",
Enviroment = "Dev"
}
#Variable Connect
instance_alias = "example-demo-connect-terraform"
name_user = "connect"
password_user = "Password123"
first_name = "FirstName"
last_name = "LastName"
country_code = "AR" ## https://countrycode.org/
phone_type = "SOFT_PHONE" ## otras opciones (DESK_PHONE)
identity_management_type = "CONNECT_MANAGED" ## Otra opciones (SAML, EXISTING_DIRECTORY)
type_contactflow = "CONTACT_FLOW" ## Otras opciones (CUSTOMER_QUEUE, CUSTOMER_HOLD, CUSTOMER_WHISPER, AGENT_HOLD, AGENT_WHISPER, OUTBOUND_WHISPER, AGENT_TRANSFER, QUEUE_TRANSFER )
#Variable Dynamo y lambda
table_name = "pedidos_y_facturas"
lambda_name = "Lambda-valicacion-flow"
بایگانی variable.tf
:
variable "aws_profile" {
description = "[REQUERIDO] Profile utilizado para realizar el despliegue."
type = string
}
variable "aws_region" {
description = "[REQUERIDO] El AWS Region para implementar los recursos."
type = string
}
variable "identity_management_type" {
description = "[REQUERIDO] Tipo de gestión de identidad adjunto a la instancia."
}
variable "instance_alias" {
description = "[REQUERIDO] Alias de la instancia de Connect."
type = string
}
variable "name_user" {
description = "[REQUERIDO] Nombre para la creación de usuario."
type = string
}
variable "password_user" {
description = "[REQUERIDO] Contraseña para la creación de usuario."
type = string
}
variable "first_name" {
description = "[REQUERIDO] Nombre del usuario."
type = string
}
variable "last_name" {
description = "[REQUERIDO] Apellido del usuario."
type = string
}
variable "country_code" {
description = "[REQUERIDO] Código telefónico del país."
type = string
}
variable "name_prefix" {
description = "[REQUERIDO] Prefijo del nombre."
type = string
}
variable "phone_type" {
description = "[REQUERIDO] Tipo de número de teléfono."
type = string
}
variable "type_contactflow" {
description = "[REQUERIDO] Tipo de flujo de contacto."
type = string
}
variable "table_name" {
description = "[REQUERIDO] Nombre de la tabla de DynamoDB."
}
variable "lambda_name" {
description = "[REQUERIDO] Nombre de la función Lambda."
type = string
}
# Variables de Etiquetas #
variable "project-tags" {
type = map(string)
default = {}
}
در دایرکتوری که فایلهای فوقالذکر ایجاد شدهاند، پروژه خود را شروع میکنیم و مانیفست را به صورت زیر اجرا میکنیم:
terraform init = Inicializamos terraform
terraform fmt = Para darle formato a los archivos
terraform validate = Validamos que no tengamos alguna inconsistencia en los recursos
terraform plan = Realizamos un plan para verificar los recursos a desplegar
terraform apply = Realizamos ya el despliegue de los recursos
نویسندگان:
- 👩💻 هرمس وارگاس
- 👩💻دیگو موخیکا