CloudFormationのテンプレート例:よく使われるパターン

2024/07/27
x-logoline-logo

CloudFormationのテンプレート例:よく使われるパターン

2024/07/27
x-logoline-logo
PR

AWS CloudFormationは、インフラストラクチャをコードとして管理するための便利なツールです。この記事では、CloudFormationを使って構築する際に良く使われるテンプレートの例を紹介します。

CloudFormationとは?

まず、CloudFormationについて簡単に説明します。AWS CloudFormationは、インフラストラクチャをコードとして定義し、再利用できるようにするサービスです。これにより、必要なリソースを自動的に作成・設定することができます。

基本的なテンプレートの構成

CloudFormationのテンプレートは、主に以下の部分で構成されています。

  • AWSTemplateFormatVersion:テンプレートのバージョンを指定します。
  • Parameters:リソースの設定に使う値を受け取るためのパラメータです。
  • Resources:実際に作成するAWSリソースを定義します。
  • Outputs:作成されたリソースの情報を出力します。

よく使われるテンプレートパターン

EC2インスタンスの作成

最初に紹介するのは、EC2インスタンスを作成する基本的なテンプレートです。

  
AWSTemplateFormatVersion: '2010-09-09'
Description: EC2 Instance example
Parameters:
  InstanceType:
    Type: String
    Default: t2.micro
    Description: EC2 instance type
Resources:
  MyEC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      InstanceType: !Ref InstanceType
      ImageId: ami-0c55b159cbfafe1f0
Outputs:
  InstanceId:
    Description: EC2 Instance ID
    Value: !Ref MyEC2Instance

S3バケットの作成

次に、S3バケットを作成するためのテンプレートです。S3は、データをストレージするためのサービスです。

  
AWSTemplateFormatVersion: '2010-09-09'
Description: S3 Bucket example
Resources:
  MyS3Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: my-example-bucket-12345
Outputs:
  BucketName:
    Description: The name of the created S3 bucket
    Value: !Ref MyS3Bucket

セキュリティグループの設定

最後に、セキュリティグループを作成し、EC2インスタンスに適用するためのテンプレートを紹介します。

  
AWSTemplateFormatVersion: '2010-09-09'
Description: Security Group example
Resources:
  MySecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Enable SSH access
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 22
          ToPort: 22
          CidrIp: 0.0.0.0/0
Outputs:
  SecurityGroupId:
    Description: Security Group ID
    Value: !Ref MySecurityGroup
この記事はAIを使用して作成されています。
PR