Markdown記法の慣れとAWSの勉強を兼ねて、学習内容を整理した上でアップしていこうと思う。全4回分ぐらいに分けて投稿する予定。GWは奇跡的に12連休もいただけちゃうのだが、あまりにやることがないので、こんな取り組みをしてみる。今回は第一弾。基本的には下記のテキストを改めてまとめているだけなので、もう少し丁寧に知りたい人は本書を購入されたし。
合格対策 AWS認定ソリューションアーキテクト - アソシエイト
- 作者:大塚康徳(日立インフォメーションアカデミー)
- 発売日: 2016/08/17
- メディア: 単行本(ソフトカバー)
1. リージョンとAZ(アベイラビリティゾーン)
AZ:物理的なデータセンター郡
リージョン:複数のAZが存在する世界各国の地域
つまり、サーバ<<ラック<<データセンタ<<AZ<<リージョン
という包含関係。
AWSのサービスには3つのサービスレベルがある。 特徴および具体例は下記の通り。
サービスレベル | 特徴 | サービス例 |
---|---|---|
リージョンサービス | リージョンごとに作成・管理 | S3, DynamoDB, SQS, CloudSearch |
AZサービス | AZごとに作成・管理 | EC2, RDS, ELB, ElastiCache |
グローバルサービス | どのリージョンからでも共通利用可 | IAM, Route53, CloudFront |
2. セキュリティモデルとIAM
セキュリティモデル
利用者とAWSが協力することでセキュリティを高める必要がある。(責任分担セキュリティモデル
)
AWSサービスによって、責任分担範囲が異なる。
サービス形態 | 利用者責任範囲 | AWS責任範囲 | サービス例 |
---|---|---|---|
インフラストラクチャ | OS以上のレイヤ・NW・データ・ユーザ | 物理層 | EC2 |
コンテナ | データ・FW・ユーザ | プラットフォーム以下のレイヤ | RDS |
アブストラクト | データ・ユーザ・クライアント暗号化 | プラットフォーム以下のレイヤ・サーバ暗号化 | S3, DynamoDB |
IAM
- ルートアカウント
アカウント取得時に登録したメールアドレス。全ての操作が可能。 - ユーザ
アカウント内に複数作成することが可能。実際の操作はユーザにて実施。 IAM
AWS内のユーザ管理やAWSリソースに対するアクセス制御行う。 IAMグループ・IAMユーザを作成し、IAMポリシーを適用する。ユーザ<<グループ
の包含関係。IAMポリシーはどちらに対しても適用可能。拒否が優先される。AWSサービスの利用方法と認証情報
利用方法 | 手段 | 認証情報 |
---|---|---|
マネージメントコンソール | Webブラウザ | ユーザ名/パスワード |
AWS CLI | コマンドライン | アクセスキー/シークレットアクセスキー |
AWS SDK | プログラム | アクセスキー/シークレットアクセスキー |
AWS SDKでのアクセスキー/シークレットアクセスキーの利用は推奨されておらず、IAMロールの利用が推奨されている。IAMロールはEC2インスタンスなどに割り当て可能な権限。
- IAMロールとIAMポリシーの違い
サービス | 何に対して付与? | どんな権限? |
---|---|---|
IAMロール | AWSリソース(EC2など) | AWSリソースへのアクセス権限 |
IAMポリシー | IAMユーザ(IAMグループ) | AWSリソースへのアクセス権限 |
つまり、付与する対象が違うだけ。概念としては、IAMポリシー<<IAMロール
の包含関係であり、IAMロールを付与することで、各種AWSサービスに対する複数のIAMポリシーがAWS内部で許可されている。
フェデレーション
IDフェデレーション
AWS以外(自社内)の認証基盤で認証されたユーザに対して、一時的にAWSサービスの利用を許可すること。 全従業員から月末にレポートをアップロードさせるなど、IAMユーザの作成が非効率な場合に利用。 STS(Security Token Service)を利用して実現する。
認証フロー
- ユーザが社内のIDブローカー(IDプロバイダー)にアクセス
- IDブローカーが社内のIDストア(Active Directoryなど)でユーザ認証
- IDブローカーがSTSに対して一時的に認証情報を要求・取得
- ユーザが一時認証情報を利用してS3バケットにアップロード
3. VPC
VPC
利用者ごとのプライベートネットワークを構築し、外部ネットワークとの接続を提供する仕組み。Virtual Private Cloud。
VPC構築手順
- VPC作成
- 特定リージョンに対して作成(リージョン跨がり不可)
- クラスA〜Cのネットワークアドレスを設定
- サブネット作成
- 一つのAZに対して作成(AZ跨がる不可)
- サーバの機能・役割に応じて分割するのが一般的
- AZ単位で冗長化するのが一般的
- ゲートウェイ作成
- ルートテーブル作成
- パブリックサブネットとプライベートサブネットを定義
- パブリックサブネット・・・インターネットアクセス許可
- プライベートサブネット・・・プライベートアクセス許可
- VPC内通信はルートテーブルで制御不可(サブネット間通信可)
- パブリックサブネットとプライベートサブネットを定義
- NATインスタンス作成
EC2のIPアドレス
- Public IP
EC2起動時にランダムに割り振られるグローバルIPアドレス。 - Elastic IP
アカウントに割り当てられる固定のグローバルIPアドレス。EC2インスタンスにアタッチ・デタッチが可能。
VPCのFW機能
観点別の比較結果は下記の通り。
比較観点 | セキュリティグループ | ネットワークACL |
---|---|---|
適用単位 | インスタンス | サブネット |
作成可能ルール | 許可のみ | 許可/拒否 |
デフォルトルール | インバウンド:全て拒否 | インバウンド:全て許可 |
- | アウトバウンド :全て許可 | アウトバウンド :全て許可 |
特徴 | ステートフル | ステートレス |
VPCピア接続
プライベートIPで2つのVPCを接続。双方のVPCにPCX(ゲートウェイに相当)が作成される。 同じリージョン何のVPCしか接続できない。VPCは直接繋ぐ必要がある。