• 日本語
    • English (英語)
Avinton JapanAvinton JapanAvinton JapanAvinton Japan
  • サービス
    • Avinton Data Platform
    • エッジAIカメラ
      • 自動車ナンバープレート自動認識システム
    • プライベートクラウド
    • AIサービス開発
    • AIカメラ/画像解析無料体験版
  • 最新情報
    • ニュースリリース&イベント情報
    • 技術ブログ&インタビュー
  • アカデミー
    • Avintonアカデミー
    • Academy on Campus
    • Academy with Platform
  • 採用情報
    • Avintonジャパン 採用ページ
    • 求人一覧
    • よくある質問
    • 新卒採用
  • 企業情報
    • 会社概要
    • 代表からご挨拶
    • SDGsへの貢献
  • お問い合わせ

AWS Route 53を使って独自ドメインのWebページを表示させてみよう

  • ルーティング
  • データベースの命名規則
  • 三目並べ – 2.〇×を交互にゲーム盤に入るようにしよう
  • 三目並べ – 3.勝敗がつくようにしよう
  • クリーンコード(Clean Code)
  • 三目並べ – 4.「スタート」「リセット」ボタンをつけよう
  • 三目並べ – 5.先攻後攻を決めて、コンピュータ対戦にしよう(前編)
  • インフラストラクチャー(サーバー、コンポーネント、RAID)
  • 機械学習入門者向け Support Vector Machine (SVM) に触れてみる
  • YOLOv8を用いた物体検出
  • 正規表現とパイプ
  • 機械学習エンジニアに必要なスキル
  • 軽量版Kubernetesディストリビューション – k0s クラスターの構築
  • ファイル操作コマンド
  • グループとユーザー
  • 困った時に使うコマンド
  • 一般グループのユーザーとグループ
  • プライバシーポリシー
  • 三目並べ – 6.先攻後攻を決めて、コンピュータ対戦にしよう(後編)
  • フロントエンド開発のための環境構築
  • ファイル検索コマンド
  • 質問
  • 仮想化環境のディスク容量を拡張する
  • ユーザー権限とアクセス権
  • データ分析基礎 – Part1
  • 三目並べ – 0.導入
  • テキスト処理
  • データベースへのデータロード
  • 機械学習概要1
  • 機械学習入門者向け Naive Bayes(単純ベイズ)アルゴリズムに触れてみる
  • ファイル管理
  • SSHを使用してホストOSからゲストOSに接続する
  • 機械学習入門者向け ChainerRLでブロック崩しの学習
  • 機械学習入門者向け ランダムフォレストによる Kaggle Titanic生存者予測
  • 機械学習概要2
  • データ分析基礎 – Part 2
  • 機械学習入門者向け 分類と回帰の違いをプログラムを書いて学ぼう
  • フロントエンドのWeb開発について
  • ダイナミックルーティング
  • 三目並べ – 1.ゲーム盤を作ろう
  • 【Python入門】Python Numpy チュートリアル
  • Amazon EC2 インスタンスの初期設定をしよう
  • AmazonEC2とVPCでネットワークとサーバーを構築しよう
  • Apache NiFi Exercise
  • Apache NiFi データパイプライン基礎
  • Apache NiFiの環境設定
  • Apache Spark 基礎
  • Apache SparkとApache Zeppelinの概要と環境構築
  • Apache Superset maptoolの使い方
  • Apache Superset 基礎
  • Apache Superset 概要と環境構築
  • Apache Zeppelin 基本機能
  • APIのデモンストレーション
  • Avinton Academy コンテンツガイド
  • AWS CLIをインストールしてコマンド操作しよう
  • AWS CLIを使ってEC2のファイルをS3へアップロードしよう
  • AWS Route 53を使って独自ドメインのWebページを表示させてみよう
  • AWSアカウントの作成と必ずやるべきセキュリティ対策
  • AWSのEC2インスタンスでWordPressブログを公開してみよう
  • AWS入門者向け 初心者が最初に理解すべきEC2とVPCの基本的な用語解説
  • CCNA
  • Certbotを使ってSSL証明書を発行し、HTTP通信を暗号化しよう
  • CISCO 1800ルータセットアップ
  • CSV import & export – Node.js, mySQL – 1
  • CSV import & export – Node.js, mySQL – 2
  • Docker Compose(Nginx + Flask + MySQL)演習
  • Docker Engineのubuntu上へのinstall
  • Docker 概要とセットアップ
  • Docker, Kubernetesの学び方について
  • Dockerコンテナイメージの最適化/ベストプラクティス
  • DockerとApacheを使ってWebサーバーを構築しよう
  • EC2からS3へ自動でぽいぽいアップロードするスクリプトの作成
  • ESP32-CAMのサンプルアプリケーションを実行する
  • 01 – Sparkfun Inventor’s Kit の準備
  • 02 – Sparkfun Inventor’s KitでLチカ
  • 03 ポテンショメータでLEDの点滅間隔をアナログ入力する
  • 04 フォトレジスタで明るさに反応するシステムをつくる
  • 05 LCDに文字列を表示する
  • 06 – BME280とLCDを組み合わせて温度計をつくる
  • ESP32とArduino IDE/PlatfromIOでHello Worldアプリケーションの実行
  • ESP32と超音波センサー HC-SR04 で物体の距離を計測する
  • ESXi – Switchの追加とVLAN
  • ESXi – VyOS
  • ESXi – 小規模ネットワーク 構築
  • Gitとは
  • VS CodeでGitHub Copilotを設定する
  • VSCode リモート開発環境
  • GNS3のセットアップ
  • Kubernetesクラスター上へのOpenVINOモデルサーバーを使用したサンプルアプリケーションのデプロイ
  • Linuxとは
  • NAT
  • NodeJSでWebアプリケーション開発 – React編
  • NodeJSでWebアプリケーション開発 – React編
  • NodeJSでWebアプリケーション開発 – React編
  • NodeJSでWebアプリケーション開発 – Socket.IO編
  • NVIDIA Cumulus VX + GNS3でBGPネットワークのシミュレーション
  • OpenCVのテストプログラム
  • PacketTracerのセットアップ
  • Pandasによる構造化データ分析
  • PCからルータ、スイッチへのSSH接続設定
  • PostGIS exercise
  • PostgreSQL – Python – Apache – Bootstrap
  • MySQLとMySQL Workbench のセットアップ
  • PostgreSQL Setup
  • PostgreSQL – インデックスを利用したパフォーマンス改善方法
  • PostgreSQL – パーティショニングを利用したパフォーマンス改善方法
  • PostgreSQLによるデータ分析
  • postgreSQLへのshp fileのimport
  • Python2.7とOpenCVのインストール
  • Python3.8 と OpenCV のインストール (Ubuntu20.04LTS)
  • Pythonでデータベースを操作する
  • Pythonで画像を分類するプログラムを作成する
  • Pythonによるマルチスレッドプログラミング実践
  • Raspberry Pi 4B のセットアップ
  • Raspberry PiとBME280を使用して温度と湿度、気圧を読み取る
  • REDIS
  • Redux基礎 – 主要な概念と用語
  • Ruby on Rails を MySQLでセットアップ
  • Ruby on Railsによる簡単なウェブアプリケーション
  • SampleアプリケーションのKubernetes上へのデプロイ
  • Scala 基礎
  • scikit-learnとは
  • Spark SQL エクササイズ
  • SparkMLによるKaggle Titanic生存者予測
  • SparkMLによる住宅価格予測
  • SQL 便利な関数
  • Ubuntuの基本設定
  • uhubctlでUSBデバイスのオンオフをコントロール
  • Terraform入門 2 – Terraformのstate管理
  • Terraform入門 1 – TerraformでAWS上にEC2インスタンスを作成する
  • Virtualisation and Container (仮想化とコンテナ) – Ansible, Docker and Kubernetes
  • viエディタ
  • VLAN
  • VMware ESXi サーバー構築
  • Webアプリ開発に欠かせないGoogle Chrome DevToolsの基本
  • Windows Server 2012 R2 Hyper-V
  • YOLOv5を用いた物体検出
Home Avintonアカデミー AWS Route 53を使って独自ドメインのWebページを表示させてみよう

AWSではEC2インスタンスに対して自動でグローバルIPとドメインが割り当てられます。

そしてその値はEC2のダッシュボードで確認できます。

自動で割り当てられるパブリックDNS

 

ここで割り当てられるドメインとIPは定期的に変更されるため、 せっかくユーザーがWebサイトをお気に入りに登録してくれても、そのうちリンク切れになってしまいます。

ドメインが変わらないようにするには グローバルIPを固定して独自ドメインと紐付ける、DNSの設定を行う必要があります。

そしてAWSではDNSの設定をRoute 53というサービスで行います。

今回はRoute 53を利用し、DNSとヴァーチャルホストの設定を進めましょう。

 

DNS(Domain Name System)とは

電話帳の上におしゃれなペンが置かれている画像

DNSはインターネット上の「アドレス帳」のことです。

「avinton.com」などのドメイン名を通して私たちはオンラインの情報にアクセスすることができます。

ブラウザにURLが打ち込まれると、DNSはWebブラウザが情報を読み込めるように、ドメインに紐づいたインターネットプロトコル(IP)アドレスに変換してくれます。

 

インターネットに接続されているPCには次のようなユニークなIPアドレスが割り当てられますが、

172.16.1.1 (IPv4)

2400:cb00:2048:1::c629:d7a2 (IPv6)

このような複雑な英数字を覚えるのは少し大変です。

DNSがあれば、このような複雑な英数字をドメイン名という形で分かりやすく認識できるようになり

ます。

 

Route 53の役割

Amazon Route 53のロゴ画像

Route 53はAmazonの提供するDNSサービスです。

前項でお話しした「アドレス帳」に当たる部分をRoute 53ではホストゾーンと呼んでおり、AレコードやCNAMEなどのリソースレコードを管理できます。

 

  • Aレコード :ドメイン名とIPを紐付けるレコード
  • CNAMEレコード :ドメイン名にあだ名をつけることができるレコード

ホストゾーンは2種類存在し、インターネット上に公開されたドメインの情報を管理する パブリックゾーン と、インターネットと通信させたくないプライベートサブネットの中でドメイン情報を管理する プライベートゾーン があります。

インターネット上に公開するWebサイトのドメインについてはパブリックゾーンで管理する必要があるため、ここではそのように設定を進めていきます。

 

Elastic IPをEC2へアタッチしてグローバルIPを固定する

それではDNSの設定を進めていきましょう。

DNSの設定を行うにあたり、まずグローバルIPを固定する必要があります。

IPを固定するには Elastic IP というコンポーネントを使い、EC2インスタンスへアタッチします。

 

EC2ダッシュボードから作成ボタンをクリックし、

Elastic IPの作成方法の説明図1

 

画面の指示通り作業を進めるとElastic IPが一つ手に入ります。

![Elastic IPの作成方法の説明図2

 

EC2への割り当てはアクションボタンから行います。

 

IPを割り当てたいEC2インスタンスを選んで次へ進むと

Elastic IPの作成方法の説明図4

 

Elastic IPとEC2インスタンスが紐づけられます。

Elastic IPの作成方法の説明図5

 

ドメインの取得

次はドメインを取得しましょう。

ドメインはRoute53から入手できますが、月100円程度の費用がかかります。

試験目的であれば無料で取得できるサービスを利用するのが良いです。

ここではFreenomというサービスを使ってドメインを取得しましょう。

トップ画面の入力フォームに好きなドメイン名を入力し、取得作業を進めてください。

Freenomのドメイン取得ページはこちら

Freenomのトップ画面

 

Route 53でDNSの設定

次はホストゾーンを作成し、Elastic IPとドメイン名の紐付けを行いましょう。

*ホストゾーン1つにつき毎月0.5ドルの料金が発生するため、継続して利用しない場合はこの演習の最後に設定を削除してください。

AWSのコンソール画面からDNSのダッシュボードを開きます。

Amazon Route 53のトップ画面

 

作成ボタンをクリックし、 先ほど取得したドメイン名でホストゾーンを作成 します。今回はインターネットへ公開することを想定し、Typeは Public Hostes Zone を選択してください。

Amazon Route 53にてホストゾーンを作成する説明画像01

 

ホストゾーンが作成されるとダッシュボードにリストアップされるので、 ドメイン名をクリック します。

Amazon Route 53にてホストゾーンを作成する説明画像02

 

ホストゾーンにAレコードを追加します。前項で EC2インスタンスにアタッチしたElastic IPをValueに設定 しましょう。

 

Amazon Route 53にてホストゾーンを作成する説明画像03

 

NS(ネームサーバー)の設定

Freenomで取得したドメインのNSを、Route53で作成したホストゾーンのNSに変更します。

Freenomのトップページを開いて My Domains をクリックし、

Freenom側のNS設定01

 

ドメインの設定画面へ進んでください。

Freenom側のNS設定02

 

Management toolsのドロップダウンリストから Nameservers をクリックします。

Freenom側のNS設定03

 

Route53で作成したホストゾーンのNSレコードをフォームに入力します。

Freenom側のNS設定04

 

これでドメインとElastic IPの紐付けが完了しました。

 

DNSの設定確認

DNSが正しく設定されているか確認しましょう。

ドメインとElastic IPが紐づいているかを確認するには dig または nslookup コマンドを使います。

1
dig YOUR_DOMAIN_NAME

 

設定が正しければ、Route53で設定したAレコードの値が表示されます。

digコマンドによるAレコードの確認結果

 

NSレコードを確認する場合も同様、 dig または nslookup コマンドで行います。

1
dig YOUR_DOMAIN_NAME NS @8.8.8.8

設定したNSがANSER SECTIONに表示されていればOKです。

digコマンドによるNSレコードの確認結果

 

VirtualHostの設定

DNSの設定だけでは、ブラウザでドメインを入力しても何も表示されません。

ブラウザでWebページを表示できるようにするには、ApacheにVirtualHostの設定を追加する必要があります。

EC2インスタンスへSSHし、設定作業を行いましょう。

1
2
3
ssh -i ~/.ssh/HOGEHOGE -p xxxxx YOUR_ELASTIC_IP
sudo su -
docker exec -it YOUR_CONTAINER_ID

 

~

Apacheのデフォルトの設定ファイルは /etc/httpd/conf/httpd.conf ですが、これとは別に conf.d と modules.d ディレクトリのファイルが自動で読み込まれるようになっています。

新たに設定を追加する場合はhttpd.confには書かず、 /etc/httpd/conf.d ディレクトリにコンフィグファイルを作成すると管理しやすいためおすすめです。

Apacheで読み込まれる設定ファイルについての説明図

 

設定ファイルを作成し、

1
vi /etc/httpd/conf.d/vhost.conf

 

↓次の設定を記述し保存してください。

1
2
3
4
NameVirtualHost *:80
 
DocumentRoot "/var/www/html/"
ServerName i-like-your-shoes.tk

 

設定ファイルを作成し終えたらサービスを再起動します。

1
systemctl restart httpd

 

正しく設定されていれば、ブラウザでドメインを入力した時にApacheのテスト画面が表示されます。

http://YOUR_DOMAIN_NAME

Apacheのテストページ

 

うまく表示されたでしょうか。

 

演習

1.二つ目のドメインを取得し、VirtualHostを追加してブラウザで閲覧できるように設定してみましょう。

VirtualHostの設定方法には大きく次の2種類があります。

(A) 名前ベースのVirtualHost
(B) IPベースのVirtualHost

この記事では(A)名前ベースのVirtualHost で設定を行いました。

名前ベースのVirtualHost では一つのIPに対して複数のドメインを割り当てることができます。

 

2.取得したドメインでWordPressのページを閲覧できるよう修正してみましょう。

VirtualHostの設定に加え、次のようにWordPressのデータベースの情報を修正する必要があります。

1
2
3
4
mysql -u root -p
 
UPDATE wp_options SET option_value='正しいURL'
WHERE option_name IN ('siteurl','home');

 

3.演習が終わったらRoute53のホストゾーンを削除してお片づけをしましょう(ホストゾーン1つにつき料金が発生するため)。

 

まとめ

Route53を利用したDNSの設定方法をご紹介しました。

1.Elastic IPでグローバルIPを固定
2.ドメインの取得
3.ドメインとElastic IPを結ぶAレコードの追加
4.ドメインのNS設定変更
5.そしてVirtualHostの設定

今回は試験目的だったため無料ドメインを利用しましたが、本番はSEOやドメインハックを考慮しながら、提供先の地域に合わせて最適なドメインを購入すると良いでしょう。

次回
>>Certbotを使ってSSL証明書を発行し、HTTP通信を暗号化しよう

 

あなたも、Avintonでこのような最先端技術を習得し活用してみませんか?

社員の成長を導きながら、AIやビッグデータなどの最先端技術をプロジェクトに活用していくことが私たちのビジョンです。Avintonの充実した技術研修でスキルアップを図り、あなたのキャリア目標を一緒に達成しませんか?

採用情報
 

 

採用情報

採用情報

Categories

  • 相互学習
  • 採用
  • 社員インタビュー
  • 学習&資格取得
  • 技術解説
  • イベント告知
  • 学内説明会&講義
  • 産学連携
  • 就職活動
  • イベントレポート
  • その他
  • 技術ブログ&インタビュー
  • mainpage
  • New Graduates Interviews
  • 中途エンジニア
  • カテゴリーなし
  • ニュースリリース&イベント

Avinton SDGs

SDGsへの貢献

Search

タグ

albumentations Apache AvintonAcademy on Campus DQN FINOLAB Fintech Flutter IoT IoT James Cauchi LPIC LPIC-2 MVI試験 PostgreSQL Predictive Maintenance Raspberry Pi Society 5.0 Sound Analysis SSD インターン インターンシップ インフラ エリクソン クラウトネイティブ サーバークラスター スマート農業 セミナー データ データ生成 データ解析 ファンダフルリレーマラソン モブワーク 中瀬幸子 企業説明会 大学&専門学校 強化学習、機械学習 技術ブログ 採用 未経験 機械学習 環境構築 田中 研之輔 研究開発 第一級陸上特殊無線技士 講義
© 2023 Avinton | All Rights Reserved | プライバシーポリシー
  • サービス
    • Avinton Data Platform
    • エッジAIカメラ
      • 自動車ナンバープレート自動認識システム
    • プライベートクラウド
    • AIサービス開発
    • AIカメラ/画像解析無料体験版
  • 最新情報
    • ニュースリリース&イベント情報
    • 技術ブログ&インタビュー
  • アカデミー
    • Avintonアカデミー
    • Academy on Campus
    • Academy with Platform
  • 採用情報
    • Avintonジャパン 採用ページ
    • 求人一覧
    • よくある質問
    • 新卒採用
  • 企業情報
    • 会社概要
    • 代表からご挨拶
    • SDGsへの貢献
  • お問い合わせ
  • 日本語
    • English (英語)
Avinton Japan