Шаблон формирования облака AWS для обеспечения эластичного поиска - PullRequest
0 голосов
/ 04 октября 2019

Я хочу настроить домен ES через шаблон облачной информации.

У меня есть служба, которая будет использовать этот домен ES, поэтому всякий раз, когда эта служба развертывается в ECS, я хотел бы сначала создать домен ES и использовать конечную точку ES в своей службе.

Этот шаблон поможет?

Кроме того, как мне установить конечную точку ES, которая вновь создается в SSM через шаблон?

{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "taskRole": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Sid": "",
              "Effect": "Allow",
              "Principal": {
                "Service": "ecs-tasks.amazonaws.com"
              },
              "Action": "sts:AssumeRole"
            }
          ]
        },
        "Path": "/",
        "Policies": [
          {
            "PolicyName": "taskRole",
            "PolicyDocument": {
              "Statement": [
                {
                  "Effect": "Allow",
                  "Action": [
                    "ssm:GetParametersByPath",
                    "ssm:GetParameter"
                  ],
                  "Resource": "arn:aws:ssm:*:*:parameter/*"
                }
              ]
            }
          }
        ]

      }
    },
    "ElasticsearchDomain": {
      "Type": "AWS::Elasticsearch::Domain",
      "Properties": {
        "DomainName": "Test-ES-Domain",
        "ElasticsearchClusterConfig": {
          "DedicatedMasterEnabled": "true",
          "InstanceCount": "2",
          "ZoneAwarenessEnabled": "true",
          "InstanceType": "m3.medium.elasticsearch",
          "DedicatedMasterType": "m3.medium.elasticsearch",
          "DedicatedMasterCount": "3"
        },
        "EBSOptions": {
          "EBSEnabled": true,
          "Iops": 0,
          "VolumeSize": 20,
          "VolumeType": "gp2"
        },
        "SnapshotOptions": {
          "AutomatedSnapshotStartHour": "0"
        },
        "AccessPolicies": {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/es-user"
              },
              "Action": "es:*",
              "Resource": "arn:aws:es:us-east-1:123456789012:domain/test/*"
            }
          ]
        },
        "AdvancedOptions": {
          "rest.action.multi.allow_explicit_index": "true"
        }
      }
    }
  },
  "Outputs": {
    "serviceRole": {
      "Description": "Task role with permission to read configurations from AWS parameter store",
      "Value": { "Fn::GetAtt": [ "taskRole", "Arn" ] }
    }
  }
}

1 Ответ

0 голосов
/ 26 октября 2019

Вот мои шаблоны ES CloudFormation: https://github.com/Talderon/AWS_CloudFormation/tree/master/ElasticSearch

Не стесняйтесь пройти и разобрать их на части.

Для запрашиваемой вами части SSM мне придется выкопатьнемного об этом. : P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...