ExcelからElixir入門⑪：Gigalixir上のLiveViewアプリに独自ドメイン名を付与して正式なアプリ公開

【本コラムは、2分で読めて、5分くらいでお試しいただけます】
[piacere](https://twitter.com/piacere_ex)です、ご覧いただいてありがとございます :bow:

[前回リリースしたGigalixir](https://qiita.com/piacerex/items/583174d72e6fc0cd289e)に、独自ドメイン名を付与して、正式なアプリ公開を行う手順を解説します

これが使われている例として、[「Phoenix Framework」の公式サイト](https://www.phoenixframework.org/)は、Gigalixirで構築されており、独自ドメイン名を付与されています

ちなみに、[「Phoenix」](https://qiita.com/piacerex/items/b7787580fce5f148242f#phoenix%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)は、ElixirのWebフレームワークで、[「Gigalixir」](https://qiita.com/piacerex/items/1a9cbcc740ca3707eaec)は、Herokuに似たPhoenixが動くクラウド（PaaS）です

**■「ExcelからElixir入門」シリーズの目次**
[**①データ並替え／絞り込み**](https://qiita.com/piacere_ex/items/6714e1440e3f25fb46a1)
|> [**②データ列抽出、Web表示**](https://qiita.com/piacere_ex/items/b7787580fce5f148242f)
|> [<b>③WebにDBデータ表示</b>](https://qiita.com/piacere_ex/items/a7558adc6856e3577dc6)
|> [<b>④Webに外部APIデータ表示</b>](https://qiita.com/piacere_ex/items/4c212615a4eb699dd109)
|> [<b>⑤Webにグラフ表示</b>](https://qiita.com/piacere_ex/items/290b76b76d5ff8e019bf)
|> [**⑥SPAからPhoenix製APIを呼び出す（表示編）【LiveView版】**](https://qiita.com/piacerex/items/64e77b85bfb4c6832662)
|> [**⑦SPAからPhoenix製APIを呼び出す（更新編）【LiveView版】**](https://qiita.com/piacerex/items/78ee0d2ad8cca0927980)
|> [<b>⑧Gigalixirに本番リリース</b>](https://qiita.com/piacerex/items/1a9cbcc740ca3707eaec)
|> [**⑨ElixirサーバサイドのみでReactと同じSPA／リアルタイムUIが作れる「LiveView」**](https://qiita.com/piacerex/items/3f8ee18c9443d63955bf)
|> [**⑩ElixirサーバサイドSPAをスマホで見るためにGigalixirリリース**](https://qiita.com/piacerex/items/583174d72e6fc0cd289e)
|> [**⑪Gigalixir上のLiveViewアプリに独自ドメイン名を付与して正式なアプリ公開**](https://qiita.com/piacerex/items/b61348c282395167fd8c)
|> [**⑫Elixir／PhoenixのCRUD Webアプリをリリース**](https://qiita.com/piacerex/items/511f24888c7350639d0b)

# 本コラムの検証環境

本コラムは、以下環境で検証しています（Windowsで実施していますが、Linuxやmacでも動作する想定です）

- Windows 10
- Elixir 1.11.3 　 　　　 ※<b>[最新版のインストール手順はコチラ](https://qiita.com/piacere_ex/items/6714e1440e3f25fb46a1#%E4%BA%8B%E5%89%8D%E6%BA%96%E5%82%99elixir%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)</b>
- Phoenix 1.5.7　　　　※<b>[最新版のインストール手順はコチラ](https://qiita.com/piacere_ex/items/b7787580fce5f148242f#phoenix%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)</b>
- PostgreSQL 10.1 　　 ※<b>[最新版のインストール手順はコチラ](https://qiita.com/piacere_ex/items/a7558adc6856e3577dc6#postgresql%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)</b>
- gigalixir 1.1.3　　　　※<b>[最新版のインストール手順はコチラ](https://qiita.com/piacerex/items/511f24888c7350639d0b#gigalixir%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B)</b>
- git 2.25.1.windows.2　※<b>[最新版のインストール手順はコチラ](https://qiita.com/piacerex/items/1a9cbcc740ca3707eaec#%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%ABpc%E3%81%A7git%E3%82%92%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B)</b>

なお、このコラムから見た方への案内として、[Gigalixirへのアプリリリース](https://qiita.com/piacerex/items/583174d72e6fc0cd289e)は、事前に済ませた上で、このコラムを読み進めてください

# LiveViewアプリのPhoenix PJフォルダに移動

ローカルPCでの事前に作成／動作確認済みの[LiveView Phoenix PJ](https://qiita.com/piacere_ex/items/3f8ee18c9443d63955bf)フォルダに移動します

この後、gigalixirコマンドを使うので、下記コマンドでアプリ情報が返ってくることを事前に確認しておきましょう

```
> gigalixir apps
[
  {
    "cloud": "gcp",
    "region": "v2018-us-central1",
    "replicas": 1,
    "size": 0.3,
    "stack": "gigalixir-18",
    "unique_name": "【アプリ名】",
    "version": 46
  }
]
```

# 独自ドメインを付与する手順

Gigalixirの下記ドキュメントに記載されています
https://gigalixir.readthedocs.io/en/latest/domain.html#how-to-set-up-a-custom-domain

下記コマンドをGigalixirに連動してるフォルダ配下で実施すれば、リリース先のGigalixirにて、ロードバランサ登録と、独自ドメインアクセス時のアプリへの転送、そして、Let's EncryptのSSL／TLS証明書の自動発行と設定をやってくれます、とても便利:heart_eyes:

```
> gigalixir domains:add 【独自ドメイン】
Added 【独自ドメイン】.
Create a CNAME record with your DNS provider pointing to 【独自ドメイン】.gigalixirdns.com.
Please give us a few minutes to set up a new TLS certificate.
```

# DNSのAレコードを設定

【独自ドメイン】.gigalixirdns.comのIPアドレスを、独自ドメインのDNSのAレコードとして設定します

IPアドレスの調べ方は、以下の通りです

```
> nslookup 【独自ドメイン】.gigalixirdns.com
権限のない回答:
名前:    v2018-us-central1.gcp.tls.gigalixir.com
Address:  35.226.132.161
Aliases:  【独自ドメイン】.gigalixirdns.com
```

ここでは、35.226.132.161をAレコードに設定します

どうやら、このIPアドレスは、全てのGigalixirで共通のIPアドレスのようです

# 独自ドメインでのアプリ確認

Aレコード設定後、DNS反映が終わるまで数分待ったら、ブラウザから「``https://【独自ドメイン】``」にアクセスし、ページが見えたら成功です

# 余談：最近のGigalixirの自動付与ドメイン名について

最近のGigalixirは、「gigalixirapp.com」ドメインの前に付くサブドメインを自動発番で無く、自分で好きなものを付与可能になったので、独自ドメインを付与しなくても充分便利に利用できます

ですので、独自ドメイン名を持っていなくても、[前回までのコラムシリーズ](https://qiita.com/piacerex/items/583174d72e6fc0cd289e)を読んで、GigalixirにElixir／Phoenixアプリをどんどんリリースしましょう:laughing:

# 終わり

今回は、Gigalixirにリリースしたアプリに、独自ドメインを付与して、正式なアプリ公開を行う手順を解説しました

SSL／TLS証明書の取得や設定といった手間を、Gigalixirはコマンド1つで肩代わりしてくれるので、非常に便利なことがお分かりかと思います

[次回は、実践向けの応用で、**GigalixirにPostgreSQLを使ったWeb＋DB CRUDアプリをリリース** します](https://qiita.com/piacerex/items/511f24888c7350639d0b)