2017-02-14 25 views
0

Консоль AWS и CLI отлично подходят для выполнения одного шаблона в отдельной учетной записи AWS. Но для обеспечения нескольких учетных записей он неприменим.Инструмент для управления исполнением шаблонов CloudSormation AWS

Мне нравится инструмент для организации создания шаблонов CloudFormation через несколько учетных записей AWS разработчиков вплоть до Production. В лучшем случае инструмент должен иметь возможность выполнять ручные шаги утверждения и представлять набор изменений перед выполнением. Веб-интерфейс предпочтительнее для видимости.

Предложения по коммерческим и OSS-инструментам приветствуются.

Возможно, в этом случае CodePipeline будет использоваться? Если да, какие-либо образцы того, как это сделать?

ответ

1

Во-первых, я не знаю ни одного инструмента, который предоставляет всю необходимую вам функциональность. Тем не менее я могу рекомендовать Ansible, который позволит вам создавать стеки CloudFormation против ряда подписчиков и предоставлять вам веб-интерфейс для видимости.

Веб-интерфейс может быть предоставлен либо с использованием Ansible Tower, либо Ansible в сочетании с вашим выбором платформы CI/CD (например, TeamCity/Jenkins).

Пример розжига стек CloudFormation и возвращение некоторых из выходов стека можно увидеть здесь:

https://www.unixdaemon.net/tools/managing-cloudformation-stacks-with-ansible/

- name: Create Webapp 
action: cloudformation 
    stack_name={{ stack_name }}-webapp 
    state=present 
    region="{{region}}" 
    template=-webapp.json 
args: 
    template_parameters: 
    Owner: "{{ owner }}" 
    AMIId: "{{ ami_id }}" 
    KeyName: "{{ keyname }}" 
    AppServerFleetSize: 1 
    ASGSNSArn:    "{{ asgsns['stack_outputs']['EmailSNSTopicARN']  }}" 
    WebappSGID:   "{{ secgrp['stack_outputs']['WebappSGID']   }}" 
    ElasticacheClientSGID: "{{ secgrp['stack_outputs'] ['ElasticacheClientSGID'] }}" 
1

Мне нравится инструмент, чтобы управлять выделением из CloudFormation шаблонов через несколько разработчиков AWS счетов вплоть до производства.

Непонятно, из какой именно потребности возникает «учетная запись нескольких разработчиков AWS». Наиболее типичные случаи использования нескольких разработчиков, работающих в одной организации, намного лучше обслуживаются путем создания отдельных пользователей IAM в одной учетной записи AWS, которая является documented best practice. Если у вас нет конкретных (нестандартных) причин для того, чтобы несколько разработчиков работали с отдельными учетными записями AWS (и если да, добавьте эти данные в свой вопрос), настоятельно рекомендуется создать отдельных пользователей IAM в рамках одного AWS, поскольку он будет выполнять настройку намного проще.

В лучшем случае инструмент должен иметь возможность выполнять ручные шаги утверждения и представлять набор изменений перед выполнением. Веб-интерфейс предпочтительнее для видимости.

AWS CodePipeline - это инструмент, который точно соответствует этому описанию. Он поддерживает:

Могли в конце концов, CodePipeline будет использоваться для этого?Если да, какие-либо образцы того, как это сделать?

См. Walkthrough: Building a Pipeline for Test and Production Stacks в руководстве пользователя AWS CloudFormation для полного образца.