【Rails】お名前.comレンタルサーバー使用時、renderで独自ドメインを設定

## はじめに
Railsで実装したアプリをrenderでデプロイしました。
お名前.comで独自ドメインを取得し、お名前.comのレンタルサーバーを使用している場合の設定を行ったので備忘録に。


## 環境
* Ruby 3.2.4
* Rails 7
* Webアプリケーションサーバ render（デプロイ済み）
* PostgreSQL

* **お名前.comにて独自ドメイン取得済み**
* **お名前.comのレンタルサーバー（RSプラン）を使用**

## レンタルサーバーの使用について

お名前.comで独自ドメインを取得した場合は、DNSレコード設定から取得ドメインとrenderの紐付けを行います。

しかし、今回はレンタルサーバーを使用しているため、DNSレコード設定を行えません。

>お名前.comのサーバーサービスを利用している場合はDNSレコード設定と同時並行することはできません。

![スクリーンショット 2024-08-21 16.55.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3792654/9d87f6c2-1c55-d3c3-f388-78cb390cc8fd.png)

ですので、レンタルサーバーを使っている場合、コントロールパネルか設定を行います。
レンタルサーバーのコントロールパネルのログイン方法や設定方法などはお名前.comの[レンタルサーバー ご利用ガイド](https://www.onamae-server.com/guide/rs/?_ga=2.79615188.159273212.1725235975-760754258.1724133998&_gac=1.124412408.1725246189.CjwKCAjwodC2BhAHEiwAE67hJCUqYfp2b2s8HniLP0Iy0uudAX1Vk7PYtrQJbpA4D4D4FD30I9Z7thoCqMsQAvD_BwE)からご確認ください。

## 手順

### renderの設定
renderにドメインの登録をします。

Renderの`Setting`から、`Custom Domains` の項目で設定を行います。

`Add Custom Domain`というボタンをクリックし、設定したいドメイン(お名前.comで取得したドメイン)を入力し、「Save」をクリックします。

![スクリーンショット 2024-09-02 12.25.49.png.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3792654/d4431f3c-e18d-71ef-338d-3b4985a7a48b.png)

例として`test.jp`を入力しました。

作成後は、下記のようになります。

![renderdomein.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3792654/9bdf9801-9ee9-24d0-80bb-1fe5261214a6.png)

ここでrenderのIPアドレスをメモしておいてください。
`renderのIPアドレス`　→ `216.24.57.1`
後ほどお名前.comの設定で必要になります。

### お名前.comの設定

renderとお名前.comで取得したドメインを紐づけます。

お名前.comのDNSレコードの編集手順です。


対象ドメインのコントロールパネルにログインします。

左メニューから「ドメイン」をクリックします

![スクリーンショット 2024-09-02 12.05.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3792654/58da8334-9561-0c63-03c0-f5458d50d0fc.png)

ドメイン一覧からDNSを編集したいドメインの右側「DNS」をクリックします。
![スクリーンショット 2024-09-02 12.05.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3792654/4e1ba373-0908-d825-b45c-1ddaa5d0088c.png)

現在そのドメインに設定されているDNSが一覧で表示されますので、編集を行いたいレコードの右側「変更」をクリックします。
* 今回は**対象のホスト名**の**Aレコード**の変更を行います。

![スクリーンショット 2024-09-02 12.05.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3792654/d24834e4-ea41-2b9f-1707-88876a44c01c.png)


値にrenderのIPアドレスを入力します。
TTLはデフォルトのままにしました。

注意事項をご確認し、チェックボックスにチェックを入れ「変更する」をクリックします。

![スクリーンショット 2024-09-02 12.05.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3792654/9accfb77-c9b4-1fa5-2a1a-d67dc26376b2.png)

お名前.comでの設定は以上です。
反映にはしばらく時間がかかると思います。

### アプリケーションの設定

設定したドメイン名をhostとして設定します。

```config/application.rb
config.hosts << '取得したドメイン名.com'
```

### ドメインの設定の反映まで待つ

renderのverifyを押して更新します。

![renderdomein2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3792654/b3ef1189-1fa0-4175-5cbe-803e2c906424.png)

下記の表記になれば成功です。
renderから独自ドメインで開ける様になっていると思います。

![スクリーンショット 2024-08-30 17.59.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3792654/76149c22-a26f-e8ed-b998-d328dc135ba0.png)

私の場合は、renderの`custom domain`の表示が1.2時間たっても`Certificate Pending`状態でした。

![pandding.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3792654/c5a0eb50-093f-0a90-ad78-478238f42399.png)

半日程、待ったら成功していました。
長い場合は1日程度かかっているみたいです。


## サブドメインの設定
サブドメインの設定も同様になります。
コントロールパネルからサブドメインの取得します。

「[サブドメインって何？ドメインとの違いやどんな時に使うのかを解説します](https://www.onamae.com/column/domain/49/)」の「お名前.comのレンタルサーバーにサブドメインを設定する」のパターンです。

renderの設定し、コントロールパネルのDNSレコードの一覧からサブドメインを選び、renderのIPアドレスに変更します。


## 参考記事
[お名前.comで独自ドメインを取得したのにURLが開けない](https://giwanote.hatenablog.jp/entry/2023/07/17/213201)
[Renderで独自ドメインを設定する](https://qiita.com/iijima-naoya-45b/items/97ddee422241384599fe)
[【Rails】renderで独自ドメインを公開する手順](https://qiita.com/kumaryoya/items/fa0debae1da92eb125a2)