AWSでサーバーを構築するには
AWSでサーバー構築するための、ざっくり大まかな手順になります。
前提として、前回記事(AWSでネットワーク構築)のような手順を踏み、ネットワーク構築してるものとします。
①EC2作成
仮想サーバーを構築するために必要なのがEC2の作成。
ここで作成した仮想サーバーのことをインスタンス
という。
このインスタンスに作成したいサーバーソフトをインストールすることにより、サーバーとして機能するようになる。
インスタンスにはサブネット内で使用することが可能なプライベートIPアドレスを割り当てるが、インターネットとの接続においてはパブリックIPアドレスが必要なため、プライベートIPアドレスとは別にパブリックIPアドレスを設定すること。
AMIの選択
インスタンスを起動させるときに用いるイメージファイルのことをAMI
といい、ここにはOSがインストールされており、初期アカウントの設定まで済んだイメージが入ってる。
インスタンスタイプの選択
仮想マシンのスペックを決めるものをインスタンスタイプという。
キーペアの設定
キーペアはインスタンスにログインする際必要なキーで、これがないとログインできない。
※一度しかダウンロードできないため、安全な場所に保管しておくこと
セキュリティグループの設定
インスタンスのトラフィックを制御する一連のファイアウォールルールのこと。
詳細な設定は後ほど行う。
②EC2インスタンスSSH接続
インスタンスを起動したら下記のようなコマンドでSSH接続する。
ssh -i ~/.ssh/作成したキー.pem ec2-user@パブリックIPアドレス
他にもteratermなどのツールを使用して接続することも可能。
接続できたらこのような表示が出る。
また、基本的にインスタンスに与えられるパブリックIPアドレスは動的だが、IPアドレスを固定化させたいときはElastic IP
という機能を使って固定させることもできる。
VPCやサブネット、ルートテーブル、インターネットゲートウェイなどがきちんと紐づいてないと接続できないためしっかり確認すること
③ソフトウェアのインストール
Webサーバー等使用用途によりソフトをインストールしていくこと。
Webサーバーだと例としてApache、Nginxなど。
ログインしたインスタンスに必要なソフトをインストールしていくことで、インスタンスに機能を持たせることができる。
インストール後にサーバーを起動させ、ネットワークの待ち受け状態を確認すると、ポート80で待ち受けしていることがわかる。(TCP *:80表記)
sudo lsof -i -n -P
なお、IPv6で表示があった場合にも、IPv4互換アドレスで応答を返すように構成されているため正常に通信できる。
ポート80はHTTPのウェルノウンポート。
ウェルノウンポートとはTCP/IPで使用されるポートのうち、慣例的に使用されている1024個のポートのこと。
④ファイアウォールの設定
セキュリティグループ設定により、ポート80を通さないルールだった場合、ポートを通すようなファイアウォールを構成していく必要がある。
外側から入ってくるパケットのファイアウォールはインバウンドルールからポート80を通すようにルールを追加する。
下記にアクセスし、設定に問題なくブロックされていなければデフォルトページが表示される。
http://<パブリックIPアドレス>
http://<Elastic IPアドレス>
⑤ドメイン・DNS設定
IPアドレス入力でブラウザにアクセスできるが、一般的には「example.co.jp」のようなドメイン名を使ってアクセスすることが多い。
ドメイン名とはIPアドレスを人間が理解しやすい形にしたもので、IPアドレス同様一意性が保たれている必要がある。
とはいえ、相手先を確認するのはあくまでもIPアドレスであるため、ドメイン名でアクセスするときも最終的にはIPアドレスに変換して接続している。
その際に用いられる仕組みがDNS(Domain Name System)
であり、ドメイン名からそれに対応するIPアドレスを引き出すことを名前解決
と呼ぶ。
該当のVPCの「DNSホスト名を有効化」から有効化することでEC2の該当のインスタンスに対し、プライベートDNSに加えパブリックDNSが付与される。
割り当ててないときはプライベートDNSのみ設定されてない。
表示されたパブリックIPv4DNSからアクセスすると先ほどと同じデフォルトページがドメイン名表示アドレスでも接続することができる。
http://ec2-[パブリックIPをもとに自動生成].ap-northeast-1.compute.amazonaws.com/
独自ドメイン名を使用したいときはRoute53を通してDNSサーバーの構築し、EC2インスタンスと紐づける。
まとめ
①EC2作成
インスタンスを作成し、AMIやインスタンスタイプ、キーペアの設定等行う。
②EC2インスタンスSSH接続
ssh接続し、作成したインスタンスのサーバーに入ることができるか確認する。
③ソフトウェアのインストール
用途に応じソフトウェアをインストールし、インスタンスに機能を持たせる。
④ファイアウォールの設定
セキュリティグループの設定を行い、ポートを通すようにする。
⑤ドメイン・DNS設定
DNSの仕組みを使用し、ドメイン名から対応するIPアドレスを引き出して接続。