AWSでWEB3層の環境構築に挑戦。
とりあえず、作りたい環境は以下の図のような感じ。
APサーバの/etc/hostsかtomcatのserver.xmlを更新することによって、
参照するDBがMySQL1からMySQL2に切り替わるかを検証したい。
◆VPC
⑴VPCの作成
サービスから[VPC]を選択。
左ペインの[VPC]から[VPCを作成]。
※VPCダッシュボードからウィザードでの作成もできるみたいだ
サブネットは172.16.0.0/20とした。
⑵サブネットの作成とVPC関連付け
左ペインの[サブネット]から[サブネットを作成]。
先ほど作成したVPCを選択。
アベイラビリティゾーンは東京リージョン1aを選択。
サブネットは172.16.1.0/24とした。
◆インターネットゲートウェイの作成
左ペインの[インターネットゲートウェイ]から[インターネットゲートウェイの作成]。
作成したら、VPCに関連付けする。
現状ここまでできた。
◆ルートテーブルの作成と関連付け
左ペインの[ルートテーブル]から[ルートテーブルの作成]。
名前つけて、VPCに関連付けする。
ルートテーブル(箱)ができたら、中身を編集する。
[ルート]タブから[ルートの編集]
送信先にすべてのネットワーク(0.0.0.0/0)を入力し、ターゲットには作成したインターネットゲートウェイを選択する。
次はルートテーブル(箱)とサブネットを関連付けさせる。
[サブネットの関連付け]タブの[サブネットの関連付けの編集]から、
ルートテーブルとサブネット(パブリック)を関連付けする。
現状を絵で表すとこんな感じになる。
◆EC2インタンスの作成
土台ができたので、仮想サーバを立てる。
AWSマネージメントコンソールのサービスから[EC2]を選択。
※上記までの手順で[VPC]を開いているため、ブラウザの別タブで開くことをおすすめする。
左ペインの[インスタンス]から[インスタンスの起動]。
無料枠のAmazon Linux2を選択。
インスタンスタイプは無料枠のt2microを選択して、次のステップ。
ステップ3では以下の項目を変更し、次のステップ。
・ネットワーク項目では作ったVPCを関連付けする
・サブネット項目も同様に作ったPublic-subnetを関連付けする
・自宅PCからsshするため、自動割り当てパブリックIPを有効
・終了保護の有効化はチェックをしておく(※AWSにおいて、インスタンスの終了=破壊なので要注意)
ステップ4ではEBS(EC2インスタンスのディスクにあたり、ネットワーク経由で保存データにアクセスしている)は汎用SSD 8Gのまま。
[終了時に削除]にチェックが入っていないと、インスタンスを消したあともEBS分で課金されるので要注意。
タグにはNameキーで"WEB用"とつけておく。
名前つけておかないと、インスタンスが増えてきたときに意味不明になる。
セキュリティグループでは、新しいセキュリティグループを作成し、名前もわかりやすいのをつけておく。
※セキュリティグループの名前は作成後に変更できない仕様。代替手段として、セキュリティグループをコピーして別名で新規作成するしかない。
ここではWEBサーバ用なので、以下プロトコルをフルオープン(0.0.0.0/0)で開ける。
・HTTP(80)
・HTTPS(443)
・SSH(22)
・ICMP(疎通確認ping用)
最後にキーペアを新規作成して、ダウンロードする。
※EC2インスタンスにアクセスする際に必要になるため、大事に保管する。紛失しても何とかなるが。
⑥SSHでEC2インスタンスにアクセス
TeraTermで、ホスト名にEC2のパブリックIPアドレスを入力し、SSH接続する。
※パブリックアドレスはEC2インスタンスの[詳細]タブから確認できる
AmazonLinuxの初期ユーザはec2-user
※OSによりAWSでの初期ユーザが異なるため注意
ディストリビューション/初期ユーザ
Ubuntu Ubuntu
RHEL ec2-user
CentOS centos
秘密鍵の項目で、先ほどダウンロードしたキーペアを選択することで、EC2インスタンスへSSH接続ができたことが確認できた。
長くなってしまったので、初回はここまでで一回切る。
次回は、プライベートサブネットに配置予定のAPサーバ/DBサーバのEC2インスタンスを構築。
WEBサーバにはnginxのインストールとnginx.confの作成。
APサーバにはtomcatのインストールとMySQLドライバーのインストール。
DBサーバにはMySQLのインストールをしたいと思う。
次回で全部できるかな・・・
つづく
https://qiita.com/shinichi_yoshioka/items/e358f57a3ecb7735c091