[Route53] 無料ドメインを使用してEC2のコンテンツを表示してみた

2022.01.27

こんにちは、CX事業本部 IoT事業部のアベシです!

Route53について学ぶ機会がありましたので、備忘録も兼ねてやったことをブログに残したいと思います。 今回は検証用で入手した無料のドメインをRoute53を使ってEC2に紐づけてみました。 ゴールは入手したドメインにアクセスしてEC2に保存したテストページを表示させる事となります。 *内容は初心者様向けとなっております。

無料ドメイン取得

無料のドメインはfreenomで入手しました。 まずは使えるドメインを探します。 希望するドメイン名を入れて使用可否調べます。Not availableとなってしまいました。

他にも色々な文字列で試したのですが全てNot availableとなり何かおかしいなと思い、トップレベルドメインの「.tk」まで記載したところ使用可能になりました。この後はCheckoutボタンを押して申し込みを進めます。

最長12ヶ月まで無料で使えるようです!

この後のOrder完了までは特に迷うこと無く進めると思います。

Route53でホストゾーンを設定

次に入手したドメインをRoute53のホストゾーンに登録します。 AWS Route53のサービスのトップ画面左のペインからホストゾーンをクリック。次に遷移先の下の画面でホストゾーン作成をクリックします。

下のホストゾーンの設定画面で先程入手したドメインを入力します。今回インターネットからEC2にアクセスしますのでパブリックホストを選択して、ホストゾーン作成をクリックして進みます。

ホストゾーンが作成されて、同時にNS(ネームサーバ)レコードが作成されました。

NSレコードをfreenomに登録(作成したドメインをAWSで使うための設定)

Route53で作成できたNSレコード(4つ)をfreenomのドメインに紐づける。 NSレコード:管理を委託しているDNSサーバの名前が書かれたレコード

またfreenomに戻り、自分のドメインのページ行きます。

今回Route53に登録したドメインの管理画面に行って下さい。Manage Domainをクリック。

Management ToolsのプロダウンメニューのNameserversをクリック

先程Route53で作成されたNSレコードを全て記載してChange Nameserversクリックして登録完了です。

※注意:NSレコード末尾の . (ドット)は消して入力する

ターミナルで nslookup -type=NS <ドメイン名> でちゃんと登録されたか確認してOKだったら完了です。

EC2の準備

今回AMIをamazonlinux2、インスタンスタイプをt2.microにしてEC2インスタンスを作成しました。 インターネットからEC2にアクセスできるようにするため、インターネットゲートウェイ、ElasticIP、セキュリティグループの設定をしていきます。

インターネットゲートウェイの設定

VPCのサービス画面の左ペインのインターネットゲートウェイをクリックして設定画面に移り、右上の作成ボタンを押して作ります。

名前を付けてインターネットゲートウェイ作成したら右上のVPCにアタッチをクリック。

EC2の設置しているVPCを選んでアタッチします。

VPCにインターネットゲートウェイがアタッチできました。

ElasticIPの設定

EC2のサービストップ画面の左ペインからElastic IPを選択します。設定画面のElastic IP アドレスを割り当てるというボタンを押して作成画面に行きます。

EC2の設置しているAZが含まれているネットワークボーダーグループを選択して、右下の割当ボタンをクリック

作成したEIPをEC2インスタンスに関連付けます。 対象のEIPをチェックしてアクションタブからElastic IP 関連付けを選択

今回作成したEC2を選択して関連付けるボタンをクリックしてEIPの設定は完了です。

 

セキュリティグループの設定

インスタンに適応されているセキュリティグループのページに移動します。対象EC2インスタンスのセキュリティタブ内のセキュリティグループ名をクリック

インバウンドのルールを編集を選択して編集画面を開きます。

インターネットからのインバウンドトラフィックを許可するため、以下のようにHTTP通信からの全トラフィックを許可するCIDR範囲0.0.0.0/0を設定します。ルールを保存ボタンを押してセキュリティグループの設定が完了です。

注意

EC2のWebページが0.0.0.0/0で公開され続けると、外部から攻撃されたり大量のアクセストラフィックが増えるなどして大量に課金されてしまう恐れがありますので、検証終了後はインスタンス止めておくか、削除しておくようにして下さい。また、ElasticIPはEC2を止めても課金され続けますので、適時開放するすることをおすすめします。

webサーバーとテストページの設定

webサーバーにはApacheを使いました。 EC2に接続し以下のコマンドでApacheのインストールとテストページを設定します。

% sudo yum update -y         //パッケージのアップデート
% sudo yum install httpd -y  //Apacheのインストール
% cd /var/www/html           //テストページを保存するディレクトに移動(EC2にアクセスした時にここにコンテンツが有れば表示されます)
% sudo touch index.html      //新規ファイルを作成    
% sudo vi index.html         //Viを使って前項で作ったファイルにコードを書きます
% sudo systemctl start httpd //Apacheを起動

これでApacheにテストページを作成した上で起動状態となりました。

ドメインでEC2にアクセス

今回取得したドメインにアクセスして先程のテストページが表示されるか確認します。

 

テストページが表示されました!!

最後に

今回、無料のドメインでEC2にアクセスしてテストページを表示してみました。

EC2に外からアクセスするためにどんな設定が必要なのかについても考える良い機会となりましたので、みなさんも是非やってみていただければと思います。(上記の注意項目の課金にお気をつけて実施して下さい。)

次回はSSL証明書を使って今回構築したEC2に、よりセキュアに接続できる構成を構築してみようと考えています!

それではまた!