# ひわたし先生のネットワーク講義 ## アイスブレイク - エクセルの使い方わかる? - さっきもりやさんとラウンジで話したよ。 ## 質問事項 ### インフラ関連の質問事項 #### NATGateway周りの話。 - NATゲートウェイを使うと、なぜプライベートサブネットからインターネットへつなぐことができるの? - NATGateWayの使命はなんなんだ? ▶ NAT=踏み台かつ仮面んをかぶせる存在。 パブリックサブネットにあるECE2なら、GlobalIPアドレスで外部のインターネットにでていくことになる。ツイッターにアクセスするなら、ツイッターのサーバーのログに、そのGlobalIPアドレスがログとして残される。 一方プライベートサブネットにあるEC2は、NATを経由してインターネットに出ていく。するとNATのGlobalIPをつけて外に出ていく。 NATサーバー≒プロキシサーバー ただし、プロキシサーバーはフィルタリング機能が強く色がでている。ポスグレとして使いたいサーバーに入れたいのであれば、ポスグレのアドレスだけにインターネットアクセスできるようにするとか。 NATGatewayがAWS用語。NATサーバーが一般名詞。 プライベートサブネットからインターネットへでていくこと、及びそのアクセス先から得た値を打ち返してもらうことは可能。しかし外からNATサーバーを経由してプライベートサブネットに侵入することはできない。 - プライベートネットワークのマルチAZ化でNATゲートウェイも増やさないとならないのはなぜ? 片方のAZにのみNATGatewayがいたら、そのAZが全部死んだときにプライベートサブネットからはどこにも出られなくなる。 ただ外に出ることがそんなに大事じゃないなら、一つでもいいんじゃね?(byひわたし先生) - VPC直下に野良でEC2を置くことは可能?(サブネットを用いない)。その場合どうなる? 無理。 - p62の図は何を指し示している?(ALBってどんな仕事をするもの?) ![](https://i.imgur.com/gpPVzKT.jpg) 負荷分散をする。こいつ自体もGIPを持っている。 ALBに設定する項目は以下3つ 1. リスナー:耳。いくつのポートを通してあげるか。 2. サブネット:複数のサブネットを指定する必要がある。 3. ターゲット:リスナーで受けた信号を、どのサーバーのどのポートへ流すのかを指定する。 ※ただし、GlobalIPがあるところへは外からなんでもアクセスできてしまうのだ。パブリックサブネットのEC2がGIPをもっていて、sgの22番ポートが空いていたら、外から侵入できる。インターネットゲートウェイからきた信号が必ずしもALBを通るというわけではない。 C:\Windows\System32\drivers\etc\hosts hostsファイル=自分専用のDNSサーバー。 世の中にはDNSがいろいろある。例えば"http://google.com"を見に行こうとしたら、一番最初に見に行くのがローカルのhostsファイル。ここになかったら社内のDNSに見に行く。ここにもなかったらグローバルDNSを見に行く。 グローバルDNSはしこたまたくさんある。.com専用、.jp専用のサーバーなどなど。 ローカルでも社内DNSでもなかったドメインまずキャッシュDNSに言ってからDNSルートサーバに行く。DNSルートサーバーというのは、.jpとか.comとかのパスを登録しているもの。 Route53も野良DNSの一つ。アマゾンがデータセンター内に多分もってるやつ。 ただ、このルーティングにそんなに速度差はないらしい。名前解決が通信ぱふぉーまんすのボトルネックになっているのではという疑いは基本しない。 DNSサーバーの中にはサブドメインが作れる。 umezawa.comというドメインを登録すると、これがルートドメインとなり、umezawa.com空間というのがDNSサーバーに登録される。 この中にサブドメインというものを登録できる。 例えばYahooはyahoo.co.jpというドメインをDNSサーバーに登録して、サブドメインにwwwとauctionsの複数登録してある。それぞれ違うIPが紐付いている。 https://www.yahoo.co.jp/ https://auctions.yahoo.co.jp/ yahoo.co.jp/以下のスラッシュでサービスを区分けすることも可能。ただ人間の目でみたときに、サブドメインを分けた場合全然別のサービスってことがわかるようになる。なので好みの問題。 - p67 Aレコード、CNAMEレコードってなに? - p66 NSレコードとSOAレコードってなんのこと? ▶サブドメインの種類のこと。 CNAMEレコードはChange NAMEの意味。IP以外の値を(サブ)ドメインと紐付けることができる。 AレコードはダイレクトにIPが紐付けられている。 MXレコード:mail exchangeレコードの意味。メールサーバーのIPアドレスを指定する。優先度つきで一つのMXレコードに複数のメールサーバーを登録できる。 NSレコード:ルートドメインの親どなるDNSサーバーのドメインがなにかを持っている。だからRoute53でドメインを登録すると勝手に作られる。 SOAレコード:謎。 - p63 Internalという項目ではインターネット向けとVPC内向けの設定ができるらしい。どう違うの? ▶ ALBがGIPをもつかどうかの違い。 インターネット向けはGIPを持つ。なのでインターネット空間にでることができる。 一方VPC内向けはGIPをALBが持たない設定。社内サービスで負荷分散したいからここにおいている。 - ACMはなんのためにあるのだ? - HTTPS通信とは何か? 共通鍵は一つの鍵で複合も暗号もできる。 公開鍵で暗号化したものは、秘密鍵でしか復号できない。 秘密鍵で暗号化したものは、公開鍵でしか復号できない。 クロスの関係になる。 1. Bさんが鍵ペアを作成 2. 公開鍵を公開。 3. Aさんがファイルを公開鍵で暗号化 4. Bさんに暗号化されたファイルを渡す。 5. Bさんが秘密鍵で復号 この順番でやりとりがなされる。 しかしssh接続するときのちょっとの間があるとおり、この暗号化復号化にはすごい演算時間がかかる。 httpsは共通鍵と公開鍵秘密鍵を両方使う。 1. クライアント(Webブラウザ)がWebサーバーに行き、公開鍵をコピーする。この公開鍵のことをSSL証明書と呼ぶ。 2. Webブラウザ内で共通鍵を生成する。 3. 公開鍵で共通鍵を暗号化する。 4. 暗号化した共通鍵をWebサーバに投げる。 5. Webサーバー内の秘密鍵で共通鍵を復号化する。 6. 以降の通信はすべて共通鍵で行う。 世の中にはSSL証明書屋がある。彼らに金を払うとSSL証明書が正しい公開鍵であることを保証してくれる。 ACMはAmazonの中にSSL証明書屋があるようなもの。 ちなみにこれは認証(ログイン)とは関係ない。 - ログイン・ログアウト 1. httpsで疎通ができた 2. ユーザーIDとパスワードをクライアントからWebサーバーにPUTする 3. メタ情報が2のときにすでに一緒にWebサーバーへ届けられている。このメタ情報でどのブラウザから信号がきたかを特定できる。 4. メタ情報はWebサーバーにおかれたり専用のサーバーに置かれたりする。 5. メタ情報にはステータスが存在し、ログイン・ログアウトのステータスがここでわかる。 6. アクセス毎にメタ情報と 7. 一定時間放置照合されないか、ログアウトすると、Webサーバー内のメタ情報がなくなる。なので再ログインが必要。 ### その他の質問 - S3にリージョンって概念あったっけ?どこで指定するんじゃ? - CloudFormationはstackができていた。Terraformはどこでリソースを管理している? - CI/CDツールって、リポジトリのmasterブランチにマージが走ったら予め指定しておいたterraformファイルを叩きに行くなんてことできるの?