Aws KInesis Terraform - Как подключить потоки данных к Data Firehose - PullRequest
0 голосов
/ 29 марта 2019

Я хочу создать, используя terraform, поток данных Kinesis и пожарный шланг данных, и соединить их (как конвейер).Когда я использую пользовательский интерфейс, когда я иду в пожарный шланг, я могу перейти в источник-> поток Kinesis и выбрать созданный мной поток Kinesis.Но я хочу сделать это с помощью terraform.

Это код для создания потока кинезиса (я взял его из официальных документов kinesis):

resource "aws_kinesis_stream" "test_stream" {
  name             = "terraform-kinesis-test"
  shard_count      = 1
  retention_period = 30

  shard_level_metrics = [
    "IncomingBytes",
    "OutgoingBytes",
  ]

  tags = {
    Environment = "test"
  }

И это код для данныхfirehose:

resource "aws_elasticsearch_domain" "test_cluster" {
  domain_name = "firehose-es-test"
  elasticsearch_version = "6.4"
    cluster_config {
    instance_type = "t2.small.elasticsearch"
  }
  ebs_options{
    ebs_enabled = true
    volume_size = 10
  }

}

resource "aws_iam_role" "firehose_role" {
  name = "firehose_test_role"

  assume_role_policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "firehose.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]
}
EOF
}
resource "aws_kinesis_firehose_delivery_stream" "test_stream" {
  name        = "terraform-kinesis-firehose-test-stream"
  destination = "elasticsearch"
/*
  s3_configuration {
    role_arn           = "${aws_iam_role.firehose_role.arn}"
    bucket_arn         = "${aws_s3_bucket.bucket.arn}"
    buffer_size        = 10
    buffer_interval    = 400
    compression_format = "GZIP"
  }
*/
  elasticsearch_configuration {
    domain_arn = "${aws_elasticsearch_domain.test_cluster.arn}"
    role_arn   = "${aws_iam_role.firehose_role.arn}"
    index_name = "test"
    type_name  = "test"

    processing_configuration {
      enabled = "true"

    }
  }
}

Так как я могу их соединить, это что-то вроде $ {aws_kinesis_stream.test_stream.arn}?или что-то подобное?

Я использовал официальные документы aws_kinesis_stream и aws_kinesis_firehose_delivery_stream (назначение эластичного поиска).

1 Ответ

1 голос
/ 29 марта 2019

Это в документации kinesis_firehose_delivery_stream]. Пролистайте примеры до раздела Справочник аргументов , и вы увидите следующее:

Объект kinesis_source_configuration поддерживает следующее:

kinesis_stream_arn (обязательно) Поток кинезиса, используемый в качестве источника потока доставки пожарного шланга. role_arn (Обязательно) ARN роли, обеспечивающей доступ к исходному потоку Kinesis.

...