🔰

[AWS]はじめてのWebサーバー構築

に公開

はじめに

Fusicのレオナです。本記事では、AWS上にWebサーバー環境を構築するための基本手順について、初めての方でも理解しやすいよう画像を用いながら解説します。

構成

今回構築するWebサーバーの全体アーキテクチャを示しています。

手順

1. VPC作成

ステップ1

AWSマネジメントコンソールの検索バーに「VPC」と入力し、VPCサービスの設定画面に移動します。

ステップ2

下記の画像の通り、必要なパラメータを入力して新規VPCを作成します。

VPCが作成されると、以下の構成図にあるネットワークの基盤が作成されます。なお、今回RDSを使用するため、AZは2つ以上利用できるように設定してください。

2. セキュリティグループ作成

EC2用セキュリティグループ

  • AWSマネジメントコンソールの検索バーに「EC2」と入力し、左サイドバーから「セキュリティグループ」を選択します。

  • 設定内容:

    • VPC: 先ほど作成したVPCを選択。
    • インバウンドルール:
      • SSH (ポート22): 自身の「マイIP」からの接続のみを許可。
      • HTTP (ポート80): 0.0.0.0/0に設定。
    • アウトバウンドルール: 初期設定のまま全通信を許可。

以下の画像のような構成が作成されました。

RDS用セキュリティグループ

  • 設定内容:
    • インバウンドルール:
      • PostgreSQL (ポート5432): 接続元として、先ほど作成したVPCのCIDR(例: 10.0.0.0/24)を指定します。
    • アウトバウンドルール: デフォルト設定(全通信許可)をそのまま使用します。

以下の画像のような構成が作成されました。


3. EC2作成

ステップ1

左サイドバーから「インスタンス」を選択します。

ステップ2

「インスタンスを起動」ボタンをクリックし、新規インスタンス作成の設定画面に入ります。

  • ネットワーク設定:

    • 作成済みのVPCを選択します。
    • サブネットは「public」と表記されているものを選び、インターネット接続が可能な状態にします。
    • パブリックIPの自動割り当て: 有効にすることで、外部から直接アクセスできるように設定します。
  • セキュリティグループ:
    先に作成したEC2用セキュリティグループを選択してください。

ステップ3

「キーペア(ログイン)」の設定画面で、新規キーペアを作成します。キーペアはSSH接続時の認証に必要になります。

ステップ4

全設定を確認後、「インスタンスを起動」ボタンをクリックし、EC2インスタンスの作成を完了させます。

以下の画像のような構成が作成されました。


4. RDS作成

ステップ1

AWSマネジメントコンソールの検索バーに「Aurora and RDS」と入力し、RDS設定画面に移動します。

ステップ2

「データベースの作成」ボタンをクリックし、データベースエンジンとしてPostgreSQLを選択します。



  • VPCは作成したtest-vpcを選択してください。
  • セキュリティグループを作成したtest-rds-sgを選択してください。

ステップ3

画像の設定例に従って必要項目を入力し、データベースの作成プロセスを開始します。

ステップ4

データベースのステータスが「作成中」から「利用可能」に変わるのを待ちます。完了後、RDSはEC2から接続できる状態になります。

以下の画像のような構成が作成されました。


5. EC2への接続

ステップ1

AWSマネジメントコンソールで「EC2」と検索し、作成済みのEC2インスタンスを選択します。

ステップ2

表示されるパブリックIPv4アドレス(例: 43.206.219.156)をコピーします。

ステップ3

作成したキーペアファイルが保存されているディレクトリでターミナルを開き、以下のコマンドを実行してください(Macの場合の例)。

ssh -i test-keypair.pem ec2-user@43.206.219.156

接続に成功すると、次の画像のように表示されます。


6. psqlクライアントのインストール

EC2インスタンス内で、以下のコマンドを実行してPostgreSQLクライアント(psql)をインストールします。

sudo dnf install postgresql17 -y

インストール後、以下のコマンドでヘルプが表示されれば、正常にインストールされています。

psql --help

表示例:

psql is the PostgreSQL interactive terminal.

7. DBの確認

ステップ1

再度、AWS管理コンソールの「Aurora and RDS」画面から、作成済みのデータベースを選択し、エンドポイントの値を確認します。

ステップ2

確認したエンドポイント、ポート番号、ユーザー名、データベース名を用いて、EC2上からpsqlで接続します。例として以下のコマンドを実行します。

psql -h test-postgres.c3o6smau4mta.ap-northeast-1.rds.amazonaws.com -p 5432 -U postgres -d postgres

パスワードを求められたら、作成時に設定したパスワードを入力してください。

8. テーブルの作成とデータ登録

テーブル作成

以下のSQLコマンドを実行して、employeesテーブルを作成します。

CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(10) NOT NULL
);

データの登録

次に、以下のSQLコマンドでテーブルにデータを登録します。

INSERT INTO employees (name) VALUES
('aaaaa'),
('aaaaa'),
('aaaaa');

登録データの確認

以下のSQLコマンドで、登録したデータのうち最初の1行を確認できます。

SELECT * FROM employees LIMIT 1;

表示例:

 id | name  
----+-------
  1 | aaaaa

以上で、AWS上におけるWebサーバー環境およびPostgreSQLデータベースの構築になります。

Fusic 技術ブログ

Discussion