天天看點

使用OpenApi彈性建立雲伺服器ECS

建立ecs的有下面幾個api需要關注:

<a href="https://help.aliyun.com/document_detail/25499.html">建立ecs執行個體</a>

<a href="https://help.aliyun.com/document_detail/25506.html">查詢執行個體清單</a>

<a href="https://help.aliyun.com/document_detail/25500.html">啟動ecs執行個體</a>

<a href="https://help.aliyun.com/document_detail/25544.html">配置設定公網 ip 位址</a>

建立一台雲伺服器有很多關鍵參數,下面幾個是必選屬性:

securitygroupid: 安全組id,安全組通過安全組防火牆規則配置實作對一組執行個體的防火牆配置。保護您的執行個體的網絡出入請求。在設定安全組的出入規則的時候建議按需開放而不要預設開放所有的出入規則。您也可以通過ecs控制台建立安全組進行建立。

建立一台雲伺服器也比較簡單。如下面的代碼就建立一台經典網絡的ecs,使用的系統盤是ssd 盤參數為<code>cloud_ssd</code>,選擇的是io優化執行個體<code>optimized</code>。代碼如下:

建立成功會傳回相應的執行個體id,失敗的話也會有對應的errorcode,建立執行個體的參數較多,您可以參考ecs的售賣頁面進行調整。

隻有<code>stopped</code>狀态的執行個體可以執行start操作。也隻有<code>running</code>狀态的ecs可以執行<code>stop</code>操作。查詢雲伺服器的狀态可以通過查詢執行個體清單傳入instanceid進行過濾, 在<code>describeinstancesrequest</code>的時候可以通過傳入一個json數組格式的string就可以查詢這個資源的狀态。對于查詢單個執行個體的狀态建議使用<code>describeinstances</code>而不要使用<code>describeinstanceattribute</code>, 因為前者比後者傳回更多的屬性和内容。

下面的代碼會檢查執行個體的狀态,隻有執行個體的狀态符合入參才會傳回執行個體的詳情

建立成功後的ecs預設狀态是<code>stopped</code>,如果要啟動ecs為<code>running</code>狀态, 隻需要發送啟動指令即可。

停止雲伺服器也是非常的簡單,隻需要傳入instanceid即可。

伺服器的啟動和停止都是一個異步的操作,是以我們可以通過腳本在建立時候檢測雲伺服器符合狀态的時候執行相應的操作。

在建立資源之後得到執行個體id,首先判斷執行個體是否處于<code>stopped</code>的狀态,如果處于<code>stopped</code>狀态,我們下發<code>start</code>伺服器的指令,然後等待伺服器的狀态變成 <code>running</code>狀态。

這樣就完成了資源的建立。

除了建立按量服務的雲伺服器,我們的api還支援建立包年包月的伺服器。包年包月的建立和官網的建立流程不同,使用的是自動扣費的模式,也就是說您需要在建立伺服器之前確定賬号有足夠的餘額或者信用額度,在建立的時候将會直接扣費無需确認。

和按量付費的ecs相比我們隻需要指定付費類型和時長即可,下面的時長為1個月。

建立包年包月執行個體的整體的代碼如下

完整的代碼如下,您可以按照自己的資源參數進行設定。