
Amazon EC2でウェブサーバを構築
EC2はAmazon Elastic Compute Cloudの略でクラウド上に仮想のPCを立ち上げるAWSの中でも基本的なサービスだ
ウェブサーバーをAWS上で構築するならより安価で柔軟な方法がいくつかあるがAWSの基礎を学ぶには良い題材だと思う
今回はEC2にapacheをインストールしてhttp接続ができるところまで進める
ローカル環境はWindows11、起動したEC2インスタンスへSSH接続をするツールはPuTTyを使う
大まかな流れ
VPCの準備
EC2インスタンスの立ち上げ
PuTTYでEC2に接続
Apache(HTTPD)のインストール
VPCの準備
EC2インスタンスを起動するにはVPCが必要になる
AWSのアカウントを作ればデフォルトのVPCは自動的に作られているのでそれを利用してもよいし新たに作り直してもよい
以下の記事はVPCの作成法を書いている
ちなみにリージョンは東京の前提で作業を進めている
EC2インスタンスの立ち上げ
AWSコンソールにログインしてEC2サービスにアクセス

[インスタンスを起動]を選択

インスタンス名を入力
名前:MyWebServer(任意の名前)

マシンイメージ:Amazon Linuxs2
Architecture:64ビット(x86)
何を選んでも動くとは思うけど今回はデフォルトのままに

インスタンスタイプ:t2.micro
デフォルトのまま

キーペアの選択
[新しいキーペアの作成]を選択して新規作成

キーペア名を入力、今回は MyWebServerKey と命名
PuTTYを使う前提なのでファイル形式に .ppkを選択
[キーペアを作成]
MyWebServerKey.ppkがダウンロードされるので大事に保存しておく

生成したキーペアを選択

ネットワーク設定の [編集]を押して値を編集する
ネットワーク:用意したVPCを選択
サブネット:指定なし
パブリックIPの自動割り当て:有効化
ファイアウォール:セキュリティグループを作成する
SSHトラフィックを許可:チェック
インターネットからのHTTPSトラフィックを許可:チェック
インターネットからのHTTPトラフィックを許可:チェック

ストレージ設定はデフォルトのまま

[インスタンスを起動]

立ち上がったEC2インスタンスを確認するためには
EC2ダッシュボードからインスタンスを選択

インスタンスIDであるところのi-xxxxxxxxxxxを選択すると

インスタンスの詳細を確認することができる
パブリックIPアドレスは接続の際に必要になる

PuTTYでEC2に接続
PuTTYとはSSH接続に対応したtelnetクライアントアプリ
ここからダウンロードしてアプリをインストールする
起動するとこんな画面

Host Name(or IP address)にec2-user@パブリックIPアドレスと入力
今回の場合は ec2-user@13.230.177.164
ec2-userというのはインスタンスのOSにAmazonLinuxを選択した場合の
デフォルトのルートユーザー名になる
次に左のツリービューからConnection-SSH-Authを選択
Private key file for authenticationに
作成しておいたキーファイル(MyWebServerKey.ppk)を選択

左のツリービューから一番上のSessionに移動し
Saved Sessionsのしたに名前を入力(MyWevServer)して
[Save]ボタンを押して設定を保存しておく
2度目以降はMyWevServerを選択して
Loadすればいつでも設定を読み込めるようになる

[Open]を選択
最初1度だけ警告がでるが気にせず[Accept]

EC2インスタンスに起動接続できた

Apache(HTTPD)のインストール
ここからはPuTTYのコンソール上での作業
yumを更新する
ちなみにyumはLinuxのRedHat系ディストリビューション(CentOSやFedoraなど)で利用されるパッケージ管理ツール
updateで最新のパッケージ情報に更新する
sudo yum update
途中で確認が入るのでyを選択してEnter

httpdをインストールする
sudo yum install httpd
インストールが完了したら起動する
sudo service httpd start
ここで動作確認
ブラウザ上でhttp://パブリックIPアドレス
にアクセスしてみる
今回の場合は http://13.230.177.164
https接続はまだ非対応なのでhttp://と明記しないとつながらない
成功すればこんなページがでる
