Windows Azure

UbuntuにUbuntuデスクトップをインストールします。

apt-get install ubuntu-desktop

RDサーバーをインストールします。

apt-get install xrdp

Windows Azureエンドポイントを設定します。xrdpポートは、Windowsのリモートデスクトップと同じポート3389を私用するので、3389番のエンドポイントを設定します。

Firewall ports

Bitwise Tunnelierでリモートデスクトップ接続します。

Remote Desktop menu

Remote Desktop Configuration

remote desktop client

ネタ元

azurecoder’s blogに投稿された「Enabling Remote Desktop on Ubuntu in Windows Azure」をざっくり意訳した投稿です。

Windows Azure

Windows Azure Virtual Machineを使用している場合に遭遇する一般的な問題について説明します。

Windows Azure Technical Support (WATS) Team Blog に投稿された「Windows Azure Virtual Machines – Common Issues」をざっくり意訳した投稿です。

1. 仮想マシンが見えなくなったり、削除される

例えば、90日間のトライアルアカウントやMSDNサブスクリプションの月間使用量などで、アカウントの使用上限に達した場合、ストレージアカウントは読み取り専用(Read-Only)になり、仮想マシン用のVHDファイルはストレージアカウントに残り続けますが、デプロイしている仮想マシンは削除されます。
トライアルアカウントユーザーは、従量課金アカウントに移行することができます。MSDNサブスクリプションアカウントで月間上限に達している場合は、課金サイクルの翌月になり、次月分を使用できるようになったら、既存のVHDから仮想マシンをデプロイすることができます。

重要な補足

90日のトライアルアカウントに提供されているリソースについては、このドキュメントを参照してください。
特定のリソースが使用制限に達すると、サブスクリプションが課金できるようになるまで関連サービスが使用できなくなります。トライアルサブスクリプションの使用量に依存して、90日前に使用量を使い切ることがあります。たとえば、90日トライアルアカウントは、750smallコンピュート時間提供されています。これは1つのSmall仮想マシンを750時間使えることを意味します。つまり、4つのExtra Large仮想マシンを作成した場合、仮想マシンは23時間ちょっとで削除されてしまいます。

2. 仮想マシンを削除した時、VHDファイルが削除されない

Azure仮想マシン用のVHDファイルは、AzureストレージアカウントのBlobにディスクオブジェクトとして登録されていて、仮想マシンを作成したときにOSディスクとしてアタッチされたり、手動でデータディスクとしてアタッチしたりします。
仮想マシンを削除すると、仮想マシンだけが削除されて、ディスクオブジェクトは仮想マシンのアタッチから外れます。しかしディスクオブジェクトは、ストレージアカウントに物理VHDファイルとして残り続け、ストレージの課金対象となります。

仮想マシンに関連するリソースを削除するには、仮想マシンの削除、ディスクの削除、VHDの削除が必要です。

ディスクオブジェクトを削除するには、Windows Azure管理ポータルで、仮想マシンを選択し、DISKタブを選び、削除ボタンから「関連付けられているVHDの削除」と「関連付けられているVHDの保持」の2つのオプションから選択します。
ストレージアカウントのディスクオブジェクトと物理VHDの両方を削除するには、「関連付けられているVHDの削除」を選択します。
ディスクオブジェクトだけを削除し、物理VHDファイルを維持したい場合は、「関連付けられているVHDの保持」を選択します。

image

補足:VHDの削除はまれにエラーになることがあります。問題を解決するにはリースを破壊する必要があります。詳細は、7番を参照してください。

3. Temporary Diskの使用に注意する

重要なデータをDドライブに格納している人もいますが、正しい選択ではありません。DドライブはTemporary Storageなのです。

Temporary Storage(Dドライブ)は、OSディスクやデータディスクのようにWindows Azureストレージでの永続化はされていません。ホストサーバーのアップデートやハードウェア障害で、仮想マシンが別のホストマシンに移動したときに、Dドライブ上にあるでデータは消失します。Dドライブは、一時ログや一時データベース(tempdb)のような、ドライブのTemporary Storageに配置してもいい一時データのみを格納するようにしてください。消失しては困るデータは、一時ディスクへ保存してはいけません。開発者が一時ディスクを使用することにメリットがあるのは、性能です。一時ディスクのI/O性能は、OSディスクやデータディスクよりもIO性能が高いです。その理由は、Windows Azureストレージで永続化されていないからです。

SQL TEMPDB用にDドライブを使用した場合、別のホストに仮想マシンが移動したときに対象フォルダーを再作成する必要があります。再作成しないと、SQLは起動できません。詳細は、Technet wikiの「Change TEMPDB to Temporary Drive on Azure SQL IaaS」を参照してください。

clip_image002clip_image004

clip_image006

</P

4. 既存VHDのアップロード

Windows AzureストレージへVHDをアップロードする方法にはいくつかの選択肢があります。
Azure PowerShell 0.6.9以降のAdd-AzureVHDコマンドレットを使用するか、Azure SDKのCsupload.exe(1.7以降)を使用することをお勧めします。

Azure VM用に使用するVHDをアップロードする場合は、次のことを確認してください。

  • 他の仮想マシンを作成するイメージとして使用するには、仮想マシンはgeneralizeしなければなりません。Windowsの場合、sysprepツールを使用してgeneralizeします。Linuxの場合は、Windows Azure Linux Agent(waagent)でgeneralizeします。generalizeしていないVHDをイメージとしてアップロードした場合、仮想マシンのプロビジョニングに失敗します。
  • 他の仮想マシンのベースに使用せず、一個の仮想マシンのディスクとしてのみ使用する場合は、仮想マシンをgeneralizeしてはいけません。generalizeしたVHDをディスクとしてアップロードした場合、プロビジョニングに失敗します。
  • サードパーティのストレージツールを使用する場合は、page BlobとしてVHDをアップロードしているか確認してください。block BlobでVHDをアップロードしているとプロビジョニングに失敗します。Add-AzureVHDとCsuploadは適切に対応します。
  • 容量固定VHDのみをアップロードしてください。Windows Azure Virtual Machineは容量可変とVHDXフォーマットをサポートしていません。
    補足:CsuploadやAdd-AzureVHDを使用すると、容量可変VHDは自動的に容量固定に変換します。
  • VHDの最大サイズは、127GBです。データディスクは最大1TBで、OSディスクは、127GB以下でなければなりません。
  • 仮想マシンは、DHCPに設定されてなければならず、固定IPを設定してはいけません。Windows Azure Virtual Machinesは固定IPをサポートしていません。

このフォーラムの投稿に、VHDをアップロードする際の一般的な問題について説明されています。また、いくつかのストレージツールの比較については、この記事を参照してください。

5. 仮想マシンを削除しても、前の仮想マシンのDNS名を再利用できない

仮想マシンを削除しても、関連付けられていたCloud Srviceは自動的には削除されず、前の仮想マシンと同じDNS名を再利用することができません。DNS名を再利用するには、明示的に管理ポータルのCloud Serviceページでクラウドサービスを削除するか、Azure PowerShellのRemove-AzureServiceを使用するか、Azure CLIツールでAzureサービスを削除するか、Delete Hosted Service APIを使用します。

Cloud Serviceがわかりにくい?説明します。
Azure仮想マシンを作成すると、仮想マシンに設定したDNS名と共にクラウドサービスが自動的に作成されます。
今のところ、新しいHTML5の管理ポータルでは、1つの仮想マシンしか含んでいない場合、クラウドサービス配下にクラウドサービスが一覧表示されません。クラウドサービスに表示されるのは、複数の仮想マシンを含んでいるか、仮想マシンを含んでいないものだけです。Azure PowerShell Get-AzureServiceコマンドレットを使用することで確認できます。一つのクラウドサービスには最大で50この仮想マシンを登録することができます。

MSの佐々木さんのBlog「仮想マシン作成時に指定する二つの「名前」」も合わせて参照してみてください。

6. リモートデスクトップの接続問題

リモートデスクトップの接続問題は、顧客が遭遇するもっとも一般的な問題で、単純なクライアントのファイヤーウォールの問題からプラットフォームの問題まで原因が多岐にわたります。まず最初にクライアントサイドから問題切り分けを始めるべきです。

  • PsPingPortQryTelnetNmapのようなツールを使用して、リモートデスクトップエンドポイント用のTCPポートにピングを打って、クライアントサイドのファイヤーウォールの問題が無いか確認します。クライアントマシンがRDPエンドポイント(クラウドサービスに最初にデプロイした仮想マシンはポート3389番で、同じ仮想マシンに2つ目以降の仮想マシンをデプロイすると49152~65535の間のランダムな番号になります)とアウトバウンド通信できているかを見ます。
    通信ができない場合は、会社NWのファイヤーウォールで、3389や49152~65535番のポート通信をブロックしている可能性もあるので、自宅やモバイル通信など別のNWで試してみてください。
  • Drew McDaniel さんが、フォーラムに証明書キャッシュやエンドポイント絡みの一般的な問題について投稿しています。
  • 上記手順で問題が解決しない場合、仮想マシンの再起動やサイズ変更を試してみてください。問題が継続する場合は、サポートフォーラムを使用してください。

7. 仮想マシンのアクティベーション

Windows Azure仮想マシン上のOSアクティベーションをする際に、エラーコード0xC004F074で、「A problem occurred when Windows tried to activate」とエラーメッセージが出るかもしれません。

Code:
0xC004F074
Description:
"The software licensing service reported that the computer could not be activated. No key management service could be contacted"

この問題に留意し、解決するために動いております。サーバー上でサービスを動かすにあたり、アクティベーションステータスは影響はありません。

詳細はフォーラムの投稿を参照してください。

Windows Azure

Windows Azure Virtual Machineを作成する方法として、次の3通りあります。

  • ギャラリーからイメージを選択して仮想マシンを作成する方法
  • Hyper-V形式の仮想HDD(VHD)をアップロードして仮想マシンを作成する方法
  • VHDにsysprepを実行したVHDをイメージとしてアップロードし、そのイメージから仮想マシンを作成する方法

3つめのsysprepを実行してイメージを作成する方法で、注意が必要な小さな問題があります。
Windows Azure Virtual Machineをデプロイするときは、必ずパスワードの複雑性を満たしていなければなりません

しかし、ローカルで仮想マシンを作成しSYSPREPを実行した場合、リモートデスクトップ接続に使用するアカウントのパスワードを強くない文字列に設定することができてしまいます。

この状態で、Windows Azure Virtual Machineで仮想マシンをデプロイすると、仮想マシンに接続できなくなります。

パスワードポリシーについては、「パスワードは、複雑さの要件を満たす必要がある」を確認してください。

元情報

Windows Azure Virtual Machines – Make Sure You Follow the Documentation

Windows Azure

分散ストレージ技術を使用したNOSQL型のOSSであるriakをWindows Azure Virtual Machineにインストールする方法が紹介されていたので、ざっくり意訳してみた。

ざっくりとしたインストール手順は次の4ステップ。

  1. Windows Azure Previce Management Portalを使用してCentOSの仮想マシンを作成する
  2. PuttyやSSHを使用してCentOS仮想マシンに接続する
  3. シェルスクリプトを使用してCentOSとRiakを設定する
  4. Riakのクラスター化とテストデータをロードする

CentOS仮想マシンを作成する

Windows Azure Virtual Machine Preview機能をサインアップする。

仮想マシンをWindows Azure上に作成するには、Windows Azure Virtual Machine Previewに申し込む必要があります。もし、まだWindows Azureアカウントを持っていないなら、フリートライアルアカウントをサインアップすることもできます。

  1. https://account.windowsazure.com/ に移動し、Windwos Azureアカウントでインストールする
  2. アカウント→プレビュー機能をクリックする。Virtual Machine & Virtual Networkをクリック。
    image

CentOS Linuxが動作する仮想マシンを作成する

  1. Windows Azure Preview Management PortalにWindows Azureアカウントでログインする
  2. Managementポータルで、ページの左下の「+NEW」をクリックする。
    image
  3. [Compute]-[Virtual Machine]を選択。
    image
    [From Gyallery]を選択する。
    image
    [PLATFORM IMAGE]-[OpenLogic CentOS 6.2]を選択する。右下の矢印ボタンをクリックする。
    image
  4. VM Configurationページで、次の情報を設定します。
    CONNECT TO EXISITING VIRTUAL MACHINE
    Virtual Machine Name:「testlinuxvm」
    User Name:「newuser」
    Password:強力なパスワードを入力
    Confirm Password:パスワードの再入力
    ドロップダウンリストからサイズを選択する
    image
  5. VM Modeページで、次の情報を設定します。
    STANDALONE VIRTUAL MACHINEを選択する。
    DNS名に、任意のDNS名を入力する。たとえば、「testlinuxvm」
    Storage Accountで、Use Automatically Generated Storage Accountを選択する
    REGION/AFFINITY GROUP/VIRTUAL NETWORKで、仮想マシンのイメージをホストするリージョンを選択する。
  6. VM OptionページのAvailability Setで、noneを選択する
  7. Windows Azure上に仮想マシンの準備が完了します。

エンドポイントの設定

Windows Azure 仮想マシンにリモート接続するには、必ずエンドポイントを設定しなければなりません。

  1. Management Portalで、Virtual Machineを選択し、新しい仮想マシン名を選択し、Endpointを選択します。
    image
  2. エンドポイントの設定ページの下部の「Edit Endpoint」ボタンを選択します。パブリックポート22番のSSHエンドポイントの設定をします。
    image
  3. [Add Endpoint]ボタンを選択し、次の情報を設定します。
    riak_web
    TCP
    8098
    8098
    image

CentOS仮想マシンにPuttyかSSHで接続する

SSHかPuttyを使用して設定したEndpointで仮想マシンに接続します。
Linux/Macユーザー

$ ssh newuser@testlinuxvm.cloudapp.net -o ServerAliveInterval=180

シェルスクリプトを使用してCentOSとRiakの設定をする

次のコマンドを入力する。

sudo su –

curl –s https://github.com/glickbot/riak_on_azure/blob/master/azure_install_riak.sh|sh

参考情報

https://github.com/glickbot/riak_on_azure

Windows Azure

Windwos Virtual Machineが、反応無くなったり、ディスクが読み取り専用になった時、
ポータルもしくはスクリプトで仮想マシンを再起動します。
大抵の場合、これで問題が解決し、仮想マシンは健全な状態に戻ります。

仮想マシンを再起動しても、仮想マシンが「Stopping」のまま止まり続けていることがあります。
この場合は、仮想マシンを削除し(ポータルで、「Delete」ボタンをクリックします)、
使用していたのと同じVHDディスクを使用して再度デプロイします。

さらに同じDNS名を使用したい場合は、前のDNS名を解放するために
仮想マシンで使用していたDNS名をポータルでクラウドサービスから削除する必要があります。
image

情報源

VM becomes unresponsive or disk becomes read-only