Я новичок в Terraform и у меня проблемы с настройкой базовой конфигурации. Я хочу что-то, что поднимает мой имидж докера-кита. Из документов Hashicorp и AWS мне кажется, что мне нужен «aws_ecs_service», который использует «aws_ecs_task_definition».
Используя этот пример, я создал приведенный ниже конфиг.
variable "access_key" {}
variable "secret_key" {}
provider "aws" {
alias = "west"
region = "us-west-1"
access_key = "${var.access_key}"
secret_key = "${var.secret_key}"
}
resource "aws_ecs_cluster" "default" {
name = "whale"
}
resource "aws_ecs_service" "whale-service" {
name = "whale-service"
cluster = "${aws_ecs_cluster.default.id}"
task_definition = "${aws_ecs_task_definition.whale-task.arn}"
desired_count = 1
}
resource "aws_ecs_task_definition" "whale-task" {
family = "whale"
container_definitions = "${file("task-definitions/whale.json")}"
volume {
name = "whale-home"
host_path = "/ecs/whale-home"
}
}
Теперь, когда я запускаю terraform apply (access_key & secret_key отредактирован), кажется, все работает нормально. Но я не вижу соответствующего кластера ECS или определения задачи в моей веб-консоли AWS. Я что-то пропустил?
$ terraform apply
provider.aws.region
The region where AWS operations will take place. Examples
are us-east-1, us-west-2, etc.
Default: us-east-1
Enter a value:
aws_ecs_task_definition.whale-task: Refreshing state... (ID: whale)
aws_ecs_cluster.default: Creating...
name: "" => "whale"
aws_ecs_cluster.default: Creation complete
aws_ecs_service.whale-service: Creating...
cluster: "" => "arn:aws:ecs:us-east-1:186598327969:cluster/whale"
deployment_maximum_percent: "" => "200"
deployment_minimum_healthy_percent: "" => "100"
desired_count: "" => "1"
name: "" => "whale-service"
task_definition: "" => "arn:aws:ecs:us-east-1:186598327969:task-definition/whale:1"
aws_ecs_service.whale-service: Creation complete
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
The state of your infrastructure has been saved to the path
below. This state is required to modify and destroy your
infrastructure, so keep it safe. To inspect the complete state
use the `terraform show` command.
State path: terraform.tfstate