WEBアプリをAzureへデプロイして公開し独自ドメインを設定する

#概要
この記事は前回の記事の続きです。
[VisualStudioでC#＋ASP.NETでWEBサイトを作ってGitで管理する](https://qiita.com/higty/items/14aa8074b03b4cbf6da4)

前回の記事で作成したWEBアプリをAzureへデプロイし全世界からアクセスできるようにする方法を紹介します。また公開したWEBサイトに独自ドメインを設定する方法も紹介します。

- WEBアプリをAzureへデプロイ
- カスタムドメインの設定

#Azureとは？

Azureはマイクロソフトが提供するクラウドサービスです。Azureではいろいろなことがサービスとして提供されています。競合としてAmazonとGoogleがいます。

- AWS Amazonが提供するクラウドサービス
- GCP Googleが提供するクラウドサービス
- Azure Microsoftが提供するクラウドサービス

といった感じです。

Azureには
- WEBアプリ
- サーバーレスアプリ
- データベース（RDB、NoSQLなど）
- モバイル開発支援（モバイルのテストなど）
- 動画配信
- 画像解析、音声解析
- IoT向けサービス

などいろいろなサービスがあります。Azure,AWS,GCPのどれでもブラウザからポチポチするだけで様々な最先端のシステムを構築できます。
今回はWEBアプリを作成したいのでAzureのAppServiceを使ってWebアプリを作成していきます。

#Web Appの作成
https://portal.azure.com へアクセスしてアカウントを取得します。
取得したら左上のプラスボタン→Web Appをクリックします。
![Azure_WebApp_Add.png](https://qiita-image-store.s3.amazonaws.com/0/96483/1c76f718-df90-dbdc-ee48-b4711195e49b.png)

ボードが開きます。
![Azure_WebApp_Add1.png](https://qiita-image-store.s3.amazonaws.com/0/96483/5eb65e43-6eea-79ef-3515-673a228e1a5e.png)

アプリ名に適当に名前を入力（私はhigtyにしました）します。App Serviceプランで新規にApp Serviceを作成します。カスタムドメインを設定したいのでS1を選択します。（S1は有料です。月額7000円くらいかな確か？）カスタムドメインを設定しないならば無料の価格プランもあります。全て設定し終わったら作成ボタンを押します。

#Visual StudioからWEBアプリをAzureへデプロイする
Visual Studioのソリューションエクスプローラーでプロジェクトを右クリックします。
![VS_Project_ContextMenu.png](https://qiita-image-store.s3.amazonaws.com/0/96483/e20a3e01-0a77-92de-ce8f-231df616bd45.png)

発行をクリックします。ウィンドウが開きます。
![VS_AppService_Deploy.png](https://qiita-image-store.s3.amazonaws.com/0/96483/23e6a5b4-4662-d437-5e4c-be6d4d3d675b.png)


既存のものを選択にチェックを押し発行ボタンを押します。（ボタンのテキストが発行となっていますがまだ発行されません。）
![VS_AppService_Deploy1.png](https://qiita-image-store.s3.amazonaws.com/0/96483/c4018ed0-d1a3-055b-e62b-777001c8b98a.png)

既存のAppServiceの一覧が表示されます。
（※ログインしてないときはAzureへ認証処理をする必要があるかも）
先ほど作ったhigtyを選択してOKを押します。

発行用のProfileファイルが生成されます。ソリューションエクスプローラーのProperties/PublishProfilesフォルダあたりに生成されてるはずです。

![VS_Publish_AppService.png](https://qiita-image-store.s3.amazonaws.com/0/96483/6e7ef2f8-99d8-cac4-3d5b-96e86844ee9d.png)

発行ボタンを押すとAzureへWEBアプリがデプロイされます。

さっそくブラウザからアクセスできるか確認してみましょう。
https://higty.azurewebsites.net
(URLはhttps://your_webapp_name.azurewebsites.net になるはずです)

![Azure_WebSite.png](https://qiita-image-store.s3.amazonaws.com/0/96483/200c87f5-23fa-7e76-9de9-0796380ead7a.png)

無事に表示されました。


#カスタムドメインを取得しドメインの設定をする
AzureのAppServiceを使うとURLがxxx.azurewebsites.net という形式になります。このセクションでは自分の好きなドメインに設定する方法を紹介します。まずはドメインを取得する必要があります。

- GoDaddy
- お名前.com
- Valueドメイン

などなどありますが今回はGoDaddyで取得します。
https://jp.godaddy.com/

アカウントを取得したらドメインが空いているか検索してみましょう。

![GoDaddy_Search_Domain.png](https://qiita-image-store.s3.amazonaws.com/0/96483/55837d60-d635-4564-631b-c998dab6d738.png)

空いていたらカートに追加します。追加し終わったらカートに進んで購入します。購入が終わったらwww.higty.com で今回作成した https://higty.azurewebsites.net のWEBサイトにアクセスできるようにこれから設定をしていきます。まずはDNSの管理画面へ移動します。
（※GoDaddyは画面が結構変わってしまうので画面コピーはありません。自分で探してみてください。）

DNSの管理画面はこんな感じになっていると思います。（2018年1月2日現在）
![GoDaddy_Manage_Domain.png](https://qiita-image-store.s3.amazonaws.com/0/96483/79cb2ea9-424d-48bb-1099-157681fd4dca.png)

wwwの鉛筆マークをクリックしポイント先にhigty.azurewebsites.net と入力します。

![GoDaddy_Manage_Domain1.png](https://qiita-image-store.s3.amazonaws.com/0/96483/8e4fe612-67e7-672d-b396-276be6b2e131.png)

保存ボタンを押して保存します。これでGoDaddyの設定は完了です。

#Azureでwww.higty.comを許可する
Azureへ戻ります。カスタムドメインでホスト名の追加を押してホスト名にwww.higty.comと入力し検証ボタンを押します。
![Azure_CustomDomain_Add.png](https://qiita-image-store.s3.amazonaws.com/0/96483/2a9a5807-1171-f497-3ec9-863e453ac951.png)

検証がうまくいかないときは3分くらい待ってみましょう。DNSの設定が反映されるのには少しタイムラグがあったりします。

検証が無事に完了したらホスト名の追加ボタンを押します。（下図）
![Azure_CustomDomain_Add1.png](https://qiita-image-store.s3.amazonaws.com/0/96483/756c1bbc-44f6-7661-2307-c47366841470.png)

これでwww.higty.comでアクセスできるようになりました。

#まとめ
[前回の記事](https://qiita.com/higty/items/14aa8074b03b4cbf6da4)でWebサイト作成ができるようになり、今回の記事でWEBサイトを外部に公開できるようになりました。次回はWEBアプリのHTMLとCSSを改良していく予定です。

- 複数ページの作成
- HTMLとCSSの基礎
- 共通部分をLayout.cshtmlでまとめる

辺りをやる予定です。良かったらフォローしてくださいね。