2017-02-14 4 views
0

AWSコンソールとCLIは、1つのAWSアカウントに対して1つのテンプレートを実行するのに最適です。しかし、複数のアカウントへのプロビジョニングのためには使用できません。AWS CloudFormationテンプレートの実行を調整するツール

私は、CloudForationテンプレートのプロビジョニングを、複数の開発者のAWSアカウントを通じてプロダクションにオーケストレーションするツールが好きです。ツールは、手動承認ステップを実行し、実行前に変更セットを提示する機能を備えていることが最善です。可視性のためには、Web UIが望ましいでしょう。

商用ツールとOSSツールの両方の提案が歓迎されています。

最終的にこれにCodePipelineを使用できますか?はいの場合、それを行う方法のサンプル?

答えて

1

まず、私が必要とするすべての機能を提供する単一のツールを認識していません。しかし、私は、あなたが多数の購読に対してCloudFormationスタックを作成し、可視性のためのWeb UIを与えることを可能にするAnsibleを推奨することができます。

Web UIは、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アカウント"の必要性がどこから来ているのかは不明です。 1つの組織内で複数の開発者が関わる最も一般的な使用例は、単一のAWSアカウント内に個別のIAMユーザーを作成することにより、より良いサービスを提供します。これはdocumented best practiceです。個々のAWSアカウントで個別のIAMユーザーを作成することを強くお勧めします。なぜなら、複数の開発者が別々のAWSアカウントから作業する必要がある場合(具体的には、はるかに簡単です。

ツールは、手動承認ステップを実行し、実行前に変更セットを提示する能力を備えている必要があります。可視性のためには、Web UIが望ましいでしょう。

AWS CodePipelineは、正確にこの説明に適合するツールです。それはサポートしています:

を通じて利用可能でしたです最終的にCodePipelineがこれに使用されますか?はいの場合、それを行う方法のサンプル?

完全なサンプルについては、AWS CloudFormationユーザーガイドのWalkthrough: Building a Pipeline for Test and Production Stacksを参照してください。

関連する問題