#はじめに
現在開発しているアプリケーションでドメインの取得が必要になったので、備忘録としてここに記します。
個人アプリの開発や趣味でドメインを取得したい方は必見です。
##用意するもの
・クレジットカード
・AWSのアカウント
・AWSでデプロイ済みのEC2インスタンス
#ドメインの取得
①お名前.com (https://www.onamae.com/) で取得したいドメインの検索。
先に誰かが使用しているドメインは取得できないです。
また"_"や"!"といった特殊な記号は使用できないことがあります。
②希望のドメインを選択。
値段は時期によって変わるそうです。私は".com"を約800円/1年で購入しました。
③ドメインを選択した後、右側の"お申し込みへ進む"をクリック。
④その後、会員登録を済ませ、購入する。
会員登録した際に入力したメールアドレスに以下のメールが来たら、取得可能。
#AWSの設定
①EC2インスタンスに記載されているElastic IP(静的IPアドレス)を確認。
メモ帳に保存しとくと便利かも?
②Route 53 を選択。
サービス一覧からRoute 53を選択する。
④ホストゾーンの作成。
先ほど取得したドメインを入力。
TYPEはPublic Hostes Zoneを選択。
Createボタンを押して、ホストゾーンを作成。
⑤レコードセットの作成。
Value の所に先ほどの Elastic IP を入力。
Createボタンを押して、レコードセットを作成。
(nameの欄はサブドメインを設定する場合に使用する。)
⑥Aタイプのレコードが作成されたら無事完了!!!
#ネームサーバーの設定
再び、お名前.comに戻ってきます。
①ログインする。
③他のネームサーバーを利用を選択。
ネームサーバー情報を入力する欄に先ほどAWSで取得したNSタイプのレコード(4つ)を入力。
④完了
#終わりに
ターミナルでdig xxxxx.xxx(←自分のドメイン名)と入力してみましょう。
AWSで取得したレコードが表示されていれば成功です!!
$dig xxxxxxx.com
; <<>> DiG 9.10.6 <<>> xxxxxxx.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31076
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;xxxxxx.com. IN A
;; ANSWER SECTION:
xxxxxxx.com. 278 IN A xx.xxx.xx.xxx
ドメインの浸透までに30分くらいかかることもあるそうなので、一服したらhttp://xxxxx.xxx(←自分のドメイン名) でWeb検索してみましょう!!
自分の作ったWebページが表示されているはずです!!!
記事を書くモチベーションになるので、もし参考になったらいいねお願いします
参考:
https://aws.amazon.com/jp/getting-started/tutorials/get-a-domain/
https://hacknote.jp/archives/45099/
https://qiita.com/HitomiHoshisaki/items/7d7345eb67390f16fed4
https://dev.classmethod.jp/cloud/register-domains-route53/
https://avinton.com/academy/route53-dns-vhost/
#追記(2019/10/15)
IPアドレスでawsのec2インスタンスを使って、既にデプロイしているよ!!って方は必見です。
上記の手順取得したドメインにアクセスすると下記のようにnginxの初期画面に行くことがあります。
この原因はnginx.confのサーバー指定がうまくいっていないためです。
人によってデプロイ時のサーバー指定のやり方が異なるので一例をあげておきます。
upstream app_server {
# Unicornと連携させるための設定。
server unix:/var/www/xxxxxx/shared/tmp/sockets/unicorn.sock;
}
# サーバの設定
server {
# このプログラムが接続を受け付けるポート番号
listen 80;
# 接続を受け付けるリクエストURL ここに書いていないURLではアクセスできない
server_name xxxx.com;
# 接続が来た際のrootディレクトリ
root /var/www/xxxxxx/current/public;
# assetsファイル(CSSやJavaScriptのファイルなど)にアクセスが来た際に適用される設定
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
root /var/www/xxxxxx/current/public;
}
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
error_page 500 502 503 504 /500.html;
sever_nameのところをIPアドレスからドメインに変えてあげましょう。
そうしたらうまく行くはずです
#おわりに
続き
AWSでSSL化する方法を伝授!!!
https://qiita.com/nakanishi03/items/3a514026acc7abe25977