*WEBサーバー用EC2の起動からWEBページの表示までの続き
アプリケーションデプロイ用の基本構成のEC2インスタンス起動方法についてメモ
簡単なことですが、たまに不安になるので。
VPC内に、パブリックサブネットにWEBサーバー用のEC2と
プライベートサブネットDBサーバー用のEC2を構成していきます
事前準備
VPC
WEBサーバーのインスタンスを起動したときVPCを用意(何用かわかりやすい名前を付けましょう)
サブネット
WEBサーバーのインスタンスがるVPCにプライベート1aを用意
(冗長構成用にプライベート1cがあってもなくても)
DBサーバー用のインスタンス起動設定
インスタンスタイプの選択
無料利用枠のt2.micro
インスタンスの詳細設定
ネットワーク:事前に用意したデフォルトのものではないVPC
サブネット:プライベートサブネット1a
自動割り当てパブリックIP:無効
タグの追加
キー:Name
値:[アプリ名]-DBserver-1a
セキュリティグループの設定
セキュリティグループの割り当て:新しいセキュリティグループを作成する
セキュリティグループ名:[アプリ名]-DBserver-sg
説明:[アプリ名]-DBserver-sg
ルールの追加:MySQL/Aurora 0.0.0.0/0
ファイルを更新するためにNATゲートウェイを作成
VPC→NATゲートウェイ を選択
NATゲートウェイを作成 を押す
名前:わかりやすいもの
サブネット:パブリック1a
ElasticIPを割り当てる
作成 を押す
プライベートのルートテーブルを通す
サブネット→プライベート1a→ルートテーブルタブ→ルートテーブル→
ルートタブ→ルートを編集 を選択
(バックホールになっているものがあったら削除)
ルートを追加 を選択
送信先:0.0.0.0/0
ターゲット:つくったNATゲートウェイ
MYSQLをインストール
インスタンスにSSHで接続する
*パブリックサブネットのインスタンスからプライベートサブネットのインスタンスに入る
*WindowsはTeraTermなどを起動
*パブリックサブネットにあるインスタンスのパブリックIPv4アドレスをコピー
*ホスト(T):[インスタンスのIPv4アドレス]
*ユーザー名:ec2-usr
*RSA/DSA/ECDSA/ED25519鍵を使う
*インスタンスを起動したときにダウンロードしたキーペアを選択
プライベートサブネットのインスタンスに入っていく
sudo su
vi myprivatekey.pem
*キーペアの内容を入力し保存
chmod 400 myprivatekey.pem
ssh ec2-user@[プライベートインスタンスのIPアドレス] -i myprivatekey.pem
yes
MYSQLをインストールする
sudo su
yum update -y
yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm -y
↑公式サイトでOS等を確認
yum install mysql-community-server -y
MYSQL起動
systemctl start mysqld
インスタンスが起動されるとmysqldも起動させるようにする
systemctl enable mysqld
データベースを作成してみる
MySQLにアクセスするパスを作成する
cat /var/log/mysqld.log | grep localhost
一時ユーザーのパスワードが発行される(赤字の右)
mysql -u root -p
発行されたパスワードを入力しエンター
*パスワードを変更
alter user root@localhost identified by '一時発行パスワード';
create database test;
show databases;
NATゲートウェイを削除
MySQLの設定が終わったらNATゲートウェイを削除して、
ElasticIPも削除する