JAWS-UG CLI専門支部 EC2基礎(VPC) オンライン参加
6月初めのイベント参加は、VPCハンズオン。
自身がインフラ系 & 前回のEC2ハンズオン に続いての参加(or 予習して)なので、流れはすんなりでしたが、GUIでぼんやりしてた全体像の把握ができてとても良かったです。
#156R EC2基礎(VPC)
マネジメントコンソールだと、独立したサービスに見えるけど、APIからするとEC2シリーズに含まれるVPC。
あらためて基礎から抑えてみていくと、VPCをただの仮想ネットワーク(ルータとスイッチの仮想化)という概念で設計されてないところがまた、AWSの前進的なところだったのではないかなぁと思えてきました。
今回のハンズオン
ここ数回参加してますが、一番気を抜けない?ボリュームだったかも。
コピペを順次していければOKな資料となってます。
とはいえ、主催者側では(今日はあったけど)めったに手戻りすることはないので、ちょっと先をいくぐらいのテンポで進められると余裕ありかも。
VPC を個人的に説明
※ここは、ハンズオンで聞いた話ではなく、個人の意見です。遅れて参加したので。。※
EC2インスタンスを立ち上げる、各AWSアカウントごとに(仮想的に)定義するプライベートなネットワークです。
同じ CIDR(VPCのIPアドレス空間)を設定していても、仮想的に分離されてるので問題ありません(VPC IDはユニークは設定毎にユニーク)。
後述のデフォルトVPCというのが、どのリージョンにも作られてるので、VPCをはっきりと意識しなくてもEC2インスタンスは立てれます。
しかし、EC2インスタンスを複数台あげたり、RDSや内部セグメントなどを使いたくなったときには、きっとネットワーク設計を必要として、VPCを新たに定義したくなるかと思います。
今回のハンズオンでは、インターネットからのHTTPアクセスをうけるEC2インスタンスをあげるべく、新たにカスタムVPCをゼロから定義していく手順をAWS-CLIで抑えていました。
個人的な VPC用語の補足
サブネット や CIDR(サイダー) などの、オンプレエンジニアがちょっと迷いそうな用語の使い方かも?
# でも、大きく外してもいないところもまた、賢いなぁと一人思ったり
VPCの「CIDR」
VPCの「CIDR」 は、そのVPCが取りうるIPアドレスの範囲です。
今回のWSハンズオン手順1.1だと " EC2_VPC_CIDR='10.0.0.0/16' " として進めています。
この表記から サブネットマスク が "/16 = 255.255.0.0" だから、 IPアドレス数:65536 (ホストアドレス数:65534) だなとわかります(ネットワークエンジニアさんは)。
?な方は、こんなツールで確認してみるといいかも。
VPCの「サブネット」
VPCの「サブネット」は、VPCの「CIDR」範囲内で作成する「(VPCのアドレス範囲より)小さなネットワーク」。
今回のWSハンズオン手順1.6では " EC2_SUBNET_CIDR='10.0.0.0/24' " を設定しています。
この表記から サブネットマスク が "/24 = 255.255.225.0" だから、 IPアドレス数:256 (ホストアドレス数:254) のネットワークにしたのだなとわかります(ネットワークエンジニアさんは)。
この場合サブネットの IPアドレス数は256で、VPCのIPアドレス数の65536よりも小さいので設定可能となります。
その他サブネットとしては、 10.11.22.0/24 とか 10.1.1.0/24 とか 10.1.2.128/25 なども必要に応じて設定することが可能だなというのを、先程紹介したツールで確認いただけると、腑に落ちるのではないでしょうか。
※ある程度のパターンみてみないと、慣れないと思いますので、ハンズオンする分には淡々と進めましょう。
※数字が気になる人は2進数で考えてもらえると良いです。
デフォルトVPC
今回のハンズオンでは使いませんでした。
前回のEC2ハンズオン では利用されてるので、こっちが気になる人は前回の資料を参照するといいかも。
講師も、何度も繰り返して話をされてましたが、デフォルトVPCはあくまでもお試しとして使うのが良く、本番環境にはなじまないものです。
とはいえ、1台しかEC2インスタンスあげないことがわかってる状況であれば、使ったらいいかも?(ただし、それがスケールしないと判断できていればといえるかもなぁ)
相手がデフォルトVPCか、カスタムVPC(自分で定義したものか)で、AWS-CLIのパラメータも変わってくるので、操作対象を意識しながらたたく必要はありそうです。
AWS CloudFormation テンプレート使い所
VPCとは少し外れますが、ハンズオン途中で出ていた話題。
講師の印象だと、こういう区切りがいいんじゃないかとの提案(押し付けじゃないところが、また良いと感じます)。
- 30回以上つかうなら、テンプレートがいいのではないか?
- それを下回るとき、2〜3回ぐらいしか使わないとわかってるものは、CLIで十分。
その理由としては、次のような話を紹介してくれていました。
- AWS CloudFormation が対応できない機能があったときには、CLIを使うことになる。が、そのCLIの管理は?
- 引き継ぎで成功した話をきかない。導入した人は、良いですよと話をされるのだけれども。
- 密結合になり、疎結合に作られてるAPIと合わない(もったいない?)
逆に、使うと良いシーンの話も。
- チームの中に、明るい人が複数いる。互いの癖がわかるぐらいに?
- 特定の定形パターンが固まってる検証環境の構築(確かに、最近AWS提供のハンズオン資料でも増えたような気がする)
感覚値的にはなるほどと感じました。
とはいえ、僕も、聞いてるだけだとハッキリはわからないので、一度試してみないと。
その他
今回は、30分遅れの参加だったので、ギリ終わらせた感じでした。
cloud9構築のところから説明いただけてたので間に合ったぁ〜
ハンズオンは終わらせることが、まず大事(その後、復習)というのを達成できました(笑
波田野さん、本日も濃いハンズオンありがとうございました!!