AWS CloudFormationは、インフラストラクチャをコードとして管理するための便利なツールです。この記事では、CloudFormationを使って構築する際に良く使われるテンプレートの例を紹介します。
まず、CloudFormationについて簡単に説明します。AWS CloudFormationは、インフラストラクチャをコードとして定義し、再利用できるようにするサービスです。これにより、必要なリソースを自動的に作成・設定することができます。
CloudFormationのテンプレートは、主に以下の部分で構成されています。
最初に紹介するのは、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は、データをストレージするためのサービスです。
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