Windows Azure

クラウドデザインパターン Azureを例としたクラウドアプリケーション設計の手引き

 

Microsoftが作成し公開しているpatterns & practices のAzureを題材につかったクラウドデザインパターンが日本語に翻訳され、書籍として発売されます!
デザインパターンとかは原著のほうが良いって意見も歩けど、やっぱり日本語のほうが読みやすい!難しいことを考えるには母国語が良いよね。

てことで、日本語に翻訳されたクラウドデザインパターンを読んで、自分が作るアプリケーションに、そのノウハウを適用しましょう。

(PR) Japan Azure User Groupで監訳をしていて、一部ですが自分も手伝いました

Windows Azure

Microsoft Azureに複数のロールをデプロイして、ロードバランサーのテストをしていると、ロードバランサーが動作していないように感じます。

  1. クライアントからの全てのリクエストが一つのインスタンスで受信される。二つ目のインスタンスは受信しない。
  2. 複数のクライアントを使用した時のみ、時々2つ目のインスタンスが呼び出される。

1つのクライアントから複数のリクエストをしても同じマシンにアクセスし続ける。

 

2つのクラインと殻リクエストをすると、1つ目のクライアントは1つ目のマシンに、2つ目のクライアントは2つ目のマシンにアクセスし続ける。

結論

Azureのロードバランサーは新しいTCPコネクションを受信するとラウンドロビンでロードバランシングしますが、新しいHTTPリクエストの受信ではラウンドロビンしません。

cloudapp.netのURLにリクエストを送信すると、LBはTCPコネクションでルーティングします。アプリケーションがHTTPリクエストを送信するときに同じTCPコネクションを利用するので、同じマシンにアクセスします。

別のマシンにラウンドロビンさせるには、TCPコネクションをブレイクして、新しいTCPコネクションを接続する必要があります。既存のTCPコネクションがKillされるまで、HTTPリクエストは同じマシンにルーティングされ続けます。

HTTPリクエストの変わりに新しいTCPコネクションを作成するには、たとえば同じクライアント上の複数のブラウザを使用することで対応できます。

Connections To Azure Role Not Getting Load Balanced Between Instancesを一部意訳しました。

Windows Azure

Windows Azure Webサイトには、トラブルシューティングや分析に使用できるKUDUと呼ばれるツールがあります。
KUDUの詳細については、ここに記載されています。

メモリダンプを取得したり、デプロイログを参照したり、設定ファイルを参照することもできます。

KUDUへのアクセス方法

Webサイトを作成して、ダッシュボードの右サイドにある「デプロイ資格情報の設定」を設定します。

image

https://example.scm.azurewebsites.net/](exampleは各自のサイト名)にアクセスします。アクセスすると認証情報を確認されるので、先ほど設定した資格情報でログインします。

image

Windows Azure

  1. AWS上でフルバックアップを取得する
  2. Azure上で、[recovery]無しでフルバックアップをリストアする
    参考:MSDNライブラリ[データベースのバックアップの復元]
  3. AWS上でログバックアップを取得する
  4. Azure上で[recovery]無しでログバックアップをリストアする
  5. 3~4にかかる時間が十分に短くなるまで繰り返す
    スクリプト化すると良いかも。
  6. アプリケーションをオフラインにする
  7. AWS上でログバックアップを取得する
  8. Azure上で[with recovery]でログバックアップをリストアする
  9. アプリケーションの向き先をAzureに変更する
  10. アプリケーションをオンラインにする

3~5は、ログシッピングで自動化することもできます。

How to migrate SQL Server databases from AWS to Windows Azureを意訳した投稿です。

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」をざっくり意訳した投稿です。