2016-06-27 5 views
0

クラウドフォーメーションテンプレートを整理するベストプラクティスは何ですか?クラウドフォーメーションテンプレートを整理するにはどうすればいいですか?

たとえば、他のプロジェクト間で共有されるセキュリティグループがあるとします。 (たとえば、ポート80 e 22上の接続のみを受け入れるsg)。

プロジェクトごとにSGを維持するのがベストプラクティスですか?または、SGのみを管理する単一のクラウドフォーメーションテンプレートを作成しますか?

答えて

1

AWS CloudFormationのベストプラクティス[1]ガイドは優れたリソースです。

そのページの説明に従って、ネストされたスタックを作成することをお勧めします。複数のプロジェクトで使用されるセキュリティグループは、おそらくVPC、サブネット、およびルートとともに低レベルのスタックに存在する必要があります。プロジェクトは、下位のスタックに記述されているリソースを構築する上位のスタックに存在することができます。これを決定するのを助けるために、各リソースのライフサイクルを考慮してください。リソースXはリソースYなしで存在できますか?そうでなければ、おそらくリソースXは下位レベルのスタックに定義されるべきです。

複数のチームがある場合は、それも考慮してください。あなたのセキュリティ/ネットワークチームは、DevOpsチームが必要としないリソースにアクセスする必要があります。

[1] http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html

2

をプロジェクト間でセキュリティグループを共有するかどうかは、単純性と分離とのトレードオフです。プロジェクト間で1つのセキュリティグループを共有することで、プロジェクトごとに小さなテンプレートを作成し、それらをまとめて管理することができます。スタックごとに1つを持つことで、他のプロジェクトに影響を与えることなく1つのプロジェクトの設定を変更することができます。

少数のセキュリティグループをプロジェクト間で共有することをお勧めします。私はそれらをアカウント全体で共有されているリソース用のCloudFormationスタックに入れました。以来、サブネット、ルーティング、ゲートウェイ

  • S3バケットで

    • EC2のセキュリティグループ(私はSSHのみアクセス用とSSHのための1つを持っているし、HTTP/HTTPS)
    • VPC:それはもの等を含みます多くのAWSリソースは、初期化のためにS3に
    • IAMロールとポリシーをリソースを必要
    • アラームのSNSトピック
    • CloudTrail構成

    このスタックは他のすべてに依存し、別々に管理されます。プロジェクトテンプレートを作成すると、グローバルスタックからの出力がパラメータとして渡されます。

  • 関連する問題