【まとめ】Amazon Web Services ー 基礎からのネットワーク & サーバー構築 ー
参考書
- Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版
- https://www.amazon.co.jp/dp/4822237443/ref=cm_sw_r_tw_dp_U_x_k3p3Cb7VX47T4
記事一覧
- 01. ネットワークを構築する ー WordPress 構築ハンズオン ー - kukai88
- 02. サーバーを構築する ー WordPress 構築ハンズオン ー - kukai88
- 03. インスタンスに Web サーバーを構築する ー WordPress 構築ハンズオン ー - kukai88
- 04. プライベートサブネットを構築する ー WordPress 構築ハンズオン ー - kukai88
- 05. NAT(Network Address Translation)を構築する ー WordPress 構築ハンズオン ー - kukai88
- 06. DB サーバーを構築する ー WordPress 構築ハンズオン ー - kukai88
- 07. web サーバーに WordPress を導入する ー WordPress 構築ハンズオン ー - kukai88
07. web サーバーに WordPress を導入する ー WordPress 構築ハンズオン ー
参考書
- Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版
- https://www.amazon.co.jp/dp/4822237443/ref=cm_sw_r_tw_dp_U_x_k3p3Cb7VX47T4
1. 実行環境の整備を行う
DB サーバーとの疎通確認をする
- 1. MySQL をインストールします。
$ sudo yum -y install mysql
補足:疎通確認には mysql コマンドを使って実際に DB サーバーにアクセスします。そのため、web サーバーにも MySQL をインストールする必要があります。
- 2. DB サーバーにアクセスして疎通確認を行います。
$ mysql -h 10.0.2.10 -u wordpress -p Enter password: ---------- Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.5.62 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
→ h オプションを付けることで他のホストにある MySQL にもアクセスすることができました。(他ホストからのアクセスを許可する設定がアクセスされる側で必要になります。)
2. WordPress をダウンロードする
web サーバーに WordPress をダウンロードします。
$ ssh -i my-key.pem ec2-user@{パブリックサブネットのインスタンスの固定パブリック IP アドレス}
$ cd ~
$ wget https://ja.wordpress.org/wordpress-4.8.2-ja.tar.gz
注意:WordPress の最新バージョンを取得してしまうと、Amazon Linux で対応できる PHP のバージョンを上回ってしまう可能性があります。リポジトリ追加など手間が生じるため、学習目的の場合、古めの WordPress をダウンロードすることをオススメします。
- 3. ダウンロードした WordPress を展開します。
$ tar xzvf wordpress-4.8.2-ja.tar.gz
sudo cp -r /wordpress/* /var/www/html
sudo chown apache:apache /var/www/html -R
→ これで、ブラウザから web サーバーにアクセスすると WordPress の初期設定画面が表示されます。(以後の説明は割愛します。)
06. DB サーバーを構築する ー WordPress 構築ハンズオン ー
参考書
- Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版
- https://www.amazon.co.jp/dp/4822237443/ref=cm_sw_r_tw_dp_U_x_k3p3Cb7VX47T4
1. MySQL をインストールする
パブリックサブネットのインスタンス(web サーバー)を踏み台にして、プライベートサブネットのインスタンスに SSH 接続します。そこから、MySQL をインストールします。
ssh -i my-key.pem ec2-user@{パブリックサブネットのインスタンスの固定パブリック IP アドレス}
$ ssh -i my-key-db.pem ec2-user@10.0.2.10
$ sudo yum -y install mysql-server
- 4. インストールした MySQL を起動して、root ユーザーのパスワードを変更しておきます。
$ sudo service mysqld start --------- Initializing MySQL database: Installing MySQL system tables... 190519 22:51:52 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 190519 22:51:52 [Note] /usr/libexec/mysql55/mysqld (mysqld 5.5.62) starting as process 25366 ... OK Filling help tables... 190519 22:51:52 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 190519 22:51:52 [Note] /usr/libexec/mysql55/mysqld (mysqld 5.5.62) starting as process 25373 ... OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/libexec/mysql55/mysqladmin -u root password 'new-password' /usr/libexec/mysql55/mysqladmin -u root -h ip-10-0-2-10 password 'new-password' Alternatively you can run: /usr/libexec/mysql55/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /usr ; /usr/libexec/mysql55/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd /usr/mysql-test ; perl mysql-test-run.pl Please report any problems at http://bugs.mysql.com/ [ OK ] Starting mysqld: [ OK ]
上記の起動時のメッセージ内に「root ユーザのパスワードをセットして下さい」とメッセージが表示されています。
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/libexec/mysql55/mysqladmin -u root password 'new-password' /usr/libexec/mysql55/mysqladmin -u root -h ip-10-0-2-10 password 'new-password'
記載されている内容に従って、root ユーザーのパスワードを変更しておきます。
$ mysqladmin -u root password New password: Confirm new password:
- 5. サーバーを再起動した場合に、自動的に MySQL が起動するようにしておきます。
$ sudo chkconfig mysqld on
→ これで、プライベートサブネット上のインスタンスに MySQL をインストールし、起動と簡単な初期設定が完了しました。(これで正式に DB サーバーとなりました。)
2. WordPress 用の DB を作成する
- 1. MySQL にログインします。パスワードを入力してログインが完了すると、下のウェルカムメッセージが表示されます。
$ mysql -u root -p Enter password: ---------- Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.5.62 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
- 2. DB を作成します。DB 名は「wordpress」とします。
mysql> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ---------- Query OK, 1 row affected (0.00 sec)
- 3. root 以外のユーザーを作成して、作成した DB への全ての権限を与えておきます。ユーザー名は「wordpress」、パスワードは「wordpresspasswd」とします。
mysql> grant all on wordpress.* to wordpress@"%" identified by 'wordpresspasswd'; ---------- Query OK, 0 rows affected (0.00 sec)
- 4. ユーザー作成・権限の設定を反映させます。
mysql> flush privileges; ---------- Query OK, 0 rows affected (0.00 sec)
05. NAT(Network Address Translation)を構築する ー WordPress 構築ハンズオン ー
参考書
- Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版
- https://www.amazon.co.jp/dp/4822237443/ref=cm_sw_r_tw_dp_U_x_k3p3Cb7VX47T4
NAT を構築する意義は?
プライベートサブネットにインスタンスを作成し、このインスタンスに MySQL をインストールし、DB サーバーとして利用しようとしています。
しかし、インターネットに繋がっていないため、プライベートサブネットのインスタンスに MySQL のインストールをすることができません。
そこで、プライベートサブネット → インターネットへの片方向にだけアクセスを許可する、ということができる NAT を構築します。
1. NAT ゲートウェイを作成する
- 1. AWS コンソールマネジメントコンソールから「VPC」をクリックします。
- 2. 左側のサイドメニューから「NAT ゲートウェイ」をクリックし、「NAT ゲートウェイの作成」をクリックします。
- 3. NAT ゲートウェイの作成画面で、サブネットを「パブリックサブネット」、Elastic IP の割り当て ID は「新しい EIP の作成」をクリックすると Elastic IP アドレスが自動的に作成され、その ID が入力されます。これで「NAT ゲートウェイの作成」をクリックします。
2. プライベートサブネットのデフォルトゲートウェイを設定する
プライペートサブネットが利用しているルートテーブルは、デフォルトのルートテーブルなので、デフォルトのルートテーブルを編集します。
- 1. AWS コンソールマネジメントコンソールから「VPC」をクリックします。
- 2. 左側のサイドメニューから「ルートテーブル」をクリックし、ルートテーブル一覧画面から利用しているプライベートサブネットが利用しているルートテーブルをクリックします。
- 3. 画面下部のルートタブ内にある「ルートの編集」をクリックし、送信先を「0.0.0.0/0」、ターゲットを「作成済みの NAT」として「ルートの保存」をクリックします。
→ これで、プライベートサブネットのデフォルトゲートウェイが NAT ゲートウェイに向くようになりました。
3. プライベートサブネットのインスタンス → インターネットに疎通確認をする
$ ssh -i my-key.pem ec2-user@{パブリックサブネットのインスタンスの固定パブリック IP アドレス}
$ ssh -i my-key-db.pem ec2-user@10.0.2.10
$ curl https://www.nikkeibp.co.jp ---------- <!DOCTYPE HTML> <html lang="ja"> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/ns/article#"> <meta name="description" content="日経BPは日本経済新聞グループの一員として、経営・技術・生活という3分野で主にビジネスパーソンに向けて事業を展開しています。その内容は、雑誌・書籍の出版事業、デジタル事業、展示会・セミナーなどのイベント事業、調査・コンサルティング事業など、多種多彩なメディアとサービスを駆使して、高付加価値の先端・専門情報を提供しています。"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <meta property="og:title" content="日経BP"> <meta property="og:description" content="日経BPは日本経済新聞グループの一員として、経営・技術・生活という3分野で主にビジネスパーソンに向けて事業を展開しています。その内容は、雑誌・書籍の出版事業、デジタル事業、展示会・セミナーなどのイベント事業、調査・コンサルティング事業など、多種多彩なメディアとサービスを駆使して、高付加価値の先端・専門情報を提供しています。"> <meta property="og:type" content="website"> <meta property="og:url" content="https://www.nikkeibp.co.jp/"> <meta property="og:image" content="https://www.nikkeibp.co.jp/images/bplogo/og-logo.png"> <title>日経BP</title> ...
→ これで、プライベートサブネットのインスタンスからインターネットに接続できていることが確認できました。
04. プライベートサブネットを構築する ー WordPress 構築ハンズオン ー
参考書
- Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版
- https://www.amazon.co.jp/dp/4822237443/ref=cm_sw_r_tw_dp_U_x_k3p3Cb7VX47T4
プライペートサブネットを構築する意義
インターネットに接続できるパブリックサブネットとは違い、プライペートサブネットにはパブリック IP アドレスを与えないためインターネットに接続できません。
そのため、サーバーを隠蔽することが可能で、セキュリティを向上させることができます。
構築の流れ
- 1. プライベートサブネットを作成する
- 2. ルートテーブルの設定をする
- 3. 作成したプライペートサブネットにインスタンス(仮想サーバー)を作成する
- 4. ping コマンドで疎通確認を実施する
- 5. プライベートサブネット上のインスタンスに SSH 接続する
1. プライベートサブネットを作成する
2. ルートテーブルの設定をする
プライペートサブネットはインターネットに接続する必要がないため、デフォルトのルートテーブルが適用されたままで問題ありません。プライベートサブネット専用のルートテーブルを作成する必要はありません。
補足 1:プライベートサブネット専用のルートテーブルを作成しても問題ありません。(もちろんですが、設定内容はデフォルトのルートテーブルと同じになります。)
補足 2:デフォルトルートテーブルの設定は、送信先「10.0.0.0/16」、ターゲット「local」になっていて、10.0.0.0/16 宛の通信をすべてのサブネット(10.0.1.0/24, 10.0.2.0/24, ... = local)に送るという意味です。
3. インスタンス(仮想サーバー)を作成する
- 1. AWS コンソールマネジメントコンソールから「EC2」をクリックします。
- 2. 左側のサイドメニューから「インスタンス」をクリックし、「インスタンスの作成」をクリックします。
- 3. Amazon マシンイメージ(AMI)一覧から「Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type」にある「選択」をクリックします。
- 4. インスタンス一覧からタイプが「t2.micro(無料利用枠の対象)」を選択し、「次の手順」をクリックします。
- 5. インスタンスの詳細設定画面で、ネットワークを「既に作成済みの VPC」、サブネットを「既に作成済みのプライベートサブネット」、自動割り当てパブリック IP を「無効化」、プライマリ IP を「10.0.2.10」にして「次の手順」をクリックします。
- 6. ストレージの設定画面で、特にデフォルト値のままで問題ないため、そのまま「次の手順」をクリックします。
- 7. タグの入力画面で「タグの追加」をクリックして、キーを「Name」、値を「DBサーバー」として「次の手順」をクリックします。
- 8. セキュリティグループの設定画面で、セキュリティグループ名を「DB-SG」にして、SSH(TCP / 22 番ポート / 送信元:カスタム - 0.0.0.0/0)と MYSQL/Aurora(TCP / 3306 番ポート / 送信元:任意の場所 - 0.0.0.0/0)を追加して「確認と作成」をクリックします。
- 9. 確認画面が表示されるので「起動」をクリックします。
「起動」をクリックすると、SSH 接続をするためのキーペアを作成するポップアップが表示されます。
- 10. 「新しいキーペアの作成」を選択し、キーペア名を「my-key-db」にして「キーペアのダウンロード」をクリックします。
- 11. キーペアのダンロードが完了後、「インスタンスの作成」をクリックします。
→ これでパブリックサブネット上にインスタンスを作成できました。作成には数十秒〜数分かかります。
注意:インスタンスを使用していない場合は「停止」することもできますが、停止してもストレージ Amazon Elastic Block Store(EBS)の容量を確保したままなので課金されてしまいます。
4. ping コマンドで疎通確認を実施する
ファイアウォールの設定
ping コマンドは ICMP プロトコルが通るように設定しなければなりません。ルートテーブルを編集して ICMP プロトコルの通過を許可します。
- 1. AWS コンソールマネジメントコンソールから「EC2」をクリックします。
- 2. 左側のサイドメニューにある「セキュリティグループ」をクリックして、セキュリティグループ一覧を表示します。
- 3. グループ名が「DB-SG」のセキュリティグループを選択し、画面下部のインバウンドタブ内にある「編集」をクリックします。
- 4. インバウンドのルールの編集画面で「ルールの追加」をクリックし、タイプを「すべての ICMP - IPv4」、プロトコルを「ICMP」、ポート範囲を「0 - 65535」、ソースを「カスタム - 0.0.0.0/0」として「保存」をクリックします。
パブリックサブネット上のインスタンス(web サーバー)→ プライベートサブネット上のインスタンスに疎通確認を実施する
$ ping -c 5 10.0.2.10 ---------- PING 10.0.2.10 (10.0.2.10) 56(84) bytes of data. 64 bytes from 10.0.2.10: icmp_seq=1 ttl=255 time=0.396 ms 64 bytes from 10.0.2.10: icmp_seq=2 ttl=255 time=0.492 ms 64 bytes from 10.0.2.10: icmp_seq=3 ttl=255 time=0.643 ms 64 bytes from 10.0.2.10: icmp_seq=4 ttl=255 time=0.439 ms 64 bytes from 10.0.2.10: icmp_seq=5 ttl=255 time=0.420 ms --- 10.0.2.10 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4074ms rtt min/avg/max/mdev = 0.396/0.478/0.643/0.088 ms
→ "0% packet loss" となっているので、プライペートサブネット上のインスタンスへの疎通確認ができました。
5. プライベートサブネット上のインスタンス(仮想サーバー)に SSH 接続する
プライベートサブネットはインターネットに接続されていません。ローカル PC から SSH 接続したい場合はどのようにすればよいのでしょうか?
それは、インターネットに接続されているパブリックサブネット上のインスタンスを踏み台にして、プライベートサブネット上のインスタンスに SSH 接続をします。
ローカル PC にあるプライベートサブネットのインスタンス用の秘密鍵を web サーバーにアップロードする
$ scp -i my-key.pem my-key-db.pem ec2-user@{パブリックサブネット上のインスタンスのパブリックドメイン名}:~/
$ ssh -i my-key.pem ec2-user@{パブリックサブネットのインスタンスの固定パブリック IP アドレス}
$ ls -l ---------- -r-------- 1 ec2-user ec2-user 1696 5月 19 00:47 my-key-db.pem
telnet を利用して webサーバーと HTTP 通信をしてみる
参考書
- Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版
- https://www.amazon.co.jp/dp/4822237443/ref=cm_sw_r_tw_dp_U_x_k3p3Cb7VX47T4
流れ
- 1. インスタンス(仮想サーバー)に配置するプログラム(web サーバーを生成・起動するプログラム)を作成する
- 2. インスタンスに node.js をインストールする
- 3. ファイアウォールの設定をする
- 4. 作成したプログラムをインスタンスに配置する
- 5. 生成した web サーバーにリクエストを送信する
1. インスタンスに配置するプログラムを作成する
var http = require("http"); http.createServer(function (req, res) { var data = { RequestHeader: req.headers }; if (req.method == 'GET') { response(res, data); } else if (req.method == 'POST') { req.on('data', function (body) { data.RequestBody = body.toString(); req.on('end', function () { response(res, data); }); }); } }).listen(8080); function response(res, data) { var json = JSON.stringify(data); res.writeHead(200, { 'Content-Type': 'application/json', 'Content-Length': json.length }); res.end(json); }
2. インスタンスに node.js をインストールする
$ ssh -i my-key.pem ec2-user@{インスタンスの固定グローバル IP アドレス}
- 2. 最新の node.js をダウンロードサイト(https://nodejs.org/ja/download/)からインストールします。
$ wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
- 3. インストールしたファイルを展開します。
$ tar Jxvf node-v10.15.3-linux-x64.tar.xz
- 4. パスを通します。(/bin ディレクトリ直下に実行ファイルが存在します。)
export PATH=$PATH:~/node-v10.15.3-linux-x64/bin
3. ファイアウォールの設定をする
作成したプログラムは 8080 番ポートで待ち受けるようにしています。したがって、8080 番ポートを開けます。
- 1. AWS コンソールマネジメントコンソールから「EC2」をクリックします。
- 2. 左側のサイドメニューから「セキュリティグループ」をクリックし、グループ名が「WEB-SG」のセキュリティグループを選択します。
- 3. 画面下部のインバウンドタブ内にある「編集」をクリックします。
- 4. 「ルールの追加」をクリックして行を追加し、タイプを「カスタム TCP ルール」、ポート範囲を「8080」、ソースを「カスタム → 0.0.0.0/0」として「保存」をクリックします。
5. プログラムを実行する
- 1. node コマンドで app.js を実行することで、クライアント上に web サーバー(8080 番ポート)が起動します。
$ node app.js
→ プロンプトからは何も応答がありませんが、これで web サーバー(8080 番ポート)が起動しています。実際にリクエストを投げてみます。
GET リクエストとレスポンス
telnet {インスタンスの固定グローバル IP アドレス} 8080 --------- Trying xxx.xxx.xxx.xxx... Connected to ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com. Escape character is '^]'. // ↓ こちらで入力した部分 GET / HTTP/1.0 User-Agent: OreOreAgent // ↑ こちらで入力した部分 HTTP/1.1 200 OK Content-Type: application/json Content-Length: 46 Date: Sat, 18 May 2019 06:30:58 GMT Connection: close {"RequestHeader":{"user-agent":"OreOreAgent"}}Connection closed by foreign host.
POST リクエストとレスポンス
telnet {インスタンスの固定グローバル IP アドレス} 8080 ---------- Trying xxx.xxx.xxx.xxx... POST / HConnected to ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com. // ↓ こちらで入力した部分 Escape character is '^]'. POST / HTTP/1.0 User-Agent: OreOreAgent Content-Length: 3 abc // ↑ こちらで入力した部分 HTTP/1.1 200 OK Content-Type: application/json Content-Length: 87 Date: Sat, 18 May 2019 06:32:22 GMT Connection: close {"RequestHeader":{"user-agent":"OreOreAgent","content-length":"3"},"RequestBody":"abc"}Connection closed by foreign host.
03. インスタンスに Web サーバーを構築する ー WordPress 構築ハンズオン ー
参考書
- Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版
- https://www.amazon.co.jp/dp/4822237443/ref=cm_sw_r_tw_dp_U_x_k3p3Cb7VX47T4
1. Apache HTTP Server をインストールする
$ sudo yum -y install httpd
$ sudo chkconfig httpd on
- 4. httpd を受け付けているポートが開いているか確認します。
$ sudo lsof -i -n -P | grep :80 httpd 23496 root 4u IPv6 34370 0t0 TCP *:80 (LISTEN) httpd 23498 apache 4u IPv6 34370 0t0 TCP *:80 (LISTEN) httpd 23499 apache 4u IPv6 34370 0t0 TCP *:80 (LISTEN) httpd 23500 apache 4u IPv6 34370 0t0 TCP *:80 (LISTEN) httpd 23501 apache 4u IPv6 34370 0t0 TCP *:80 (LISTEN) httpd 23502 apache 4u IPv6 34370 0t0 TCP *:80 (LISTEN) httpd 23503 apache 4u IPv6 34370 0t0 TCP *:80 (LISTEN) httpd 23504 apache 4u IPv6 34370 0t0 TCP *:80 (LISTEN) httpd 23505 apache 4u IPv6 34370 0t0 TCP *:80 (LISTEN)
→ これでインスタンスに Apache HTTP Server をインストールできました。また、ポートが開いていることを確認できました。しかし、このままでは Web サーバーにアクセスできません。
補足:httpd は全て IPv6 の 80番ポートばかりですが、IPv6 の仕様で IPv4 にも応答するようになっています。
2. ファイアフォールを設定する
- 1. AWS コンソールマネジメントコンソールから「EC2」をクリックします。
- 2. 左側のサイドメニューから「セキュリティグループ」をクリックし、インスタンスを作成する際に作成したセキュリティグループ(今回だと、グループ名が「WEB-SG」のもの)を選択します。
- 3. 画面下部のインバウンドタブ内にある「編集」をクリックして、「ルールの追加」をクリックします。
- 4. 追加された行に、タイプを「カスタム TCP」、プロトコルを「TCP」、ポート範囲を「80」、ソースを「0.0.0.0/0」として「保存」をクリックします。
→ これで、ファイアウォールを HTTP 通信を許可する設定に変更しました。その結果、「http://{インスタンスの固定パブリック IP アドレス}/」とすれば Web サーバーにアクセスすることができます。
3. DNS サーバーを構築する
Amazon VPC には VPC 上で名前解決をするオプションがあります。この機能を ON にすると、VPC 上のインスタンスにドメイン名が設定されます。
DNS を構築する
- 1. AWS コンソールマネジメントコンソールから「VPC」をクリックします。
- 2. 左側のサイドメニューから「VPC」をクリックし、作成した VPC を選択し、アクションメニュー内から「DNS ホスト名の編集」をクリックします。
- 3. DNS ホスト名の編集画面で、DNS ホスト名の「有効化」にチェックを入れて「保存」をクリックします。
→ これで、インスタンス(Web サーバー)にドメイン名が設定されました。確認してみます。
- 4. AWS コンソールマネジメントコンソールから「EC2」をクリックします。
- 5. 左側のサイドメニューから「インスタンス」をクリックし、Web サーバー用のインスタンスを選択します。
- 6. 画面下部の説明タブ内にある「パブリック DNS (IPv4)」に設定されたドメイン名(xxx.xxx.xxx.amazonaws.com)を確認できます。
→ このドメイン名でアクセスしても IP アドレスでアクセスしたときと同様のページが表示されます。適切に名前解決されていることが確認できます。
nslookup で DNS を確認する
ドメイン名 → IP アドレス、を確認(正引き)
$ nslookup xxx.xxx.xxx.amazonaws.com Server: 10.0.0.2 Address: 10.0.0.2#53 Non-authoritative answer: Name: xxx.xxx.xxx.amazonaws.com Address: 10.0.1.10
IP アドレス → ドメイン名、を確認(逆引き)
$ nslookup xxx.xxx.xxx.xxx Server: 10.0.0.2 Address: 10.0.0.2#53 Non-authoritative answer: xxx.xxx.xxx.xxx.in-addr.arpa name = xxx.xxx.xxx.compute.amazonaws.com. Authoritative answers can be found from: