【AWS】ネットワークのお勉強

==============================================================
ネットワーク
==============================================================

■VPCの機能と設定
・VPC(Virtual Private Cloud)
・利用者ごとのプライベートなネットワークを提供、インターネットやオンプレなどの外部ネットワークへ接続可能

・利用するまでには以下設定が必要
 ①VPCの作成
 ・いずれかのリュージョンを選択
 ・一般的なネットワークアドレスを付与できる
  クラスA:10.0.0.0-10.255.255.255
  クラスB:172.16.0.0-172.31.255.255
  クラスC:192.168.0.0-192.168.255.255

 ②サブネットの作成
 ・VPC内に作成
 ・複数のAZにまたがって作成できない
 ・サーバ機能に応じて作成する
 ・サブネットマスクと同じような役割
 
 ③ゲートウェイの作成
 ・VPCと外部ネットワーク間での通信を行うために必要
 ・オンプレとVPNや専用線で通信するためのゲートウェイ
 
 ④ルートテーブルの設定
 ・サブネットごとにインターネットへのアクセス可否などの制限を設定可能
 ・パブリックサブネット:インターネットとのアクセスを許可するサブネット
  →デフォゲがIGW
 ・プライベートサブネット:インターネットとのアクセスを許可しないサブネット
  →デフォゲがIGWでない
 ・例えば、DB用サブネットはプライベート、Webサーバ用サブネットはパブリック
  オンプレの基幹システムと通信するサーバのサブネットはプライベートサブネットにし、Webサーバ用のIGWへのルーティングを設定
 ・ルートテーブルには、「10.0.0.0/16 local」はデフォルト設定で、削除不可
  意味するところは、VPC内の通信はルートテーブルで制御できない
  通常はサブネットで区切ればルータのルーティングが必要だけど、VPCの場合は同じサブネットであれば、通信可能になる
  
  
 ⑤NATインスタンスの作成
 ・プライベートサブネット内のサーバがパッチダウンロード等のためにインターネットへのアクセス、リュージョンサービスであるDynamoDBにアクセスする場合は、ルートテーブル設定ではアクセスできないためNAT(Network Address Translation)インスタンスを利用する
 ・NATインスタンスの実態は、EC2インスタンスであり、プライベートサブネット内のEC2インスタンスからのトラフィックを受け付け、プライベートIPをNATインスタンスに割り当てられているグローバルIPへ変換
 ・EC2インスタンスはデフォルトで「送信元/送信先チェック」という、通信が自身への宛先でなければ破棄する設定が有効のため、無効化する必要がある
 
■EC2インスタンスのIPアドレス
・VPCのサブネット内に起動するEC2インスタンスは、そのサブネット内のプライベートIPアドレスが1つ割り当てられる
・インターネットからアクセスする場合、グローバルIPアドレスを割り当てる
 Public IP:EC2起動時にランダムで割り振られる動的グローバルIP
 Elastic IP:アカウントに割り当てられる固定のグローバルIP、EC2インスタンスにアタッチ/デタッチが可能
 
・一般的に運用が求められる場合、Elastic IPを利用
・EC2インスタンスのプライベートIPとグローバルIPの紐づけはVPCの仮想ネットワークで行われているので、ipconfigやifconfigでもプライベートIPアドレスしか表示されない

■セキュリティグループとネットワークACL
・VPCが提供するファイアウォール機能
・セキュリティグループ
 ・EC2やRDSなどのインスタンスごとのファイアウォールで、インアウトバウンドのアクセス制御が可能
  適用単位:インスタンス
  作成可能ルール:許可のみ
  デフォルトルール:インバウンド全拒否、アウトバウンド全許可
  特徴:ステートフル
     →アウトバウンドで許可されているトラフィックを保持しているので、戻りトラフィックの許可設定は不要
・ネットワークACL
 ・サブネットごとのファイアウォール
 ・セキュリティグループと同じような設定が可能
  適用単位:サブネット
  作成可能ルール:許可、拒否
  デフォルトルール:インバウンド全許可、アウトバウンド全許可
  特徴:ステートレス
     →戻りトラフィックを通すためには、インアウト両方に許可設定が必要

■VPCピア接続
・2つのVPCを接続する機能、例えば開発環境と本番環境など
・ピア接続が確立するとプライベートIPでの通信が可能
・PCXというゲートウェイ相当が作成され、ルートテーブルの送信先をPCXへ設定する
・以下制約がある
 ・接続するVPCは同じリュージョン
 ・接続するVPCのプライベートネットワークアドレス空間の重複がない
 ・1対1での接続
・3つ接続する場合は、1つのVPCが2つのVPCへピア接続する必要がある

Categories: AWS

【AWS】責任分担セキュリュティモデル、認証(IAM)のお勉強

==============================================================
責任分担セキュリュティモデル、認証(IAM)
==============================================================

■責任分担セキュリュティモデル
・AWS上のシステムは利用者とAWSが責任を共有してセキュリュティを高める
・インフラストラクチャ>コンテナ>アブストラクトの順で利用者の責任範囲は少なくなる

・インフラストラクチャサービス(EC2など)
 →AWS:物理ホスト、物理ネットワーク、ストレージなど
  利用者:データ、アプリ、OS、ネットワーク、ファイアウォール、暗号化、アカウントなど
  ・セキュリティ対策ソフト等を導入する
  ・侵入テスト実施時は、申請が必須

・コンテナサービス(RDSなど)
 →AWS:物理ホスト、OS、ネットワーク、プラットフォーム、アプリケーション管理
  利用者:データ、アカウント、ファイアウォール、暗号化など
  
 ・アブストラクトサービス(S3、DynamoDB)
 →AWS:物理ホスト、OS、ネットワーク、プラットフォーム、アプリケーション管理
  利用者:クライアントサイド暗号化、データ、アカウントなど
  
  
■AWSにおける認証とアクセス制御
・IAM(Identity and Access management)
・ユーザ管理、リソースへのアクセス制御
・IAMグループ、IAMユーザへの各種リソースへのアクセス可否をIAMポリシー
・アクセス許可とアクセス拒否のポリシーが相反する場合、拒否が優先

・マネジメントコンソール
ユーザ名/パスワード
・AWS CLI
アクセスキー/シークレットアクセスキー
・AWS SDK
アクセスキー/シークレットアクセスキー

・IAMポリシーと同様設定可能なIAMロールをEC2などに割り当てることで、EC2上のプログラムはアクセスキーとシークレットキーがなくてもリソースへのアクセスが可能

■IDフェデレーション
・一時的に認証所法を付与することか可能な、STS(Security Token Service)とIDブローカーを利よすることで、一時的にサービス許可をすることが可能
・AWSの使用頻度が少ないユーザは、IDフェデレーションで社内の認証基盤とIAMを連携
・IDブローカーは、IDストア(AD、LDAPなど)にアクセスしユーザ認証を行う
・以下の流れで処理が行われる
 ①ユーザが社内のIDブローカーにアクセス
 ②IDブローカーあ社内のIDストアでユーザ認証
 ③IDブローカーがSTSから一時的な認証情報を取得
 ④一時的な認証情報を使ってユーザがS3バケットにファイルをアップロード

Categories: AWS

【AWS】リュージョン・アベイラビリティゾーン・AWSサービスのお勉強

AWSの資格をとるぞ!ってことで、覚えたことをつらつら書くよ。

==============================================================
リュージョン・アベイラビリティゾーン・AWSサービス
==============================================================
■リュージョン
・複数のAZが存在する世界20か所ないくらいの地域

■AZ
・アベイラビリティゾーン
・物理的なデータセンター群
・地理的、電力的に独立
・サーバ、データを異なるAZに冗長的に配置することで可用性アップ
・各AZ間じゃ専用線で結ばれていて低遅延で通信可能

■サービスの種類
①リュージョンサービス
・リュージョンごとに作成・管理される
・グローバルIPで接続する必要あり
・S3、DynamoDB、SQS、CloudSearch

②AZサービス
・AZごとに作成・管理される
・プライベートIPで接続可能
・EC2、RDS、ELB、ElastiCache

③グローバルサービス
・どこのリュージョンからでも共通的に利用可能
・IAM、Route53、CloudFront

Categories: AWS