XS 是新的運算資源尺寸,它的 CPU/RAM 與磁碟空間都比 Small 要小,分別是 1.0GHz CPU, 768MB RAM 以及 20GB 硬碟空間,主要是供企業在測試雲端實際的環境,或是對客戶做系統展示用的,也因為它運算資源小,在資料中心內所有的 XS 執行個體都是集中在部份實體伺服器中共享 CPU 資源的,簡單的說,如果是架設小型網站或使用者數很少的系統時,Extra Small 可以說是不錯的入門款。而 Remote Desktop Connection 這個新功能是 PDC 2010 所宣布的 Windows Azure 新功能中令人激賞的功能之一,因為有了遠端桌面的功能,開發人員或管理人員可以更掌握目前虛擬機器的使用情況以及環境,有助於微調應用程式組態或是加快排除問題的速度。
Windows Azure SDK v1.3 以及 Visual Studio Tools for Windows Azure 1.3 正式於 2010/11/30 釋出,部份於 PDC 2010 中所宣布的 Windows Azure 新功能正式的發布,筆者將會陸續撰寫新功能的報導文章。本文首發為新宣布的運算資源 Extra Small (XS) 以及遠端桌面連線到執行個體的功能。
1. Extra Small (XS) Compute Instance
XS 是新的運算資源尺寸,它的 CPU/RAM 與磁碟空間都比 Small 要小,分別是 1.0GHz CPU, 768MB RAM 以及 20GB 硬碟空間,主要是供企業在測試雲端實際的環境,或是對客戶做系統展示用的,也因為它運算資源小,在資料中心內所有的 XS 執行個體都是集中在部份實體伺服器中共享 CPU 資源的,簡單的說,如果是架設小型網站或使用者數很少的系統時,Extra Small 可以說是不錯的入門款。
XS 的計費是每小時 0.05 美元,相當於每天 1.2 美元,每月約 36 美元,相當於 1200 元台幣。
由於 XS 尺寸的運算資源目前仍處於 Beta 狀態,必須要由使用者向 Windows Azure 申請參與 Beta 測試,你可以在 Silverlight-based 的 Management Portal 中,註冊參與 Extra Small 的測試。
在登記完成 (Status 顯示為 Active) 時,你就可以修改應用程式的服務定義檔 (ServiceDefinition.csdef),將 vmsize 設定為 ExtraSmall:
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="HelloWindowsAzure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
<WebRole name="WebRole1" vmsize="ExtraSmall">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="HttpIn" endpointName="HttpIn" />
</Bindings>
</Site>
</Sites>
<ConfigurationSettings>
<Setting name="MyData" />
</ConfigurationSettings>
<Endpoints>
<InputEndpoint name="HttpIn" protocol="http" port="80" />
</Endpoints>
</WebRole>
</ServiceDefinition>
當然,如果你已經安裝了 Visual Studio Tools for Windows Azure v1.3,你也可以透過設定雲端角色的屬性,將 VM Size 設定為 Extra Small:
即可啟用 XS 運算資源。
2. Remote Desktop Connection
Remote Desktop Connection 允許開發人員或管理人員透過遠端桌面連線用戶端 (Remote Desktop Connection Client) 直接連線到目前已經在線上已就緒的執行個體,開發人員可以檢測目前應用程式的執行環境,或修改自己的應用程式,利用本地的磁碟空間來保存錯誤記錄檔,或是利用遠端桌面上傳自己的應用程式必要檔案等等。使用 Remote Desktop Connection 連入執行個體時,就有如在管理自己的伺服器般。
Remote Desktop Connection 這個新功能是 PDC 2010 所宣布的 Windows Azure 新功能中令人激賞的功能之一,因為有了遠端桌面的功能,開發人員或管理人員可以更掌握目前虛擬機器的使用情況以及環境,有助於微調應用程式組態或是加快排除問題的速度。
若要啟用 Remote Desktop Connection,則要做下列準備:
- 安裝 Visual Studio Tools for Windows Azure v1.3。
- 準備好一份數位憑證 (可以是 Self-signed certificate,但要同時有公鑰和私鑰)。
- 使用 Silverlight-based Management Portal。
接著,開啟雲端應用程式專案,並發行它,你可以在發行的對話盒中看到 "Configure Remote Desktop Connections…" 這個連結,它是在 v1.3 才新增的。
按下該連結,即可看到設定遠端桌面的組態:
其中 Create or select a certificate to encrypt the user credentials 一項,會要求你設定遠端連線所使用的憑證,你可以透過 Visual Studio 來產生新的自我簽署憑證,就如同在發行時建立憑證相同。接下來是設定帳戶的使用者名稱和密碼,並且設定帳戶的到期日,這些資料都會寫入角色的服務組態檔 (ServiceConfiguration.cscfg) 內,這也就是說,你可以隨時透過線上修改服務組態檔來展延帳戶的有效期限,或是更改使用者名稱:
<?xml version="1.0"?>
<ServiceConfiguration serviceName="HelloWindowsAzure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
<Role name="WebRole1">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="MyData" value="Source Data" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="[account name]" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="[account password encrypted by certfiicate]" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2011-01-02T23:59:59.0000000+08:00" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" />
</ConfigurationSettings>
<Certificates>
<Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="[certificate thumbprint value]" thumbprintAlgorithm="sha1" />
</Certificates>
</Role>
</ServiceConfiguration>
接著,你要在 Management Portal 中上傳服務憑證 (Service Certificate),服務憑證是私密金鑰 (PFX),你可以在由 Visual Studio 產生的憑證中匯出這組私密金鑰後上傳到要部署的角色的服務憑證中。
服務憑證匯入完成後,就可以上傳應用程式的封裝,當 Instance 進入 Ready 狀態時,就可以按在 Ribbon 工具列上的 Remote Access 群組中的 Connect 按鈕, 此時會下載一個 RDP 檔案,這個檔案會保存使用遠端桌面連線時需要的連線參數。接著在這個 RDP 檔案上按兩下即可連入到虛擬機器內。若要進一步的設定要連線的屬性,則你用遠端桌面工具打開這個 RDP 檔案即可。
注意:如果不透過這個 RDP 檔案,直接以應用程式所在的 DNS 位置連線的話會被拒絕。
Reference:
- Windows Azure SDK v1.3
- PDC 2010 slides