AWS CloudFormationとは?
AWS CloudFormationを使えば、AWSクラウド上に構築するインフラストラクチャを簡単に管理することが可能です。AWS CloudFormationを使用することで、柔軟で簡単なインフラストラクチャ構築を行うことができ、サーバー構成の変更を素早く検証したり、運用の保守費用を省くことが可能です。
クラウドサービスの利用方法
AWS CloudFormationを利用するためには、まずAWSマネジメントコンソールにサインインし、「サービス」から「CloudFormation」を選択します。選択すると「ノードとなるリソースを定義するテンプレート」をサインアップするフォームが表示されます。
テンプレートを使用した作業
AWS CloudFormationのテンプレートは、設定可能なAWSリソースや依存関係を定義するテキストファイルです。テンプレートを使用して、AWS CloudFormationスタックをデプロイする必要があります。以下のテンプレートを使用して、EC2インスタンスを作成してみましょう。
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "AWS CloudFormation Sample Template EC2InstanceWithSecurityGroup: Create a web server with an associated security group.",
"Parameters": {
},
"Resources": {
"EC2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": "ami-00c03f7f7f11c1534",
"InstanceType": "t2.micro",
"KeyName": "MyKeyPair",
"SecurityGroupIds": [
{
"Ref" : "WebServerSecurityGroup"
}
],
"SubnetId": { "Ref" : "SubnetId" }
}
},
"WebServerSecurityGroup": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupName": "WebServerSecurityGroup",
"VpcId": { "Ref" : "VpcId" },
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": "80",
"ToPort": "80",
"CidrIp": "0.0.0.0/0"
}
]
}
}
},
"Outputs": {
"InstanceId": {
"Value": { "Ref": "EC2Instance" }
}
}
}
スタックのデプロイ
テンプレートの作成が終わったら、AWS CloudFormationページ上で「スタックのデプロイ」ボタンをクリックしてスタックをデプロイします。スタックがデプロイされたら、インスタンス情報が表示されます。
AWS CloudFormationを使用することで、サーバーのインスタンスをワークロードとして、効率的に管理できるようになります。サーバーの設定を変更することで、インスタンスのスケールアップ/スケールダウンなどを管理することが可能なため、サーバーの運用コストを削減することも可能です。