【AWS】CloudFormation のスタックのテンプレートを使ってバックアップ及びリストアする手順

前回 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 ~]#

 

 

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください