Webサーバーをパブリックサブネット内に構築

以下のアーキテクチャのInstanceの部分を作成します。


EC2インスタンスの起動

基本的にはこちらを参照してください。ここでは注意が必要な部分を記載していきます。


名前とタグ

今回は分かりやすく、「Web-1a」としました。


ネットワーク設定

今回はvpcの作成で作成したVPC 「Test-VPC-001」とパブリックサブネットの作成で作成したサブネット 「Test-public-subnet-1a」を使用します。また新しいセキュリティグループを作成し、sshとHTTPを許可します。

  1. vpcの作成で作成したVPC 「Test-VPC-001」を選択します。
  2. パブリックサブネットの作成で作成したサブネット 「Test-public-subnet-1a」を使用します。
  3. 「有効化」を選択。

ファイアウォール(セキュリティグループ)

  1. 「セキュリティグループを作成」を選択します。
  2. 任意のセキュリティグループ名を入力します。今回は「Test-web-security-group」としています。
  3. セキュリティグループの説明を入力します。

インバウンドセキュリティグループのルール

  1. タイプ–>sshを選択します。
  2. ソースタイプ–>任意の場所を選択します。
  3. 「セキュリティグループのルールを追加」をクリックします。

新しいルールを追加する箇所が表示されるので、以下の[4][5]を設定します。

  1. タイプ–>HTTPを選択します。
  2. ソースタイプ–>任意の場所を選択します。

その他の項目は以前作成したインスタンスと同じしてインスタンスを起動させましょう。


OSの設定

ホスト名の変更

  1. ホスト名を変更します。
sudo hostnamectl hostname Test-web-1a

  1. hostsファイルにも新しいホスト名を追記します。
sudo vim /etc/hosts

以下のようにループバックアドレスに新しいホスト名を追記します。


ロケールの設定

言語がデフォルトで「LANG=C.UTF-8」となっているので、「ja_JP.UTF-8」に設定します。

  1. 現在の言語を確認します。
localectl status

  1. 言語の変更
sudo localectl set-locale LANG=ja_JP.UTF-8

  1. 変更後の言語の確認
localectl status

ja_JP.UTF-8となっていることが確認できればOKです。


タイムゾーンの変更

  1. 現在のタイムゾーンを確認します。
timedatectl status

Time zone: n/aとなっています。


  1. タイムゾーンを変更します。
sudo timedatectl set-timezone Asia/Tokyo

  1. 変更後のタイムゾーンの確認
timedatectl status

Time zone: Asia/Tokyo (JST, +0900) となっていることが確認できればOKです。


パッケージのインストール

  1. インストール済みのパッケージを最新版にアップデートする
sudo yum update -y

  1. Apacheをインストールします。
sudo yum install -y httpd

  1. PHPをインストールします。
sudo yum install -y php php-mysqlnd php-mbstring php-pdo

  1. MariaDBとGitをインストールします。
sudo dnf install -y mariadb105 git

ApacheとPHPの設定

Apache

  1. Apacheの設定ファイルを編集します。
sudo vim /etc/httpd/conf/httpd.conf

「DirectoryIndex」にindex.phpを追記します。


また「ServerName」にホスト名の変更でつけたホスト名を記載します。


  1. コンフィグファイルの設定が正しいか確認
apachectl configtest

「Syntax OK」と表示されればOKです。


  1. ApacheがOS起動時、自動で起動するようにし、Apacheを起動させます。
sudo systemctl enable httpd && sudo systemctl start httpd

PHP

  1. 設定ファイルを編集します。
sudo vim /etc/php.ini

Dynamic Extensionsの下あたりに「extension=mbstring」を追記します。


  1. Githubからサンプルプログラムを取得します。
git clone https://github.com/cloudopslab001/XX-steps-AWS.git

  1. サンプルプログラムをApacheのルートディレクトリにコピーします。
cp -p XX-steps-AWS/01/index.php /var/www/html/ cp -rp XX-steps-AWS/img/ /var/www/html/

  1. http://<EC2インスタンスのパブリックIP>にブラウザからアクセスし、以下のページが見えればOKです。

コメント

タイトルとURLをコピーしました