2004 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 |
2011 | 01 | 03 | 05 | 06 | 07 | 08 | 09 | 11 |
2012 | 01 | 02 | 04 |
2012年4月23日(月)
Windows Azure で、対象ホスト毎にVMサイズを変更する方法
だいぶ間が空きましたが、 Windows AzureでSSL接続を行うためには - しがないプログラマ の日記 のさらに続きです。
今回は、Production環境ではVMサイズが SだけどDevelopment環境ではVMサイズを XSにしたい場合の設定方法を書いて行きたいと思います。
しかし、インスタンス数はVisualStudioから各環境別に設定可能ですが、VMサイズは全体としてしか設定できません。もちろん、管理ポータルからもインスタンス数は「構成」から変更可能ですが、VMサイズはデプロイ時にしか変更できません。そのため、VMサイズの変更は「ServiceDefinition.csdef」ファイルをビルド時に書き換えるという、強引な手段で解決することにしました。
結論から言いますと、Azureプロジェクトのプロジェクトファイル(拡張子が ccproj)に、以下のTargetを追加することで構成ファイルを変更できます。
<Target Name="HogehogeTransformBuildConfig" AfterTargets="CopyServiceModel">
<FileUpdate Condition=" '$(Configuration)' == 'Release-XSmall' " Files="$(ProjectDir)ServiceDefinition.build.csdef" Regex="( vmsize=")Small"" ReplacementText="$1ExtraSmall"" />
</Target>
この例ですと、ビルドターゲットが「Release-XSmall」だった場合に、VMサイズの項目をExtraSmallに書き換えています。注意点としては、デフォルトではvmsizeが記述されていないため、うまく動きませんので明示的にVMサイズを設定する必要があります。VisualStudioのプロパティでVMサイズを何か変更してからSmallに戻せばOKです。
これで何をしているのかの解説は以下で。
2012年2月3日(金)
Windows Azure でSSL証明書を複数ホストで別々に設定する方法
Windows AzureでSSL接続を行うためには - しがないプログラマ の日記 の続きです。
1つのWebRoleに対して、Azure上に複数環境用意することは良くあると思います。例えば、Production環境とDevelopment環境等。
この場合「サービス構成」を変更することで、それぞれの環境毎にデプロイできるようにするのが一般的だと思います。少なくとも、自分はそういうやり方をしていました。その際に、それぞれの環境向けにSSL証明書を取得した後、どう設定するのかが分かりづらかったので、追加メモです。
準備
Production環境とDevelopment環境の2つ環境があり、それぞれに対してドメイン名をCNAMEで prod.example.com, dev.example.com と設定したことにします。さらに、それぞれのドメイン向けにワイルドカード証明書ではなく、通常の証明書を発行した場合を想定しています*1。
設定方法
WebRoleのプロパティを開き、証明書の追加を行います。この時、名称はどちらのドメインでも使用するので分かりづらくならないように気をつけます。証明書は一旦 LocalMachine/My に入っている prod.example.com の証明書を選択します。次に、エンドポイントを追加を行います。これは前回と同じで、Input/https/443 として 先ほど追加した証明書を選択します。
これで、prod.example.comは HTTPSで接続できるようになりますが、dev.example.comには接続できません。ここで、証明書の設定タブに戻り、上部にある「サービス構成」をdev向けにします。すると、ほとんどの設定項目がグレイアウトしますが、サムプリントだけは変更可能なのです。後はサムプリントで dev.example.com向けの証明書を選択すれば完了です。
これで、それぞれの環境毎に証明書が設定できました。ポイントは、1つのエンドポイントに対して1つの証明書しか設定できませんが、証明書の中身は環境毎に選択できるので、問題ないってことですね。
*1:ワイルドカード証明書の場合には、どちらの環境でもそれを使用するように設定すればOKです
2012年2月2日(木)
Windows AzureでSSL接続を行うためには
Azureを使う際に、HTTPSでアクセスするためには結構面倒な手続きが必要だったのでメモメモ。
証明書の発行について
【Azure for ITPRO】サービス証明書の準備 - フィールドSEあがりの安納です - Site Home - TechNet Blogs ここを参考に進めたので、序盤はほとんど同じです。
そんな訳で、AzureへHTTPSでアクセスするためにはSSL証明書が必要となりますが、自己証明書を使う場合にはこの先の話は関係ないので飛ばして下さい。
証明書を発行するためには、ドメイン名が必要ですが Azureのホステッドサービスに割り当てられるドメイン名は hoge.cloudapp.netとなっています。この *.cloudapp.net はMicrosoftが管理しているドメインとなるため、hoge.cloudapp.netに対して他の人が証明書発行を行うことはできません。そのため独自のドメインを用意し、DNSのCNAMEによってドメインの別名を割り当て、その割り当てたドメインに対して証明書の発行を行うことになります。これによって、https://fuga.example.com のようなURLでAzureへアクセスできるようになります。
証明書の発行手続き
Azureで使用できる証明書の形式は決まっているためIISを使用する必要があります。
IISのインストールは完了した後、管理ツール→「インターネット インフォメーション サービス (IIS) マネージャー」を起動します。機能ビューの中の「サーバ証明書」を選択し、「証明書の要求の作成...」を実行します。
最初に表示される「識別名プロパティ」は証明書に使われる情報なので、正しく入力します。「一般名」にはFQDN(つまり、上記の場合 fuga.example.com)、「組織」には申請団体の正式な英語組織名を、「市区町村」「都道府県」にはそれぞれ住所をローマ字表記で、「国/地域」はデフォルトの JP でOKです。
次に、「暗号化サービスプロバイダのプロパティ」の画面が表示されます。暗号化サービスプロバイダは「Microsoft RSA Schannel Cryptographic Provide」のままで、ビット長を申請先の指定長より長いものにして下さい(通常は、2048か1024になるでしょう)。
最後に、CSRをどこに保存するかを聞かれるので、適当な場所を指定し保存します。中身はテキストファイルなので拡張子は、txtなり csrなり適当に。
後は、SSL発行手続きでこのCSRを提出し、サーバソフトウェアでは Microsoft IISを選択すればOKです。
手続きが終わるとCSRと似たようなテキストデータが発行されます。このデータをファイルに保存し、また「インターネット インフォメーション サービス (IIS) マネージャー」を起動します。先ほどと同様に「サーバ証明書」を開き、「証明書の要求の完了...」を実行します。後は、先ほどん保存したデータファイルを指定し、「フレンドリ名」には表示名称を入力します。これは証明書を表示した際の名称に使われるので、何でも良いですが適切な名前をつけて下さい。
Azure環境への適用
ここまでの流れで、ローカルの環境にはSSL証明書がインストールされた状態になります。しかし、証明書をAzureで使うためには管理ポータルからの登録が必要となります。そのためには、登録した証明書をエクスポートし管理ポータルで証明書の追加を行うことになります。
それでは、まずは証明書のエクスポートを行います。ファイル名を指定して実行から、「mmc」を実行します。ファイルメニュー→スナップインの追加と削除 を選択し、選択画面の「利用できるスナップイン」の一番下にある「証明書」を選択し利用ボタンをクリック。「証明書スナップイン」というダイアログが開くので「コンピューターアカウント」を選択し「次へ」、さらに「ローカルコンピューター」を選択し「完了」。以上で、OKボタンをクリック。
これでローカルコンピューターに登録されている証明書が全て見れます。左のペインにあるツリーから、「個人」→「証明書」を選択すると、登録したSSL証明書があると思います。右クリックし、「全てのタスク」→「エクスポート」を選びます。
「証明書のエクスポートウィザード」が開くので、「次へ」をクリック。「秘密キーのエクスポート」では「はい、秘密キーをエクスポートします」を選択し「次へ」。「エクスポートファイルの形式」は、Azureでは PFX形式しか使用できないので「Personal Information Exchange」を選択し「証明のパスにある証明書を可能であればすべて含む」にチェックを入れて「次へ」。「パスワード」ではこの証明書を使用する際のパスワードを決めて入力します。最後に出力するファイル名を入力して完了です。これで、pfxファイルが作成されました。
次に、ブラウザから Welcome to Windows Live へ行きます。後はホステッドサービスで「証明書の追加」を選び、pfxファイルと自分で決めたパスワードを入力すれば登録完了です。
WebRoleの設定
ここまで設定しても、まだAzureへのHTTPSでの接続はできません。WebRole側に、エンドポイントの追加+HTTPSの場合にどの証明書を使うか、を設定する必要があります。この設定を行うためには、VisualStudioから設定できますが証明書がインストールされている必要があります。そのため、複数人で開発する場合には作成したpfxファイルを各々のPCにインストールすることが必要となります。
それでは、VisualStudioを立ち上げて設定をしていきます。WebRoleのプロパティ*1を開き、「証明書」のタブを開きます。ここで「証明書の追加」をクリックしSSL証明書を登録します。名前は、次のエンドポイントの設定で使うのでわかりやすい名称を付けておきます。サムプリントがAzureへ登録したものと同じであることを確認できたら証明書の設定は完了です。
次に、「エンドポイント」のタブを開きます。通常でしたら、ここには Input/http/ポート80 だけしか無いと思われます。「エンドポイントの追加」をクリックし Input/https/443 を追加します。この時、SSL証明書の名前の欄で先程追加した証明書の名称が選択できるはずなので、それを選択して完了です。
2011年8月14日(日)
トルコ旅行記 8日目
8日目はサフランボルを出発して、トルコ一番の都市でありアジアとヨーロッパの間にある都市でもあるイスタンブールへ。
こんなルートで、トルコの西部から中央にかけてをグルッと回ってきたわけです。そして、最初に飛行機で着いたイスタンブールへ戻ってきました。イスタンブールは、歴史がある場所でローマ時代から都市があり、ビザンチン帝国の首都であるコンスタンティノープルもここのヨーロッパ側にありました。オスマントルコがコンスタンティノープルを攻略した際に、オスマントルコの首都もこの場所に移されたそうです。
そんなイスタンブールの旧市街には、ビザンティン時代に作れたアヤ・ソフィアとその後オスマントルコの時代に作られた最大級のモスクであるスルタン・アフメット・ジャーミー(通称 ブルーモスク)が並んで作られており、隣には15世紀から19世紀まで使われていたトプカプ宮殿があります。その三カ所を今回は見てまわりました。
まずは、ブルーモスク。ここは現在もモスクとして使われており、礼拝の時間は見学ができなくなっています。
中は大きな空間となっており、ここで大勢の人が礼拝を行うわけです。壁にはイズニックタイルが貼られ、たくさんの窓にはステンドグラスがはまっています。高い天井と大きなドームを支えている柱の太さは凄いことになってました。
その中央に位置するドームがこちら。遠近感が狂うほどの大きいドームです。直径が26mあるらしいです。壁や天井でタイルが貼られていない箇所にはくまなくフラスコ画が描かれていました。
次はアヤソフィア大聖堂。こちらはビザンティン時代には大聖堂だったものが、オスマントルコに占領されてからはモスクに改修され使われていました。大聖堂だった時代のモザイク画は、改修された際に漆喰などで埋められていたため、結果的に保存状態もよく現在でも見られるようになっていました。
こちらも中は広大な空間になってます。モスクとして使われなくなった現在も、大きな円盤は入り口から出せないため、壁にかかったままになっているそうです。中央のドームは33mあるらしく、下から見上げても大きさがよく分からないくらい途方もない大きさでした。
2階の壁に描かれている『デイシス』と呼ばれるモザイク画です。下部は失われてしまっているけれど、幸い人物の顔の辺りは残っています。中心にイエスが描かれており、左側にマリア、右に洗礼者ヨハネが描かれています。
こちらは2階の奥の壁に描かれている『キリストと皇帝コンスタンティノス9世、皇后ゾエ』のモザイク画。
その隣に描かれている『聖母子と皇帝ヨハネス2世コムネノス、皇后エイレーネー(イリニ)』のモザイク画。中央のマリアに抱かれている子どもはイエス。上の画と同じ手の形をしてます。
東側の半ドームに描かれている『聖母子と大天使』。左側にも大天使が描かれていたと見られていますが、現在は残っていません。右側の天使もだいぶ欠けてしまっていますね。
最後に、トプカプ宮殿へ。ここは入り口の門です。奥にブルーモスクが見えるのですが、いまいち写ってませんね。。。
中は広く、いくつもの建物があります。増改築が繰り返されていたらしく、建築当時からだいぶ変わっているようです。
謁見の間として使われていた建物。
上の建物の内装です。綺麗な絵が描かれ、タイルが貼られ、豪華な内装でした。さすが世界の半分を支配したオスマントルコ帝国の宮殿ですね。
この後、スルタン(王)の自画像や宝物庫、聖遺物を収めた部屋等を見て回ったのですが、撮影禁止だったのでそれらの写真はありません。しかし、宝物庫にはオスマントルコが栄華を極めたのが分かるほど、貴重な宝石や装飾品玉座などが展示されており、1つ1つがいくらするのか分からない宝石が大量に飾られた剣やツボやら宝石箱やらがいくつもありました。あまりにも多いので、それぞれについているルビーやエメラルド、トルコ石などがただのガラス玉に見えてくるほど。
その中でも極めつけは「トプカプの短剣」と呼ばれる大粒のエメラルドが3粒付いている短剣と「スプーン職人のダイヤモンド」と呼ばれる 86カラットもある涙滴型のダイヤモンドです。どちらも宝石が大きすぎて現実感がなくなるほどの代物でした。ダイヤモンドは綺麗にカットされており、光の具合によって色々な見え方をするのでしばらく眺めてました。
一通り見て回った後に、宮殿のバルコニーで休憩。右側が金角湾で奥にボスポラス大橋が見えてます。いい景色ですね。
宮殿の最後に、中庭にあった水道。どこもこんな感じで豪華でした。
ホテルに向かう途中のバスから、「ヴァレンス水道橋」が見れました。ローマ時代のの水道橋で、コンスタンティノープルが作られた際に作られたものだそうです。


















