AWSを学んで1時間目ぐらいの方向けの記事です。
EC2のみを使ってhtmlをデプロイします。
準備するもの
適当なhtmlファイル(友人、知人を驚かせるために凝った仕掛けを入れるのもありですね~)
AWSでインスタンスを起動する
AWSのアカウントは作成済みの段階で、rootユーザー以外のアカウントで実施するようにしましょう。
まず、コンソールにサインインすると上の方に検索バーがあるので、EC2と検索します(EC2が最初の画面で見つかればそちらから入れます)。オレンジ色のボタンで「インスタンスを起動」を押下。
そもそもEC2、インスタンスとは...
EC2は仮想サーバーのことで、インスタンスはEC2を利用して作成された1台の仮想サーバーのことです。
次のページでは立ち上げるインスタンスの設定をします。
AMI (Amazon Machine Image): Amazon Linux 2
インスタンスタイプ: t2.micro
キーペア: 新規作成("first_ec2"と名前を付けて.pemを設定し、作成します。自動で秘密鍵がダウンロードされますので、わかりやすいところに保存しましょう。)
セキュリティグループ: 新規作成(SSH トラフィックを許可)
設定したら起動します。
・AMIとは(小さな宇宙人の方ではないです笑)、サーバーのOSのことです。
・キーペアとは、SSHの公開鍵と秘密鍵のペアのことです。SSH接続では公開鍵をEC2インスタンスに保存し、ローカルPCに秘密鍵を保存しておきます。接続時、秘密鍵を使用し、接続します。接続するとローカルPCからEC2インスタンスを操作できます。
・セキュリティグループとは、インスタンスへのインバウンド(受信)とアウトバウンド(送信)の通信を管理したり、特定のポート(例: SSHは22番、HTTPは80番)を許可するルールを設定します。
ローカルPCからSSHでEC2インスタンスに接続する
ターミナルを起動します。
ここで、先ほど立ち上げたインスタンスのパブリックIPをコピーします。
以下を実行
ssh -i "first_ec2.pemのフルパス" ec2-user@"インスタンスのパブリックIP"
sudo yum update -y
sudo yum install -y httpd
sudo systemctl enable httpd # 自動起動設定 (Amazon Linux)
サイトのファイルを配置します
scp -i "first_ec2.pemのフルパス" -r "用意したhtmlのフルパス" ec2-user@"インスタンスのパブリックIP":/tmp
sudo mv /tmp/your-site-files/* /var/www/html/
sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www/html
このとき、EC2インスタンスと接続がされているか確認してください。接続されていると[ec2-user@ip-xx-xx-xx]のように表示されています。
以上が完了し、http://パブリックIP/に接続するとhtmlが表示されます。
作成したものが、スマホでも、誰のデバイスからも見れるというのは感動します。。。
ぜひお試しください~