Windows Azure

仮想マシンを再起動した後も、Azure Fleへの共有接続を永続化させる方法を説明します。

Windows IaaS 仮想マシン

通常、Windowsは再起動した後、SMB共有接続を永続化させようとします。
しかし、Azure Fileの場合、接続認証があるため、再起動後のAzure Fileへの再接続が失敗します。Azure Fileへの接続を永続化させるために、Azure Fileへの認証情報をいくつかの方法で永続化させる必要があります。

CmdKey

ストレージアカウントの認証情報をCmdKyeコマンドラインツールを使用して保存してしまうことが、永続化させるのにもっとも簡単な方法です。次のコマンド例が、仮想マシンにストレージアカウントの認証情報を永続化させた例です。

C:\>cmdkey /add:.file.core.windows.net /user: /pass:

Note: yourstorageaccountname is not your live id but the name in the endpoint.

また、次のコマンドで格納した認証情報を一覧表示できます。

C:\>cmdkey /list

Currently stored credentials:

Target: Domain:target=filedemo.file.core.windows.net 
Type: Domain Password 
User: filedemo

認証情報を永続化させてしまえば、認証情報を指定することなく接続できるようになります。

C:\>net use * \\filedemo.file.core.windows.net\demo1

Drive Z: is now connected to \\filedemo.file.core.windows.net\demo1.

The command completed successfully.

ユーザーコンテキスト

CmdKeyによる資格情報の永続化はユーザーで独立しています。
登録コマンドを実行したユーザーと別のユーザーでログインしている場合は、認証情報が永続化されていません。

管理者コンテキスト

Administratorsグループに入っているユーザーの場合、資格情報が共有されます。

資格情報の管理

資格情報の管理(コントロールパネル→ユーザーアカウントの配下)を使用して、ストレージアカウントへの資格情報を永続化させることができます。

image

Windows PaaS Role

新しいインスタンスが起動したときに、自動的に接続できるようにコードを書くことができます。
WNetAddConnection2を使用してPaaSロールで、ドライブレターをマッピングします。

コード例は、元記事を参照

Linux 仮想マシン

/etc/fstab にAzure File共有へのマウントを記載することで、スタートアップ時に自動的にマウントさせることができます。

//.file.core.windows.net/demo1 /home/azureuser/smb cifs vers=2.1,dir_mode=0777,file_mode=0777,username=,password=Persisting connections to Microsoft Azure Files


Windows Azure

すでにムッシュが、「Microsoft® SQL Server® Backup to Microsoft Windows® Azure®Tool を使ってみる」で紹介していたのですが、自分も触ってみました。

SQL Server 2005以降に対応したツールで、SQL Serverネイティブで提供されているAzure StorageのBlobにバックアップする機能が無いバージョンでもBlobにバックアップファイルをシームレスに保存リストアできます。

このツールをインストールすると、裏側で「Microsoft SQL Server Backup to Windows Azure Tool サービス(実態は、SQLBackup2Azure.exe)」が動くようになります。

  1. このサービスは、指定パス(もしくは全ディレクトリ)・拡張子を監視します。
  2. 指定した条件にマッチするファイルが出来上がると、自動的にバックアップファイルをBlobのコンテナーに転送します。
  3. コンテナーに転送が完了すると、ローカルにはスタブファイルを生成します。スタブファイルの中身は、コンテナーでのバックアップファイル名とスタブファイル名、ストレージアカウント名、コンテナー名、ファイルサイズ、圧縮後サイズなどが記録されています。
  4. リストアするときには、そのスタブファイルを指定するとシームレスにBlobからバックアップファイルをダウンロードしリストアします。

スタブファイルを削除してしまった場合

スタブファイルは普通のファイル(テキストファイル)です。

image

このファイルを消してしまった場合は、Blobコンテナーからローカルにダウンロード(*.bak)し、元の場所に配置すれば、すぐ利用できるようになります。

image

圧縮処理

このツールの機能で、バックアップファイルが圧縮されます。
そのため、SQL Serverのバックアップファイルの圧縮とは併用しないことが推奨されています。

ツールのメリット

  • ローカルストレージには、6KB程度のスタブファイルしか保持しないので、ストレージ容量を節約することができます。
  • また、Blobは3重化(地理ロケーションが有効だと6重化)されているので、安全にバクアップファイルを保持することができます。
  • シームレスに動作するので、ユーザーはAzure Blobを意識することなく、シームレスに利用できます。

SQL Azure

自動バックアップ

  • 1週間に1回フルバックアップ
  • 1日に1回差分バックアップ
  • 5分毎にトランザクションログバックアップ
  • 1日分のバックアップファイルを地理的に離れたAzure Storageにアップロード

セルフサービスリストア

  • REST API、PowerShell、ポータル
  • サイドバイサイドでデータベースをコピーする

バックアップ保持ポリシー

  • Basicエディション:最後のデイリーバックアップ
  • Standard:7日間
  • Premium:30日間

image

 

Designing Modern Apps using New Capabilities in Microsoft Azure SQL Database, Deep Diveを基にした投稿です

Windows Azure

Microsoft Azure SQL Databaseの提供形態が変わろうとしています。
これまでは、使用領域に応じた課金でしたが、今後はパフォーマンスと機能に応じた課金に変わります。

image

パフォーマンスをベースにした課金になりますが、パフォーマンスとはどういった定義なのでしょうか?その話をすると出てくるのが、次の2つの概念です。

  • Database Throughput Unit – DTU
  • Azure SQL Database Benchmark – ASDB

Database Throughput Unit – DTU

データベースにアサインする性能に関係するリソースに相当します。
CPU、メモリ、Read、Writeを混ぜ合わせて計測します。
そして、性能レベルを比較します。
これが性能について話をするのに話が早くなります。(IOPSと%を比較することを想像してください)

image

詳細は、MSDNライブラリ「Azure SQL データベースのサービス階層とパフォーマンス レベル」を参照してください。

Azure SQL Database Benchmark – ASDB

OLTPのワークロードです。
常に提供されているメモリよりも大きくてさまざまなテーブルサイズのテーブル6つを使用します。
9種類のトランザクションをしようします。
SELECT、DELETE、INSERT、UPDATEなど複数のトランザクションを使用しています。
詳細は:MSDNライブラリ「Azure SQL データベースのベンチマークの概要」を参照

image

image

提供されるサービス帯による性能比較

トランザクション数は、あくまでも例。DBトランザクション制限をハードで入れているわけではない。

サービス階層/パフォーマンス レベル DTU 最大 DB サイズ 最大 ワーカー スレッド 最大 セッション ベンチマーク トランザクション率 予測可能性

Basic

1

2 GB

20

100

3,467 トランザクション/時間

良い

Standard/S1

5

250 GB

50

200

283 トランザクション/分

Standard/S2

25

250 GB

100

500

1,470 トランザクション/分

Premium/P1

100

500 GB

200

2,000

98 トランザクション/秒

最高

Premium/P2

200

500 GB

400

4,000

192 トランザクション/秒

最高

Premium/P3

800

500 GB

1,600

16,000

730 トランザクション/秒

最高

パフォーマンスレベルの変更方法

image

PowerShellの「Set-AzureSqlDatabase」を使用するか、TSQLの「ALTER Database」を使用するか、管理ポータルで操作するか、REST APIたたくか、.NETでたたくかですね。

モニタリング方法

Azureポータルでスケールアップすべきかどうか、スケールダウンさせるべきかどうかを見れるようになります。
master.sys.resource_statsでも提供されます。5分の平均値を取得しています。

image

クエリチューニング

  • sys.dm_exec_query_stats
  • sys.dm_exec_query_sql_text()
  • sys.dm_exec_query_plan
  • sys.dm_exec_requests
  • sys.dm_exec_sessions

Designing Modern Apps using New Capabilities in Microsoft Azure SQL Database, Deep Diveを基にした投稿です

Windows Azure

TechED 2014で、Microsoft Azureの機能追加がいくつか発表されました。その中に、仮想マシン作成時にカスタムスクリプトを実行させられる機能が追加されました。

IISの役割をインストールするpowershellスクリプト(.ps1)を用意し、ローカルディスクかAzureストレージに保存します。

install.ps1
Add-WindowsFeature Web-Server –IncludeAllSubFeature

次に、ポータルからスクリプトを使用するように設定します。

VMエージェントのインストールを選択し、「カスタムスクリプト」オプションを選択し、インストールスクリプトを選択します。他に必要な対応として、Firewallのポートを開けたり、websaiteのパスを変更があるので、それらもスクリプト化すると良いかも。

image

参考情報:Auto Install IIS in the Microsoft Azure VM that you are creating