閱讀100 返回首頁    go 阿裏雲 go 技術社區[雲棲]


ECS 一鍵完全克隆

是一種簡單易用的雲計算資源管理和自動化運維服務。用戶通過模板描述多個雲計算資源的依賴關係、配置等,並自動完成所有資源的創建和配置,以達到自動化部署、運維等目的。

當我們的應用上線的時候,首先要做服務器選型,在做係統配置,最後應用環境配置,然後部署機器驗證,看我們搭建的環境是否符合需求。當一切都搞定了,應用需要大規模上線,或者由於業務發展需要擴展我們的應用部署,這個時候我們再一步一步再配置一遍,拷貝數據嗎。以前可能需要需要這麼做,但是現在這些步驟完全可以自動化的完成。通過資源編排可以非常方便的實現一台ECS的全量克隆。那麼所有的事情都變得非常簡單。

ECS 一鍵完全克隆

通過下麵的鏈接就可以很方便的一鍵克隆任意多台源ECS。應用部署和應用擴展就是分分鍾的事。

>> ECS 一鍵克隆

點擊這個鏈接後,會看如下的頁麵,在對應的框中輸入具體的參數,點擊創建,然後就開始ECS的完全克隆。

clone_ecs

具體說一下這些參數的含義:

  • 已選地域:選擇在哪個region克隆機器,可以通過上一步,調整region
  • 棧名:指定ROS資源棧的名稱,必須全局唯一
  • 創建超時:克隆機器的超時時間
  • 失敗回滾:克隆機器失敗後,是不是刪除部分創建成功的其他資源
  • Source ECS Instance ID:將要克隆的源 ECS
  • ECS Login Password:克隆的新機器的 root 用戶登錄密碼
  • Source ECS system disk ID:將要克隆的源 ECS 的係統盤 ID
  • Source ECS data disk ID:將要克隆的源 ECS 的數據盤 ID
  • Number of Cloned ECS:將要克隆多少台完全一樣的 ECS

模板詳解

ROS 是通過模板來實現ECS的一鍵完全克隆。在這個模板中,主要用到了一下三個資源:

ALIYUN::ECS::Snapshot 資源是給磁盤做快照; ALIYUN::ECS::CustomImage 基於係統盤快照做係統鏡像;最終通過ALIYUN::ECS::InstanceGroupClone 基於係統盤鏡像和數據盤快照完整克隆ECS。它們各自詳細的參數都可以通過鏈接看到。

完整的模板如下:

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Clone ECS Instance",
  "Parameters": {
    "SourceEcsDataDiskId": {
      "Type": "String",
      "Description": "Create snapshot based on source ECS data disk",
      "Label": "Source ECS data disk ID"
    },
    "SourceEcsSystemDiskId": {
      "Type": "String",
      "Description": "Create custom image based on source ECS system disk",
      "Label": "Source ECS system disk ID"
    },
    "SourceEcsInstanceId": {
      "Type": "String",
      "Description": "Source ECS Instance",
      "Label": "Source ECS Instance ID"
    },
    "LoginPassword": {
      "NoEcho": true,
      "Type": "String",
      "Description": "ECS Login Password",
      "AllowedPattern": "[a-zA-Z0-9-\\(\\)\\`\\~\\!@\\#\\$%\\^&\\*-+=\\|\\{\\}\\[\\]\\:\\;\\‘\\,\\.\\?\\/]*",
      "Label": "ECS Login Password",
      "MinLength": 8,
      "MaxLength": 41
    },
    "NumberOfClonedEcs": {
      "Type": "Number",
      "Description": "The number of nodes will be cloned",
      "MinValue": 1,
      "Label": "Number of Cloned ECS",
      "MaxValue": 100,
      "Default": 1
    }
  },
  "Resources": {
    "CustomImage": {
      "Type": "ALIYUN::ECS::CustomImage",
      "Properties": {
        "SnapshotId": {
          "Ref": "SystemDiskSnapshot"
        },
        "Timeout": 600
      }
    },
    "NewEcsInstance": {
      "Type": "ALIYUN::ECS::InstanceGroupClone",
      "Properties": {
        "DiskMappings": [
          {
            "SnapshotId": {
              "Fn::GetAtt": [
                "DataDiskSnapshot",
                "SnapshotId"
              ]
            },
            "Size": 20
          }
        ],
        "MinAmount": {
          "Ref": "NumberOfClonedEcs"
        },
        "ImageId": {
          "Ref": "CustomImage"
        },
        "SourceInstanceId": {
          "Ref": "SourceEcsInstanceId"
        },
        "MaxAmount": {
          "Ref": "NumberOfClonedEcs"
        },
        "Password": {
          "Ref": "LoginPassword"
        }
      }
    },
    "DataDiskSnapshot": {
      "Type": "ALIYUN::ECS::Snapshot",
      "Properties": {
        "DiskId": {
          "Ref": "SourceEcsDataDiskId"
        }
      }
    },
    "SystemDiskSnapshot": {
      "Type": "ALIYUN::ECS::Snapshot",
      "Properties": {
        "Timeout": 300,
        "DiskId": {
          "Ref": "SourceEcsSystemDiskId"
        }
      }
    }
  },
  "Outputs": {
    "NewEcsInstanceIds": {
      "Value": {
        "Fn::GetAtt": [
          "NewEcsInstance",
          "InstanceIds"
        ]
      }
    }
  }
}

總結

在很多情況下,我們需要完全克隆一台ECS,例如應用擴容,ECS整體遷移等等,但是當前情況下,很多時候我們克隆ECS隻能是手動創建,然後手動做數據遷移,這個在需要快速做應用部署,大量的運維的情況下是不可行的。ROS 基於模板實現了自動化的,快捷的,ECS完全克隆的解決方案。可以大大提高大家運維效率和減少運維的失誤。

是一種簡單易用的雲計算資源管理和自動化運維服務。用戶通過模板描述多個雲計算資源的依賴關係、配置等,並自動完成所有資源的創建和配置,以達到自動化部署、運維等目的。

最後更新:2017-08-13 22:21:43

  上一篇:go  買新房全款好還是貸款好?先看看各自優劣勢吧
  下一篇:go  移動傳感器技術將如何提高人類生產力?明尼蘇達研究員告訴你