1 VPCの作成
テナンシーとは、、、
物理的なハードウェアをほかのユーザーと共有せず、占有して仮想マシンを起動できる。
EC2→仮想マシンを作成するサービス。
2 サブネットの作成
サブネットでは、パブリックIPv4の、アドレスの自動割り当てを有効にしない。
3 EC2インスタンスの作成
テナンシーは「共有」にしておく→余計な費用をかけない。
EC2インスタンスに於いて(WEBサーバーとして使用する)IPv4アドレスの自動割り当てを設定しておく。
セキュリティーグループは、インスタンス(仮想マシン)のトラフィックを制御するファイアウォールのルールセット。
デフォルトでは、ポート22,SSH接続のみ許可されている。
EC2インスタンス接続用の、キーペアが発行される。ダウンロードして保管。
ssh -i →認証に使用する秘密鍵を渡す。認証鍵の.pemファイルのパスを指定する。
ec2-user →ユーザー名は自動的にec2-userとなる。@以下が、ec2インスタンスのパブリックIP
現在の構成のままでは、SSH接続ができない。
ネットワークの構成を変更する。
VPCのサブネットから、インターネットに出るための経路が存在していないから。
7 サブネットのルートテーブルを変更してInternet-gatewayへのルートを追加する。
デフォルトの状態
0.0.0.0/0 ターゲットを、インターネットゲートウェイにする。
8 セキュリティーグループの作成
設定頻度が高い
EC2インスタンスへ、入ってくる通信(inbound traffic)、出ていく通信(outbound traffic)に対して、どのような形式を許可するのかを定義する。
インスタンスの用途に応じて作成する。
作成するセキュリティーグループは、複数のインスタンスに適用できる。
また、サブネットをまたいで設定することも可能。
外部から、セキュリティーグループに入ってくる通信→インバウンドトラフィック
セキュリティーグループから出ていく通信→アウトバンドトラフィック
*** ステートフル**************************************
通信の行きと戻りの対応を保持すること。
戻りの通信は自動的にファイアウォールを通過できる
**********************************************************
EC2インスタンスから、出ていった通信の戻りは、自動的に許可されるので、
通信がブロックされることはない。
9 EC2インスタンスにSSH接続して、ngixやapacheのパッケージを インストールする
これらの作業は、「ec2-user」という名前のデフォルトで設定されているアカウントではできない。管理者権限でのみ、実行できる。
インスタンスの起動に使用される AMI のデフォルトユーザー名= ec2-user
sudo
sudoコマンドとは?
「sudo コマンド」と指定することで、「スーパーユーザー(rootユーザー)」の権限が必要なコマンドをsudoコマンド経由で実行させることができます。ただし、sudoコマンドの実行には「sudoers」の設定が必要になります。
同じような用途のコマンドに「su」(本連載第68回参照)があります。rootのパスワードが必要となるsuコマンドとは違い、sudoコマンドは、パスワードなしで実行できるように設定したり、sudoコマンドを実行するユーザー自身のパスワードでコマンドを実行させたりすることができます。
apacheをインストールする。
sudo amazon-linux-extras list →インストール可能なパッケージを表示する
sudo amazon-linux-extras install httpd_modules インストールする
sudo systemctl start httpd_modules 起動する
sudo systemctl status httpd_modules 状態の確認
10 セキュリティーグループの修正
SSHとHTTPの通信が、EC2インスタンスで許可されています。
11 ネットワークACL(アクセスリスト)
セキュリティーグループは、EC2インスタンスに対するファイアウォール
ネットワークACLは、サブネットに対する、ファイアウォール。
ステートレス。インバウンド、アウトバウンド両方について設定する。
Internet Assigned Numbers Authority (IANA)は次の三つのIPアドレス空間
ブロックをプライベートインターネットのために予約している。
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
VPCのルーター (一番外側のルーター)
** インターネットゲートウェイを設置(VPCの画面から作成)
** VPCにアタッチする
サブネットのルーター
** 暗示的なルーターで、サブネットを作成すると、自動的に VPCの中に設置
** インターネットゲートウェイへのルートを追加する(ルートテーブルを作成)
ターゲット=インターネットゲートウェイへのルートを作成する。(ルートを追加)
VPCのセキュリティー機能
セキュリティーグループ
インスタンス(仮想サーバー)に設置
ファイアウォールの機能
EC2インスタンスに設定する
ステートフルである
ネットワークACL
VPCのサブネットを作成すると、ルーターは暗示的に作成される。
VPCのサブネットから、インターネットに出る経路(インターネットゲートウェイ)は存在していない。
サブネットに、インターネットゲートウェイを作成する。
****-gw