前回 CloudFormation のスタックを作成しましたが、そのスタックのテンプレートを使ってバックアップ及びリストアする手順を解説します。
前回の CloudFormation のデザイナーを使って EC2 インスタンス環境(VPC+Subnet+IGW+RouteTable含む)を構築しましたが、その環境を利用します。
【AWS】CloudFormationのデザイナーを使ってEC2インスタンス環境(VPC+Subnet+IGW+RouteTable含む)を構築する手順
CloudFormation のスタックのテンプレートを使ってバックアップする手順
AWS 管理コンソールより「CloudFormation」をクリックします。
左側ペインより「スタック」をクリックします。
バックアップをするスタックをクリックします。
「テンプレート」タブをクリックします。
「デザイナーで表示」ボタンをクリックします。
テンプレート保存のアイコンをクリックします。
「保存」をクリックします。
「テンプレートの保存」画面で「ローカルファイル」を選択して任意のファイル名を設定し「保存」ボタンをクリックします。
下図のようなテンプレートファイルがダウンロードされます。
以上でバックアップは完了です。
リストア手順
CloudFormation のスタックをバックアップしたテンプレートファイルを利用して実施します。
AWS 管理画面より「CloudFormation」をクリックします。
左側ペインより「スタック」をクリックします。
「スタックの作成」をクリックして「新しいリソースを使用(標準)」を選択します。
「スタックの作成」画面で「テンプレートの準備完了」を選択し「テンプレートファイルのアップロード」を選択して「ファイルの選択」ボタンをクリックします。
バックアップしたテンプレートファイルを選択して「次へ」ボタンをクリックします。
スタック名を入力し「次へ」ボタンをクリックします。
「次へ」ボタンをクリックします。
「スタックの作成」ボタンをクリックします。
下図のようにステータスが「CREATE_COMPLETE」になっていることを確認します。
リストアしたテンプレート
参考例として今回リストアしたスタックのテンプレートです。
AWSTemplateFormatVersion: 2010-09-09
Metadata:
‘AWS::CloudFormation::Designer’:
84ea3c02-9f7f-486c-b8ee-6df5705a4b3d:
size:
width: 480
height: 300
position:
x: 170
‘y’: 100
z: 0
embeds:
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
– a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00:
size:
width: 270
height: 170
position:
x: 340
‘y’: 160
z: 1
parent: 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
embeds:
– cd0f272a-1388-4301-bde2-f0975eb7cf8d
– 07fe6cc5-2ae5-438b-aef3-66a17cb75dca
iscontainedinside:
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
cd0f272a-1388-4301-bde2-f0975eb7cf8d:
size:
width: 60
height: 60
position:
x: 390
‘y’: 250
z: 2
parent: a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
embeds: []
iscontainedinside:
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
07fe6cc5-2ae5-438b-aef3-66a17cb75dca:
size:
width: 60
height: 60
position:
x: 500
‘y’: 210
z: 2
parent: a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
embeds: []
iscontainedinside:
– a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
– a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
– a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
– a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
– a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
– a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
– a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
– a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
8ffd937f-f85f-4cd2-afab-15dc1c714f5b:
size:
width: 60
height: 60
position:
x: 700
‘y’: 240
z: 0
embeds: []
isassociatedwith:
– 07fe6cc5-2ae5-438b-aef3-66a17cb75dca
49363f25-51c8-447d-acc8-cf6fcbfeff9c:
size:
width: 60
height: 60
position:
x: 70
‘y’: 220
z: 0
embeds: []
53b7c6ed-45b2-4d9b-a8c9-8185c2e51b2e:
source:
id: 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
target:
id: 49363f25-51c8-447d-acc8-cf6fcbfeff9c
z: 0
1297c55b-6ac3-4732-a61d-3a0f83cf2074:
size:
width: 120
height: 120
position:
x: 200
‘y’: 210
z: 1
parent: 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
embeds:
– 296392af-72b6-47cd-8765-9de283b6cc2d
iscontainedinside:
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
– 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
296392af-72b6-47cd-8765-9de283b6cc2d:
size:
width: 60
height: 60
position:
x: 230
‘y’: 240
z: 2
parent: 1297c55b-6ac3-4732-a61d-3a0f83cf2074
embeds: []
isassociatedwith:
– 49363f25-51c8-447d-acc8-cf6fcbfeff9c
iscontainedinside:
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
– 1297c55b-6ac3-4732-a61d-3a0f83cf2074
6b3f58f8-61cb-4c31-aefc-33ca1d415527:
source:
id: 1297c55b-6ac3-4732-a61d-3a0f83cf2074
target:
id: a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
z: 3
Resources:
EC2VPCEWYP:
Type: ‘AWS::EC2::VPC’
Properties:
CidrBlock: 192.168.0.0/24
Metadata:
‘AWS::CloudFormation::Designer’:
id: 84ea3c02-9f7f-486c-b8ee-6df5705a4b3d
EC2S3ARYY:
Type: ‘AWS::EC2::Subnet’
Properties:
VpcId: !Ref EC2VPCEWYP
CidrBlock: 192.168.0.0/24
Metadata:
‘AWS::CloudFormation::Designer’:
id: a31b5f3d-bdb2-40b8-81ce-3e5bacc96e00
EC2SG3O51D:
Type: ‘AWS::EC2::SecurityGroup’
Properties:
GroupDescription: ssh login
VpcId: !Ref EC2VPCEWYP
SecurityGroupIngress:
– IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
Metadata:
‘AWS::CloudFormation::Designer’:
id: cd0f272a-1388-4301-bde2-f0975eb7cf8d
EC2I3PIMR:
Type: ‘AWS::EC2::Instance’
Properties:
ImageId: ami-07dd14faa8a17fb3e
KeyName: basic-network
InstanceType: t3.micro
NetworkInterfaces:
– GroupSet:
– !Ref EC2SG3O51D
AssociatePublicIpAddress: ‘true’
DeviceIndex: ‘0’
SubnetId: !Ref EC2S3ARYY
Metadata:
‘AWS::CloudFormation::Designer’:
id: 07fe6cc5-2ae5-438b-aef3-66a17cb75dca
EC2EIP50O02:
Type: ‘AWS::EC2::EIP’
Properties:
InstanceId: !Ref EC2I3PIMR
Metadata:
‘AWS::CloudFormation::Designer’:
id: 8ffd937f-f85f-4cd2-afab-15dc1c714f5b
EC2IG54PVV:
Type: ‘AWS::EC2::InternetGateway’
Properties: {}
Metadata:
‘AWS::CloudFormation::Designer’:
id: 49363f25-51c8-447d-acc8-cf6fcbfeff9c
EC2VPCG4UWYA:
Type: ‘AWS::EC2::VPCGatewayAttachment’
Properties:
InternetGatewayId: !Ref EC2IG54PVV
VpcId: !Ref EC2VPCEWYP
Metadata:
‘AWS::CloudFormation::Designer’:
id: 53b7c6ed-45b2-4d9b-a8c9-8185c2e51b2e
EC2RT2N379:
Type: ‘AWS::EC2::RouteTable’
Properties:
VpcId: !Ref EC2VPCEWYP
Metadata:
‘AWS::CloudFormation::Designer’:
id: 1297c55b-6ac3-4732-a61d-3a0f83cf2074
EC2R3PAHH:
Type: ‘AWS::EC2::Route’
Properties:
RouteTableId: !Ref EC2RT2N379
GatewayId: !Ref EC2IG54PVV
DestinationCidrBlock: 0.0.0.0/0
Metadata:
‘AWS::CloudFormation::Designer’:
id: 296392af-72b6-47cd-8765-9de283b6cc2d
EC2SRTA11SO3:
Type: ‘AWS::EC2::SubnetRouteTableAssociation’
Properties:
RouteTableId: !Ref EC2RT2N379
SubnetId: !Ref EC2S3ARYY
Metadata:
‘AWS::CloudFormation::Designer’:
id: 6b3f58f8-61cb-4c31-aefc-33ca1d415527
|
確認
正常に環境が構築されているか確認します。
EC2 インスタンスが構築され起動していることを確認します。
ssh でリモートログインして動作確認をします。
This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
To register this system, run: insights-client –register
[ec2-user@ip-192-168-0-175 ~]$
[ec2-user@ip-192-168-0-175 ~]$
[ec2-user@ip-192-168-0-175 ~]$ sudo su –
[root@ip-192-168-0-175 ~]#
|
コメント