zatsu na benkyou matome saito

勉強したことをまとめるだけのサイト、数学、プログラミング、機械学習とか

#1: インフラについて簡単に理解する[IAM]

IAMユーザーの作成について

AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得 このコースをやる上で使えそうな項目をメモ

IPアドレス

IPアドレスの範囲

https://img.esa.io/uploads/production/attachments/16686/2020/11/01/92866/f1725873-24bf-4237-9088-ab4f4b4ed184.png

  • ネットワーク部とホスト部に区分されている

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

サブネット作成

https://img.esa.io/uploads/production/attachments/16686/2020/11/01/92866/329b95bc-9aad-45c5-8f4d-262360f0f4dd.png

パブリックサブネットとプライベートサブネットに分け、パブリックサブネットではApachなどのWEBアプリケーションはインターネットを通して接続できるが、 DBはインターネットを通して接続できないようにする

AWS上でサブネットを作成 今回はprivateとpublicサブネットの2種類を作成 スクリーンショット 2020-11-02 0.17.28.png (94.6 kB)

パブリックサブネットとプライベートサブネットに分け、パブリックサブネットではApachなどのWEBアプリケーションはインターネットを通して接続できるが、 DBはインターネットを通して接続できないようにする

IPアドレスとルーティング

スクリーンショット 2020-11-02 0.11.54.png (362.9 kB)

パブリックサブネットを作成したが、このままではルートテーブルにこのIPがどのルーターと接続できるかの情報がないのでインターネットに接続することができない。そのため、ルートテーブルに今回作ったサブネットがどことつながっているかの表記をする必要がある。

インターネットゲートウェイVPCとインターネットを接続する仮想のルートテーブル 初期状態ではこのインターネットゲートウェイがないのでAWSで作成する必要がある。

スクリーンショット 2020-11-02 0.20.45.png (271.2 kB)

  • ルートテーブルはAWSの場合VPCと各サブネットに対して作成できる
  • サブネットやインターネットゲートウェイ間にはルーターが動いている。ルーターは明示的に指定しないがサブネットを作成すると暗黙的にルーターが割り振られる

インターネットゲートウェイの作成

スクリーンショット 2020-11-02 0.25.22.png (82.0 kB)

VPC > インターネットゲートウェイから 作成する。

名前をつけて作成したら、ダッシュボードを確認。そうするとまだどこにも紐づけていないので、"detached"と表記されているものが表示されるはず。

detachedのインターネットゲートウェイを先ほど作成したVPCにアタッチする。 対象のインターネットゲートウェイを左クリックして、VPCにアタッチという項目で、対象のVPCを選択することでアタッチができる。簡単

ルートテーブルを作成してパブリックサブネットに紐付ける

・ルートテーブルを作成してパブリックサブネットに紐付ける スクリーンショット 2020-11-02 0.33.05.png (171.7 kB)

現状では一番したに一つだけ表示されているものだけで、「10.0.0.0/16は自身のIPアドレスだよ。それ以外のIPアドレスへの通信は破棄するよ」という意味。

デフォルトルートをインターネットゲートウェイに向けるように作成する

先ほどと同様のVPCに紐づくルートテーブルを作成

スクリーンショット 2020-11-02 0.37.03.png (50.7 kB) このルートテーブルはVPCにのみ割り当てられているので、それをパブリックサブネットにも割り当てる。

「関連づける作業」 スクリーンショット 2020-11-02 0.39.07.png (224.0 kB)

スクリーンショット 2020-11-02 0.40.14.png (75.5 kB)

デフォルトルートの作成: 0.0.0.0/0を追加して、Internet Gatewayを選ぶと関連づけ可能なものが出てくるのでそれをインターネットゲートウェイとして紐づける。 これでデフォルトルートがインターネットゲートウェイのパブリックサブネットを作成完了。これでパブリックサブネットはインターネットに接続することが可能。

スクリーンショット 2020-11-02 0.42.36.png (52.2 kB)

ネットワークの設計で気をつけるポイント

こういうのみるといいかも: AWSで拡張性・耐障害性・セキュリティを考慮したクラウド構成のネットワーク設計

スクリーンショット 2020-11-02 0.45.05.png (327.3 kB) - プライベートIPアドレスだと重複がない限り割と自由に設定できるため - VPCのCIDR領域は大きめに設定しておくと後で枯渇せずに済む

VPCを分割するか?アカウントを分けるか?

どのタイミングでVPCを分割するか - 異なるシステムの場合はアカウントを分ける - 異なるシステムを同一アカウント内に入れると管理が煩雑になる - 同一システムの各環境は、VPCとアカウントのどちらを分けるか? - 環境が違う場合、アカウントもVPCも同一のものを使用するのはだめ - VPCを分けると、IAMの設定が一度で良い。反面、各環境のリソースが見えてしまい、事故の元にもなる - アカウントを分けると、他の環境のリソースが見えず、作業しやすい。反面、環境ごとにIAMの設定が必要 - 同一アカウントでVPCとリージョンを分けるのがおすすめ

サブネットの設計ポイント

  • 将来に必要なIPアドレス数を見積もって設定する
    • /24が標準的
  • サブネットの分割は、ルーティングとアベイラビリティゾーンを基準に行う
    • サブネットに割り当てられるルートテーブルは1つ
    • インターネットアクセスの有無、拠点アクセスの有無などのルーティングポリシーに応じて分割する
    • 高可用性のために、2つ以上の阿部イラビリティゾーンを使用する