構成図を作成する際に行ったこと&学んだこと
①IPアドレスについて
②Laravelの.envファイルの中
③digコマンド
④RDSが属しているVPC
⑤AWSのイメージ
⑥Elastic IP
⑦IPv6アドレス
⑧S3
⑨route53
⑩IGW(インターネットゲートウェイ)
⑪lambda、codedeploy類
料金アラートの設定対策
EC2とRDSの接続がパブリックかプライベートかというのを調べる
Laravelの.envを見に行く
EC2サーバーに入る
プライベートIPアドレスではなくエンドポイントが書いてある
①IPアドレスについて
・ec2やRDSなどは基本的にはパブリックIPアドレスもプライベートIPアドレスも両方持ってる
・自分のスマホやパソコンなどの端末も同じでパブリックとプライベート両方持ってる
・プライベートIPアドレスの特徴 192.168.
・家庭用のもルーターとかは外に出てるグローバルIPアドレスが一つと、ルーターより下に繋がってるものにはプライベートIPアドレスが割り当てられる
・192.168.~みたいな感じで、家庭内で使う色々な端末を識別するのにプライベートを使う
プライベートIPアドレスの主な最初の数字
192.~
172.~
10.~
・プライベートはこの番号を使ってねという感じでこれは国際的に決められてる
・VPC内でのやりとりは下記の図のようにすべてプライベートIPアドレス
グローバルIPアドレスが外部と連絡するための“外線電話”なら、プライベートIPアドレスは“内線電話”といえるだろう。
参考サイト
『IPアドレス』とは?わかりやすく仕組みや確認方法、個人特定のリスクなど解説
②Laravelの.envファイルの中
・Laravelの.envファイルの中のDB_HOSTを見る
・プライベートIPアドレスが書いてあるかと思いきやRDSのエンドポイントが書いてあった
③digコマンド
digコマンドとは、domain information groperの略で、直訳すると「ドメイン情報の手探りツール」といった意味になります。 ネームサーバに対して問い合わせを行い、その応答結果を表示するコマンドで、BINDとともに提供されています。
参考サイト
@IT:DNS Tips:digコマンドとは
digコマンドを打つ
dig RDSのエンドポイント
QUESTION
RDSのエンドポイント IN
ANSWER
RDSのエンドポイント IN A 172.31.24.164
・この172.~~~~がRDSの方に書いてあるかと見に行ったらエンドポイントしか書いてなかったのでAWS側でそういう処理をどこかでしてるのだと思う
参考サイト
digコマンドの使い方
④RDSが属しているVPC
・IPv4 CIDR 172.31.0.0/16
・/16とか/32はその同じネットワークに何個入れられるかという感じ
・/16だと256×256=1万以上の端末が同じVPCに属せる
・/32だと255個しか割り振れない
・.0.0はここがスタート。ここから.0.1、.0.2という感じで割り振れる
・最大172.31.255.255まで割り振れる
・EC2もRDSも172.31.~~のプライベートアドレスになっているIPv4アドレス。
⑤AWSのイメージ
・VPCが土地(進撃の巨人の壁に囲まれた土地をイメージするとわかりやすいかも)
・サブネットが街
・IPv4が住所
・CIDRがIPv4を限定するための技術
・IGWにあけた穴がパブリックIPアドレス
・IGWが壁に穴をあけて作った門
・ルートテーブルが外から来た人を街(サブネット)に案内するためのマップ
・EC2が建物(一軒家よりもビルをイメージした方がいいかな?)
・Elastic IPが建物に与える住所
・RDSがRDSというデータ保管所の建物を作るイメージ
・セキュリティグループがEC2ビルにどんな人が出入りできるかのリスト
・WEBサーバーがビルの受付係
・ポートは部屋番号
・同じVPC(土地)であれば開いてるポート間でもののやりとりができる(IPv4アドレスを使って通信できる。例:EC2のLaravelの.env→RDSとかの接続ができる)
・80番ポートは必ず開いていないといけない
・webサイトとしてやる場合には接続してくる側は必ずそこを通ってくるから、正面玄関みたいなものなのかな
・VPCの中にAZがあるのはAWSが例外。一般的には一つのデータセンターで一つのプライベートネットワークという認識
参考サイト
インフラについて学んだことを街に例えながら整理する
⑥Elastic IP
・VPCの外から貫通してくるもの
・Elastic IPはインスタンスに割り振るからサブネットは基本的に意識しなくていい
⑦IPv6アドレス
・サブネットを作らないといけない。プライベートIPアドレスがないから。すべてがパブリック
・サブネットを設定したらそれはパブリックでもあるしプライベートでもある
⑧S3
・VPCに属していない
・静的ファイルを保持していた完全にパブリック
⑨route53
・名前解決
・ドメイン→Elastic IPに変換するDNSの役割
・変換した後は端末がElastic IPにアクセスしに行く
・PC→route53→PC→EC2にアクセスしに行くというのがwebアクセスのおおまかな流れ
⑩IGW(インターネットゲートウェイ)
・PC側のIGWとVPC側のIGWがある
⑪lambda、codedeploy類
・VPCには属してないけど同じAWSのサービスでIAMロールを持ってるのでアクセスできる感じ
⑫料金アラートの設定対策
・初めて使うサービスはアラートや請求金額をこまめに見ていた方がいい
・対策としてはCloudWatchでアラートを設定しておいて万が一に備えておく