#1: インフラについて簡単に理解する[IAM]
IAMユーザーの作成について
AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得 このコースをやる上で使えそうな項目をメモ
IPアドレス
IPアドレスの範囲
- ネットワーク部とホスト部に区分されている
CIDR表記
192.168.128.0/24 だった場合は前から3区切り目までがネットワーク部で、最後の8ビットは任意に決めれる。というルールの表記 それぞれのドットの3桁が8ビットで構成されているので、2つ目までのドットをネットワーク部とするのであれば000.000.000.000/16というように16ビットまでがネットワーク部ですよいうことを指定している
サブネット表記
CIDRとは違う表記の方法で以下のように表記する 192.168.1.40/24と同じ
IPアドレス: 192.168.1.40 サブネットマスク: 255.255.255.0 ↓ まとめた表記: 192.168.1.40/255.255.255.0
サブネット作成
パブリックサブネットとプライベートサブネットに分け、パブリックサブネットではApachなどのWEBアプリケーションはインターネットを通して接続できるが、 DBはインターネットを通して接続できないようにする
AWS上でサブネットを作成 今回はprivateとpublicサブネットの2種類を作成
パブリックサブネットとプライベートサブネットに分け、パブリックサブネットではApachなどのWEBアプリケーションはインターネットを通して接続できるが、 DBはインターネットを通して接続できないようにする
IPアドレスとルーティング
パブリックサブネットを作成したが、このままではルートテーブルにこのIPがどのルーターと接続できるかの情報がないのでインターネットに接続することができない。そのため、ルートテーブルに今回作ったサブネットがどことつながっているかの表記をする必要がある。
インターネットゲートウェイ: VPCとインターネットを接続する仮想のルートテーブル 初期状態ではこのインターネットゲートウェイがないのでAWSで作成する必要がある。
- ルートテーブルはAWSの場合VPCと各サブネットに対して作成できる
- サブネットやインターネットゲートウェイ間にはルーターが動いている。ルーターは明示的に指定しないがサブネットを作成すると暗黙的にルーターが割り振られる
インターネットゲートウェイの作成
名前をつけて作成したら、ダッシュボードを確認。そうするとまだどこにも紐づけていないので、"detached"と表記されているものが表示されるはず。
detachedのインターネットゲートウェイを先ほど作成したVPCにアタッチする。 対象のインターネットゲートウェイを左クリックして、VPCにアタッチという項目で、対象のVPCを選択することでアタッチができる。簡単
ルートテーブルを作成してパブリックサブネットに紐付ける
・ルートテーブルを作成してパブリックサブネットに紐付ける
現状では一番したに一つだけ表示されているものだけで、「10.0.0.0/16は自身のIPアドレスだよ。それ以外のIPアドレスへの通信は破棄するよ」という意味。
デフォルトルートをインターネットゲートウェイに向けるように作成する
先ほどと同様のVPCに紐づくルートテーブルを作成
このルートテーブルはVPCにのみ割り当てられているので、それをパブリックサブネットにも割り当てる。
「関連づける作業」
デフォルトルートの作成: 0.0.0.0/0を追加して、Internet Gatewayを選ぶと関連づけ可能なものが出てくるのでそれをインターネットゲートウェイとして紐づける。 これでデフォルトルートがインターネットゲートウェイのパブリックサブネットを作成完了。これでパブリックサブネットはインターネットに接続することが可能。
ネットワークの設計で気をつけるポイント
こういうのみるといいかも: AWSで拡張性・耐障害性・セキュリティを考慮したクラウド構成のネットワーク設計
- プライベートIPアドレスだと重複がない限り割と自由に設定できるため - VPCのCIDR領域は大きめに設定しておくと後で枯渇せずに済む
VPCを分割するか?アカウントを分けるか?
どのタイミングでVPCを分割するか - 異なるシステムの場合はアカウントを分ける - 異なるシステムを同一アカウント内に入れると管理が煩雑になる - 同一システムの各環境は、VPCとアカウントのどちらを分けるか? - 環境が違う場合、アカウントもVPCも同一のものを使用するのはだめ - VPCを分けると、IAMの設定が一度で良い。反面、各環境のリソースが見えてしまい、事故の元にもなる - アカウントを分けると、他の環境のリソースが見えず、作業しやすい。反面、環境ごとにIAMの設定が必要 - 同一アカウントでVPCとリージョンを分けるのがおすすめ