taisablog

taisa's engineer blog

「 月別アーカイブ:2020年09月 」 一覧

no image

【15分でできる】EC2(Web+DB)ネットワーク構築 〜画面ポチポチ〜

2020/09/02   -未分類

最近EC2を使うケースは少ないですが、まずは基本としてオーソドックスなEC2+ネットワーク構築の流れをまとめました。 VPCを作成する IPv4 CIDERブロックを「10.0.0.0/16」にしてVPCを作成します。 DNSホスト名を利用するのでVPCのDNSホスト名をONにします。 パブリックサブネットを作成する 作成したVPCを選択し、IPv4 CIDERブロックを「10.0.1.0/24」にして作成します。 プライベートサブネットを作成する 作成したVPCを選択し、IPv4 CIDERブロックを「10.0.2.0/24」にして作成します。 インターネットゲートウェイを作成する 作成したインターネットゲートウェイをVPCにアタッチします。 VPCにパブリックルートテーブルを作成する 作成したVPCにパブリックルートテーブルを作成します。 作成したパブリックルートテーブルに「サブネットの関連付け」からパブリックサブネットを関連付けます。 パブリックサブネットに関連づけたルートテーブルのルートを編集し、送信先を「0.0.0.0/0」としターゲットにインターネットゲートウェイを設定します。 WebサーバーとしてEC2を作成する 作成した VPCを設定とパブリックサブネットを設定します。 IPはパブリックサブネット内の「10.0.1.10」を割り当てます。 「セキュリティグループ」をソース「カスタム」で「0.0.0.0/0」にして作成します。EC2インスタンスが作成できたらElasticIPを関連付けます。 鍵を取得してEC2にSSHアクセスする # 例 $ chmod 400 ~/.ssh/my-key.pem $ ssh -i ~/.ssh/my-key.pem ec2-user@ec2-xx-xx-xx-xx.ap-northeast-1.compute.amazonaws.com Nginxをインストールする # インストール $ sudo yum -y install nginx # サービス起動 $ sudo service nginx start # 自動起動ON $ sudo chkconfig nginx on セキュリティグループ(ファイアウォール)を設定する 「インバウンドルール」にHTTP(80ポート)で「0.0.0.0/0」を設定しWebからのアクセスを許可します。 「パブリック DNS」でブラウザからアクセスができることを確認します。 DBサーバーとしてEC2を作成する 作成したVPCとプライベートサブネットを設定します。パブリックIPは不要なので自動割り当てパブリックIPを無効化します。 内部IPをプライベートサブネット内の「10.0.2.10」に設定します。 プライベートサブネットからしかアクセスしないので「セキュリティグループ」をソースカスタムで「SSH」と「MySQL/Aurora」にパブリックサブネット「10.0.1.0/24」を指定します。 Webサーバーに秘密鍵(my-key.pem)を送り、WebサーバーからDBサーバーにアクセス可能にします。 # 秘密鍵をWebサーバーに送る $ scp -i ~/.ssh/my-key.pem ~/.ssh/my-key.pem ec2-user@ec2-18-178-132-45.ap-northeast-1.compute.amazonaws.com:~/.ssh/ # Webサーバーアクセス $ ssh -i ~/.ssh/my-key.pem ec2-user@ec2-18-178-132-45.ap-northeast-1.compute.amazonaws.com # 権限変更 $ chmod 400 ~/.ssh/my-key.pem # DBサーバーアクセス $ ssh -i ~/.ssh/my-key.pem ec2-user@10.0.2.10 パブリックゲートウェイにNATゲートウェイを作成する DBサーバーにMySQLをインストールするためにパブリックサブネットのNATゲートウェイを通してインターネットへ接続可能にします。 メインのルートテーブルに送信先「0.0.0.0/0」としてNATゲートウェイを設定します。 MySQLをインストールする # インストール …