0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS CloudFormationからConfig適合パックをデプロイする

Last updated at Posted at 2021-08-18

AWSのConfig適合パックを、ConfigではなくCloudFormationからデプロイする方法です。

テンプレートの書き方

CloudFormationテンプレートは、例えば次のように書きます。

AWSTemplateFormatVersion: 2010-09-09
Resources:
  MyConformancePack:
    Type: AWS::Config::ConformancePack
    Properties:
      ConformancePackName: my-conformance-pack
      TemplateBody: |-
        <Config適合パックのテンプレート>

ここで、<Config適合パックのテンプレート> は、デプロイしたい適合パックのテンプレートに置き換えます。例えば、次のようにします。

AWSTemplateFormatVersion: 2010-09-09
Resources:
  MyConformancePack:
    Type: AWS::Config::ConformancePack
    Properties:
      ConformancePackName: my-conformance-pack
      TemplateBody: |-
        Resources:
          EipAttached:
            Properties:
              ConfigRuleName: eip-attached
              Scope:
                ComplianceResourceTypes:
                - AWS::EC2::EIP
              Source:
                Owner: AWS
                SourceIdentifier: EIP_ATTACHED
            Type: AWS::Config::ConfigRule
          Ec2SecurityGroupAttachedToEni:
            Properties:
              ConfigRuleName: ec2-security-group-attached-to-eni
              Scope:
                ComplianceResourceTypes:
                - AWS::EC2::SecurityGroup
              Source:
                Owner: AWS
                SourceIdentifier: EC2_SECURITY_GROUP_ATTACHED_TO_ENI
            Type: AWS::Config::ConfigRule
          Ec2VolumeInuseCheck:
            Properties:
              ConfigRuleName: ec2-volume-inuse-check
              Scope:
                ComplianceResourceTypes:
                - AWS::EC2::Volume
              Source:
                Owner: AWS
                SourceIdentifier: EC2_VOLUME_INUSE_CHECK
            Type: AWS::Config::ConfigRule

また、Config適合パックを TemplateBody に直書きせず、次のようにS3に保存したConfig適合パックを指定することもできるようです。(動作未確認)

AWSTemplateFormatVersion: 2010-09-09
Resources:
  MyConformancePack:
    Type: AWS::Config::ConformancePack
    Properties:
      ConformancePackName: my-conformance-pack
      TemplateS3Uri: s3://bucketname/prefix

詳細は AWS::Config::OrganizationConformancePack - AWS CloudFormation をご覧ください。

参考動画

下記の動画はとても参考になりました。本記事で取り上げなかった、パラメーターの受け渡しについても説明されています。

YAMLのパイプとハイフン |- って?

YAML Multiline Strings に記載がありました。

パイプは複数行の文字列を扱うための記号で、直後のハイフンは文字列の最後の改行を消す記号だそうです。ハイフンはなくても動くと思いますが、本記事では参考動画に合わせた記述にしました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?