Azureに慣れるための取組み、Udemy講座「作りながら覚えるMicrosoft Azure入門講座(PaaS編)」を終えましたので感想などをまとめておきます。Iaas編に引き続き取り組みました。
講座自身にハマりポイントはなかったのですが、私が使っているDNSサービス(お名前ドットコム)でかなりハマりました。
修了までにかかった時間
約12時間です。
Iaas編でもこのくらいかかりましたので、Udemy講座で手を動かしてやると、動画の時間の2~3倍かかるのは普通のようですね。
見るだけだと身につかないので必要な時間投資だと割り切りましょう。
この講座で学んだこと
仮想マシンを構築せずにアプリやデータベースをサービスとして利用する方法、冗長化やドメイン割当・SSL化などを学びました。
1.AppService
2.ドメイン割当、SSL化
3.リージョン冗長化(TrafficManager)
4.SQLデータベース
5.冗長化+SSL化(TraffcManger+自己証明書)
6.AzureCLI
AppServiceやSQLサービスは、仮想サーバを構築してアプリをその上で動かすよりも手軽にサービスを展開できる点が魅力です。当たり前のように使えるように押さえておきたい技術です。
開発で必須となるソース管理(Git)、Webサービス展開に必須となるドメイン割当・SSL化も要チェックポイントです。一回やっておくのとやらないのとではイメージが違いますね。
ちなみに、ドメイン割当・SSL化は難しかったです…。概念も操作も。もう一度何も見ずにやれと言われるときっとどこか忘れるでしょう。
こんなWebアプリ(ドメイン割当てOK、SSL対応済)が作れました。
つまづいたポイント
やっぱりつまづいたよ
パトラッシュ…
スムーズに進めることができたのですが、TrafficManagerを使った冗長構成のWebAppsにカスタムドメイン割当・SSL化するところでつまづきました。
私の環境だけの問題かもしれませんが、こういったつまづきもあるということで紹介します。
つまづき1:WebAppsにカスタムドメイン割り当て
TrafficManagerで冗長化したアドレスをCNAMEとしたドメインを割り当てようとすると、所有権エラーが発生してしまいます。
「ドメインの所有権を確認するには、以下の構成を使用してDNSプロバイダーでCNAMEおよびTXTレコードを作成し、{subdomain}をサブドメインの値で置き換えます。」というエラーが出ます。
結論として、ドメインを取得したサービス(私の場合はお名前ドットコム)側で、Azure側の情報(CNAMEレコードとTXTレコード)を登録して所有権エラーを解消する必要があります。
しかし、エラーの下の記述を見ると「xxx.azurewebsites.net を追加しろと書いているが・・」これは罠です。TrafficManagerで冗長化している場合は、「xxx.trafficmanager.net」を追加しないといけませんでした。
つまづき2:WebAppsに登録したドメインURLが開けない
こちらもTrafficManagerのアドレスをドメインに紐づけた後です。
WebブラウザからアクセスしてもWebAppsにアクセスできない状態に陥りました。
「サーバーのIPアドレスが見つかりませんでした」というエラーが出ました。よく見るエラーだけに憎たらしいです。
nslookupコマンドなどで確認すると、しっかりとドメイン名解決・WebAppsの仮想IPアドレスも返ってくるのですが。
こちらも結論から言うと、ドメインを取得したサービス(私の場合はお名前ドットコム)で、Azure側の情報(Aレコード)を登録する必要があるようでした。
しかも、これを追加してもすぐには解消しませんでした。
こういう時の解決策は、「1日寝て待て」です。
翌日、見事に解決していました。ドメイン情報は反映に時間がかかりますからね…。
【疑問点】
Aレコードを追加したからアクセスできたのか、追加しなくても1日待てば解消したのか。
これをやらなくても時間が解決してくれるかもしれません。
つまづき3:自己証明書をローカルにインポートしても機能しない
SSLを有効にするためにAzureで自己証明書を作成して、ローカルのインターネット接続設定にインポートする部分でつまづきました。
自己証明書をインポートしてもWebアプリにアクセス時の警告が消えないのです。
結論から言うと、Chromeブラウザで自己証明書を作成・ダウンロードすると失敗しました。
Edgeブラウザで自己証明書を作成・ダウンロードするとうまく行きました。
ChromeブラウザでAzureポータルを操作して自己証明書をダウンロードする際に謎の怖いメッセージが表示されました。
「この種類のファイルはコンピュータに損害を与える可能性があります。ダウンロードを続けますか?」
そのまま自己証明書を保存してインポートしたらNGでした。何が悪かったんでしょうか… ChromeとAzureは相性が悪いのですかね。
まとめ
1.AzureでWebAppsやSQLを作成しながら学ぶことができました。
2.Webアプリのドメイン割当やSSL化は私にとっては鬼門だったようです。
私の会社でもドメイン管理を担当しているメンバがいて、結構ややこしいことをしていて苦労しているのを見ていますが、その触りを感じることができたと思います。
3.現在は社内環境でWebアプリを動かしているのがほとんどですが、普通にAzureで動かせる感触を得ました。今後発生するであろマイグレーションには積極的に絡んでいきたいです。
コメント