8)Using IP Address and Domain Restrictions with Windows Azure
- 質問:
IPアドレスでアクセスを制限することは可能でしょうか?[開発][上級]
- 回答:
スタートアップタスクでIISモジュールをインストールして、設定変更をすれば可能です。
- 解説:
Windows Azureをイントラネットなどで使用する際に避けて通れないIPアドレスでのアクセス制限のお話です。FullIISをサポートすることで可能になりました。
では、具体的に見ていきます。
1. スタートアップタスク用のバッチファイルを作成する
IISの「IP およびドメインの制限」機能をインストールした上で、デフォルトでロックされている構成をアンロックして機能を有効化します。
@echo off %windir%\System32\ServerManagerCmd.exe -install Web-IP-Security %windir%\system32\inetsrv\AppCmd.exe unlock config -section:system.webServer/security/ipSecurity
2. 作成したバッチファイルをスタートアップタスクに登録する
ServiceDefinition.csdefファイルにスタートアップタスクを登録します。この時特権モードで動作させて、taskTypeはsimpleにすることを忘れないでください。
<WebRole> <Startup> <Task commandLine="test.cmd" executionContext="elevated" taskType="simple" /> </Startup> </WebRole>
3. Web.configで機能を設定します
IPアドレスは環境に合わせて設定してください。
<system.webServer> <security> <ipSecurity allowUnlisted="false"> <clear /> <add allowed="true" ipAddress="192.168.0.1" /> </ipSecurity> </security> </system.webServer>
これで設定は完了です。機能をインストールしているので通常のデプロイよりもサービス開始まで時間がかかりますが、異常ではないので立ち上がるまでお待ちください。
9)Azure fault domains
- 質問:
フォールトドメインとはなんですか?[管理][初級]
- 回答:
物理的に同じグループに設定されたインスタンスの集まりです。
- 解説:
Windows Azureではサービスを継続させるために2インスタンス以上での運用が推奨されています。インスタンスが1つダウンしたとしてももう片方のインスタンスがサービスを継続する仕組みが提供されているためです。これは、ユーザー側(開発者側)でデプロイ時に特に意識しなくてもWindows Azureでは物理的に離れた箇所にアプリケーションがデプロイすることなどで提供されます。この別れた状態をフォールトドメインが異なると表現されます。また、3つ以上のインスタンスを稼働した際に、複数のインスタンスが物理的に近い箇所になった際、この物理的に近いインスタンスをフォールトドメインが同じであると表現されます。このように、Windows Azure内部での物理的な距離によるグルーピングをフォールトドメインと呼びます。
10)Windows Azure Support: "When swapping deployments from a staging slot to a production slot, I receive an error that the swap cannot be performed on deployments with different number of endpoints."
- 質問:
- 回答:
不可能です。
- 解説:
前回紹介したマイクロソフト社の公式アカウントのWindows Azure Supportの投稿です。今回いくつかエンドポイントで紹介してきましたがこの点はご注意ください。また、Upgradeもエンドポイントの数が異なるとできないようです。現在のところ、エンドポイントはサービス開始時のみに決めるものであると考えた方がよさそうです。今後の改善が期待されます。
まとめ
今回は、SDK 1.3の変更点とエンドポイントをメインに紹介してきましたがいかがでしたでしょうか。SDK 1.3になって柔軟性が高まり、今回紹介したようなIPアドレスでのアクセス制限などの通常のIISでホストするようなことも可能になりました。また、SDK1.3で発生した不具合もSDK1.4により修正されています。VMロールが大きく注目されていますが、今回紹介してきたようにVMロール以外でもかなりのことができます。やはりWindows AzureはPaaSであり、Webロール/Workerロールがメインだろうと思っています。ぜひ、Webロール/Workerロールを再度見直していただきたいです。