本駄文は、
https://qiita.com/gbf_abe/items/5c8cbf4acd9b452a7d7f
の続きです。
EC2にSSH接続しよう
EC2の構築が完了したので、Apacheをインストールしましょう。
macのTerminalからSSH接続をしてみます。
①作成したインスタンスを選択し、「ネットワーキング」タブ>「パブリックIPv4アドレス」からIPアドレスを確認します。
②確認したIPアドレスを用いて、EC2にSSH接続をしましょう。
③MacのTerminalを起動します。コマンドラインに
ssh -i <作成したキーペア名> ec2-user@<確認したホスト名>
と入力します。
なんか色々聞かれますが、「yes」と入力してください。
結構詰みがちなので、想定通りいかなかったらこのへん読んでみてください。
・https://qiita.com/yutasb/items/f30938a0870d8322bde2
・https://qiita.com/gbf_abe/items/b9c906232f3371dea0fe
さりげなく自分の記事を紹介するスタイル
Macでデスクトップにキーペアをダウンロードした場合、
cd desktop
でデスクトップのディレクトリに移動しておいて
ssh -i <キーペア名> ec2-user@<確認したIPアドレス>
という手順でもSSH接続できます。カレントディレクトリにpemファイルがあればOK
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '<キーペア名>' are too open.
とか言われると思うので、
chmod 400 <キーペア名>
で権限を最小限にしておきましょう。これでSSH接続できるはずです。
Apache インストール
EC2へのSSH接続が完了したら、EC2にApacheをインストールします。
sudo yum -y install
と入力すれば、数秒でインストールが完了します。
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
上記のコマンド入力で、Apacheを起動し、自動起動を有効にします。
Apacheが有効になっているかは、
sudo systemctl list-unit-files -t service |grep httpd
で確認ができます。
httpd.service enabled
上記のような状態になっていれば、完了です。
事前準備
「VPC」>「サブネット」で構築したサブネットのAZ(アベイラビリティーゾーン)を確認します。
プライベートサブネットの構築
「VPC」>「サブネット」>「サブネットの作成」でプライベートサブネットを構築します。
アベイラビリティーゾーンは事前準備で確認したパブリックサブネットのAZを指定しましょう。
VCPは作成したVPCを指定しましょう。(画像バカでけえな...)
EC2 構築
①「EC2」>「インスタンス」>「インスタンスを起動」を選択します。
②マシンイメージは「Amazon Linux 2 AMI(HVM),SSD Volume Type」を選択します。
④「ネットワーク」は構築したVPCを選択します。
「サブネット」は構築したプライベートサブネットを選択します。
「自動割り当てパブリックIP」は「(無効化)」を選択します。
「キャパシティーの予約」は「なし(画像は設定値ミスってますが)」を選択します。
⑤「ネットワークインターフェイス」>「プライマリIP」には「10.0.2.10」と入力します。
⑥ストレージは、既定値のままでOKです。
⑦「タグの追加」は「キー」に「Name」,「値」に「DB_server」と入力します。(任意の名前でいいです)
⑧「セキュリティグループの設定」
「セキュリティグループの割り当て」は「新しいセキュリティグループを作成する」を選択します。
「セキュリティグループ名」に「DB_SG」と入力します。
「タイプ」は「SSH(規定値)」と「MYSQL/Aurora」を選択し、「MYSQL/Aurora」の「ソース」は「任意の場所」を選択します。
「MYSQL/Aurora」のタイプを追加するには「ルールの追加」をクリックすればOKです。
⑦キーペアは既存の物を使いましょう。
「既存のキーペアの選択」を選択し、「キーペアの選択」でWebサーバのEC2構築時に使ったキーペアを選択します。
scpコマンドによるwebサーバへのファイル転送
MACのターミナルからscp
コマンドを使用してファイルを転送します。
カレントディレクトリあるpemファイルをホームディレクトリにコピーします。
scp -i practice_key.pem ec2-user@(webサーバのIPアドレス):~/
上記のコマンドを実行することで、webサーバへのファイル転送が行われました。
DBサーバへのSSH接続
(webサーバ上で)下記コマンドを実行します。
chmod 400 practice_key.pem
ssh -i practice_key.pem ec2-user@10.0.2.10
なんかメッセージが出るはずなので、「yes」と入力します。
https://aws.amazon.com/amazon-linux-2
[ec2-user@ip-10-0-2-10 ~]$
上記のような画面が出ていれば成功です。
NATゲートウェイの構築
①「VPC」>「NATゲートウェイ」>「NATゲートウェイを作成」をクリックします。
②「Name」に任意の名前を指定します。
「サブネット」はパブリックサブネットを指定します。
「Erastic IP 割り当て ID」は「Elastic IPの割り当て」を選択すると自動でIPアドレスが割り当てられます。
「NATゲートウェイの作成」をクリックします。
ルートテーブルの更新
NATゲートウェイが構築できたので、プライベートサブネットのルートテーブルを更新します。
※事前準備:構築したNATゲートウェイの「NATゲートウェイID」を確認しておきます。
①「ルートテーブル」をクリックします。
②メインが「はい」になっているものを選択します。
③「ルートの追加」をクリックし、「送信先」に「0.0.0.0/0」と入力します。
④「ターゲット」には事前準備で確認したNATゲートウェイIDを選択します。
⑤「ルートの保存」をクリックして構築完了です。
DBサーバにMariaDBをインストール
DBサーバにMariaDBをインストールします。
前回やったような手順で、DBサーバにSSH接続をします。
(DBサーバ上の手順)
sudo yum -y install MariaDB-server
sudo systemctl start mariadb
mysqladmin -u root password
New password: (任意のパスワード)
confirm new password (先ほど入力した任意のパスワード)
mysql -u root -p
Enter password: (設定した任意のパスワード)
CREATE DATABASE wordpress DEFAULT CHARACTER SET UTF8 COLLATE utf8_general_ci ;
grant all on wordpress. * to wordpress@"%" identified by 'wordpresspasswd'
flush privigeges ;
exit ;
(自動起動設定)(DBサーバ上で)
sudo systemctl enable mariadb
PHPインストール
sudo amazon-linux-extras install php7.3
sudo yum -y install php php-mbstring
mysql -h 10.0.2.10 -u wordpress -p
exit
wordpressインストール
cd ~
wget https://ja.wordpress.org/latest-ja.tar.gz
tar xzvf latest-ja.tar.gz
cd wordpress
sudo cp -r * /var/www/html/
sudo chown apache:apache /var/www/html -R
設定
sudo systemctl start httpd
wordpressの初期設定
①WebサーバのパブリックIPアドレスをブラウザに入力(EC2>インスタンス>Web_server)
②「さあ、始めましょう!」をクリック
③データベースを設定します。
設定項目 | 設定値 |
---|---|
データベース名 | wordpress |
ユーザー名 | wordpress |
パスワード | wordpresspasswd |
データベースのホスト名 | 10.0.2.10 |
テーブル接頭辞 | wp_(デフォルト) |
④「インストール実行」ボタンを押下
⑤「必要情報」を入力します。
めちゃくちゃ個人情報載せちゃってるので画像は割愛します...
設定項目 | 設定値 |
---|---|
サイトのタイトル | あべのポトフォ(任意でいいです) |
ユーザー名 | 任意(adminとか) |
パスワード | 任意(ランダムに設定されるが変更可能) |
メールアドレス | 任意のメールアドレス |
↑こんな感じの設定値でいいんじゃないかな
⑥「wordpressをインストール」を押下します。
⑦完成!!!!!!
おつかれ!!!!!
煩わしいパラメータシートがない分だいぶ見やすいと思う、参考になれば幸いです。
参考文献
Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版
https://amzn.to/3mqfImv