【AWS】EC2を使って、WEBサイトを公開する流れ
こんにちは、ぐらじえです。
今回は、実際にAWSサービスの1つである、EC2というものを使って、WEBサイトをインターネット上に公開してみたので、その手順を紹介できればと思います。
私自身、AWS認定の取得に向けて勉強している身なのですが、なんか座学だけだとAWSが身についている気になれず、実際にサービスを触ってみることにしました。
自分のアウトプットも兼ねての紹介ですが、同じような気持ちの方も少なからずいると思うので、そんな方々の参考になれば幸いです。
前提
今回の作業を行うにあたって、いくつか前提条件があります。
- AWSアカウントが作成済みである
- 無料利用枠のEC2を使用します
- ドメインの取得などは行いません!
- 今回の構成では「セキュリティ」、「冗長性」は考慮していません
- 「Tera Term」というツールを使用します
1番と5番に関しては事前準備が必要になるので、このブログを見ながらWEBサイト構築をされる方は、準備のほうよろしくお願いします、、
構成図
今回の作業で作成する、構成図になります。
かなりシンプルなので、はじめてAWSサービスを触る方でも簡単に理解できると思います。
デフォルトVPCの中のサブネットの中にEC2インスタンスを作成するという感じで、VPCとサブネットはアカウント作成時にデフォルトで作成されているはずなので、今回はEC2インスタンスのみ作成します。
EC2を作成する
ここからは、実際にAWSサービスに触れていきます。
まずは、AWSマネジメントコンソールから、EC2を選択し、[インスタンスを起動]をクリック。
EC2の名前や性能などを設定
名前とタグ | サーバーの名前。任意です。 |
アプリケーションおよび OS イメージ (Amazon マシンイメージ) | "Amazon Linux 2 AMI" |
インスタンスタイプ | "t2.micro" |
そして、今回はEC2インスタンスに対してSSHでアクセスを行うので、それに必要な「キーペア(ログイン)」の作成を行います。
キーペア名(任意)だけ入力して、[キーペアを作成]をクリック。
「ネットワーク設定」に関しては、デフォルトで"SSH"が許可されている状態です。
今回はブラウザにHTTP経由でWEBサイトを表示させるので、「HTTPトラフィックを許可」にもチェックを入れます。
「ストレージを設定」以降の設定は、特に触る必要がないので、そのまま[インスタンスを起動]をクリックして、EC2の作成を完了します。
EC2のセットアップをしてWEBサイトを公開する
Tera TermでEC2に接続
サーバーであるEC2の作成が終わったので、まずは、Tera Termを使って、EC2インスタンスにSSHアクセスします。
EC2インスタンスに接続する際は以下の2つの情報を使います。
- キーペア
- パブリック IPv4 アドレス
キーペア
EC2作成の際に下記のような名前でダウンロードフォルダにダウンロードされていると思います。
"ec2-ssh.pem"
パブリック IPv4 アドレス
マネジメントコンソールのEC2インスタンス情報の「ネットワーキング」のタブから確認できます。
ここからはTera Termの操作に入ります。
ホスト | パブリック IPv4 アドレス |
ユーザ名 | "ec2-user" |
秘密鍵 | ダウンロードしてきたpemキー |
OKをクリックすると作成したEC2インスタンスにアクセス完了です!
Apacheのインストール
次にWebサーバソフトとして、Apacheを導入していきます。
インストールとバージョン確認のコマンドです。
インストール後にバージョン確認して、"2.4.54"が帰ってくればApacheのインストールは終了です。
$ sudo yum install httpd
$ httpd -v
インストールが確認出来たら、以下コマンドを実行してApacheの起動を完了します。
$ sudo systemctl start httpd
これでApacheの導入は終了です。
ちなみにこの段階Apacheが正常に起動できていれば、「パブリック IPv4 アドレス」をブラウザに入力すると、Apacheのテストページが表示されます。
WEBサイトのアップロード
今回アップロードするWEBサイトですが、無料でダウンロードしてくることができる、HTMLテンプレートを使用させていただこうと思います。
もし、特にアップロードするHTMLファイル等がない方は活用してみてください。
ここからアップロードしていくわけなのですが、上記HTMLテンプレートを使用する場合は、ダウンロードしてきたzipファイルをドラッグアンドドロップでTera Termに移動します。
特に何も触らなければ、zipファイルがホームディレクトリに転送されるので、そのままOKを押します。
次にやることなのですが、流れとしては
- zipファイルを/var/www/html/へ移動させる。
- zipファイルを解凍してHTMLファイルが表示されるようにする。
この2工程になります。
仕組みとしては、"/var/www/html/"の配下にHTMLファイルを配置するとそのHTMLファイルがそのサーバーにブラウザ経由でアクセスした際に、表示されるという仕組みです。
- 特にファイル階層を移動してなければ、問題ありませんが下記コマンドでホームディレクトリに移動します。
$ cd ~
- zipファイルを/var/www/html/に移動させます。
$ sudo mv tpl_096.zip /var/www/html/
- /var/www/html/の階層に移動します。
$ cd /var/www/html
- zipファイルを解凍します。
$ sudo unzip tpl_096.zip
- この状態では、/var/www/html/tpl_096/の階層内にindex.htmlが配置されているので、/var/www/html/に配置するため、一つ上の階層に移動させます。
$ sudo mv tpl_096/* /var/www/html/
- lsコマンドでフォルダの中身を確認します。
$ ls
以下のようなファイルの配置になっていれば問題ないです。
WEBサイトを確認
反映されているか確認
ここまでできれば、WEBサイトの構築は完了になります。
実際に、「パブリック IPv4 アドレス」にブラウザからアクセスしてみてください。
Apacheのテストページではなく、ダウンロードしてきたHTMLテンプレートがHTTP経由で表示されているはずです。
これで、一通りの流れが完了になります。
お疲れ様でした!!
リソースの削除
今回の構成では基本的にすぐには料金が発生しない構成ですが、一通り終えればEC2等は削除することを推奨します。
少しもったいない気もしますが、実際に削除していきます、、
今回作成して削除するもの
- EC2
- セキュリティグループ
- キーペア
EC2の削除
対象のインスタンスを選択して、[インスタンスの状態]から[インスタンスを終了]を選択。
即座には消えませんが、「シャットダウン中」となればそのうち削除されるので、ほっておいて大丈夫です。
セキュリティグループの削除
VPCのサービスに移動して、セキュリティグループをクリック。
"launch-wizard-1"のセキュリティグループを選択して、[アクション]をクリック。
[セキュリティグループを削除]をクリックして、削除する。
キーペアの削除
EC2のサービスに移動して、キーペアをクリック。
対象のキーペアを選択して、[アクション]から[削除]をクリック。
この段階で、ダウンロードしてきたpemキーも削除してしまって大丈夫です。
以上で今回作成したリソースの削除が完了になります。
まとめ
今回はEC2を使って、簡単なWEBサイトを構成するしてみました。
簡単な手順でしたが、これだけでも個人的には学ぶことがたくさんありました。
AWSの学習において、座学ばかりではなく、実際に触ってみることで理解度が格段にUPすると思っています。
みなさん、もう知っているかもしれませんがAWSが提供するハンズオンとして、こちらにも取り組むこともお勧めします。
初心者向けではありますが、より本格的なAWSサービスの構築が学習できるかと思います。
最後に、あくまで個人の勉強用で取り組んだものなので、間違えている箇所等もあるかもしれませんが、そこはAWS公式のHPなどと照らし合わせて学習してみてください。
質問やご指摘もお待ちしてます~。
Discussion