AWS 勉強 #1
#インフラ #AWS
『Amazon Web Services 基礎からのネットワーク & サーバー構築 改訂版』 を読みながら初歩的なところから学んでる。 前に社内勉強会でも聞いた話が多いので、復習して定着させる + Terraform の設定ファイルを自分で書けるようになる、というところを目標とする。
今回は AWS コンソールからぽちぽちしていく。
はじめの一歩
とりあえず料金のアラームを設定。 ボタンをぽちぽち。
https://console.aws.amazon.com/billing/home?region=us-east-1#/
2 章 ネットワーク (Amazon VPC)
Amazon VPC : https://ap-northeast-1.console.aws.amazon.com/vpc/home?region=ap-northeast-1#
Amazon VPC とは : AWS のサービスのひとつ。 Amazon Virtual Private Cloud https://aws.amazon.com/jp/vpc/
仮想的なプライベートクラウドを構築できる。 このプライベートクラウドを VPC というぽい。
東京リージョンで VPC 作成。 ボタンぽちぽち。
VPC のネットワークで使用するアドレス範囲を CIRD ブロックで指定する。
インターネットで使われるパブリック IP アドレスと、自由に使用してよいプライベート IP アドレスがある。 192.168.0.0/16 とか 10.0.0.0/8 とかはプライベート IP アドレスの範囲。
アドレスの範囲の表記
CIRD 表記 : 192.168.0.0/16 みたいなの
この表記で表される範囲を CIRD ブロックという
サブネットマスク表記 : 192.168.0.0/255.255.0.0 みたいなの
サブネット作成
インターネットに公開するサブネットと、インターネットからは見えないサブネットに分ける。 セキュリティを高めるため。
ボタンポチポチでサブネットを作成。
インターネットゲートウェイを作成して、VPC にアタッチする。
VPC をインターネットに接続するために必要。
ルートテーブルの設定をする。
世の中的にはルーティングテーブルとも呼ばれる。
ルーターなどが、パケットをどのネットワークに送ればいいのかを判断するために使うデータ。
ディスティネーション (宛先 IP アドレス) から流し先のネットワーク (ターゲット; ネクストホップ) を決める。
Amazon VPC においては、VPC 全体やサブネットごとにルートテーブルを設定できる。
ネットワークの境界に仮想的なルーターが存在しているような感じで捉えると良さそう?
と思ったけど 10.0.0.0/16 の VPC の中で 10.0.1.0/24 のサブネットに 10.0.0.0/16 local なエントリが設定されている場合でもうまく動くから、サブネットの境界にルーターがあるような捉え方は違うのかな。
VPC にはデフォルトのルートテーブルが設定されていて、サブネットのデフォルトのルートテーブルは VPC のルートテーブルになっている。
ルートテーブルを新たに作成して、0.0.0.0/0 igw-xxxx なルートを新たに追加する。 igw-xxxx というのはインターネットゲートウェイ。
0.0.0.0/0 の設定は、デフォルトゲートウェイの設定。 デフォルトゲートウェイというのは、転送先が指定されていない場合のデフォルトの転送先。
今回の場合は、VPC 内のアドレスでなければインターネットゲートウェイに転送する、という感じ。
3 章 サーバーを構築する
EC2 : https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#
インスタンスを作成。 ぼたんぽちぽち
Amazon Linux AMI 2 ってやつ使ってみる。
詳細設定で VPC を指定したり IP アドレスを指定したり。
セキュリティグループを新しく作成して SSH 許可。
作成時にキーペアを保存!
起動ごとにパブリック IP アドレスが変化する。
起動したらさっきダウンロードした鍵を使って SSH 接続。
ユーザー名は ec2-user。
IP アドレスは AWS コンソール上で確認。
ルーター同士が通信してルートテーブルを変化させる仕組み : ルーティングプロトコル。
大きく分けて EGP (Exterior Gateway Protocol) と IGP (Interior Gateway Protocol)
前者は、ISP や AWS などのある程度大きなネットワークが持つ AS (Autonomous System) 番号をやりとりして、どのネットワークの先にどのネットワークが接続されているか、を大まかにやりとりする。
後者は、上述の内部のルーター同士のやりとり。
コマンド紹介
sudo lsof -i -n -P : 待ち受けてるポートとプロセスの一覧。