Day1: EC2インスタンスを起動して、SSHで接続。Nginxをインストールし、デフォルトページを表示する


【手順】

  1. AWSアカウントを新規作成し、AWSマネジメントコンソールの基本操作を習得
  2. Amazon Linux 2023 をベースにした EC2 インスタンス(t2.micro)を作成
  3. ローカルPCからSSHを使ってインスタンスに接続(.pemキー使用)
  4. インスタンス内にNginxをインストールし、Webサーバーとして構成
  5. Nginxを起動後、ブラウザからパブリックIPにアクセスして表示確認
  6. HTMLを用いた簡易Webサイト(Todoアプリ)を作成し、Nginx上でホスティング

【実施したこと】

ec2インスタンスを作成しました。

作成したインスタンスの概要画像

以下のコマンドを使って、EC2インスタンスにSSH接続しました。

SSH接続のスクリーンショット

以下のコマンドを使ってNginxをインストール・起動しました


          # Nginxのインストール               
          sudo yum update -y               
          sudo yum install nginx -y
          
          # Nginxを起動
          sudo systemctl start nginx         
          sudo systemctl enable nginx
        

【結果】

Nginxを正常にインストールし、ブラウザでEC2インスタンスのパブリックIPを入力すると、
nginxのデフォルトページが表示されました。

※スクリーンショットを撮り忘れたため、代わりに以下の画像を使用しています。

Nginxのデフォルトページ

【苦戦したこと】

SSH接続に時間がかかった

初めてSSH接続を試みた際、接続に時間がかかりました。原因はキーペアのフルパス指定がうまくいかなかったためで、正しいパスを指定することで解決しました。

タイムアウトエラー

接続時にタイムアウトが発生し、「Permission denied」エラーが表示されることがありました。

セキュリティグループの設定を再確認し、SSHポート22の許可が正しく設定されているかを見直しました。

自分のIPアドレス制限

当初、SSH接続用にセキュリティグループで自分のIPアドレス(xx.xx.xx.xx/32)のみを許可しましたが、CIDR記法やIPアドレスの取得ミスにより接続に失敗しました。

一時的な対応として 0.0.0.0/0 を許可することで接続を確認し、その後、正しいIPアドレスで再設定を行いました。

【今後の活用】

CIDR記法を正しく理解した上で、自分のIPアドレスを使用し、より安全なSSH接続を行っていきたいと考えています。