AWS Certified Solutions Architect - Professional の勉強

これから資格取得に向けて学習するため、学習途中でまとめた情報をブログでまとめていきます。

1. 2024/11/9 学習内容

AWS Skill Builderの以下のコースで学習

Exam Prep Standard Course: AWS Certified Solutions Architect - Professional (SAP-C02) (Japanese) 日本語実写

1.1. ネットワーク接続戦略の設計1

IAMとVPCについて

IAMロールとVPCは、実際にはAWSアカウント間で共有することが可能です:

  1. IAMロールの共有:
  • クロスアカウントIAMロールを作成し、信頼ポリシーで別のAWSアカウントを指定できます
    • 開発アカウントのIAMロールでは、直接他のアカウントと共有することはできない
  • 例: アカウントAのロールをアカウントBのユーザーが引き受けることが可能
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::ACCOUNT-B-ID:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
  1. VPCの共有:
  • AWS Resource Access Manager (RAM) を使用してVPCをアカウント間で共有できます
  • 共有できるVPCリソース:
    • サブネット
    • Transit Gateway
    • Route53 Resolver Rules
    • その他のVPC関連リソース

トランジットゲートウェイは、複数のVPC間やオンプレミス環境との接続に使用されますが、IAMロールやVPCの共有に必須というわけではありません。

これらの機能により、組織内での柔軟なリソース共有とアクセス制御が可能になります。

1.2. ネットワークの接続戦略の設計2

VPCフローログとAmazon Inspector、Elastic Network Interfaceについて

  1. トラフィックキャプチャの制限:
  • VPCフローログ:トラフィックの統計情報のみ(送信元、送信先、ポートなど)
  • Amazon Inspector:脆弱性スキャンが主目的で、パケットキャプチャ機能はない
  1. トラフィックミラーリングの正しい方法:
1
送信元 → トラフィックミラー(ENI) → モニタリング用EC2

設定手順:

  1. トラフィックミラーターゲットの作成

    • モニタリング用EC2のENIを指定
  2. トラフィックミラーフィルターの作成

    • プロトコル
    • ポート
    • IPアドレス範囲などを指定可能
  3. トラフィックミラーセッションの作成

    • 監視したい送信元ENIを指定
    • 作成したターゲットとフィルターを関連付け

モニタリング用EC2では:

  • tcpdump
  • Wireshark などのパケットキャプチャツールを使用して詳細な分析が可能

これにより、実際のネットワークトラフィックの内容をキャプチャし分析することができます。

1.3. 信頼性と回復力に優れたアーキテクチャの設計

AWS Data Lifecycle Manager (DLM):

  • デフォルトで同じリージョンにバックアップ
  • EBSスナップショットとAMIの両方をサポート

AWS Backup:

  • タグベースのバックアップ管理が可能
  • デフォルトのバックアップ保管庫は同じリージョン
  • 以下のリソースをサポート:
    • EC2インスタンス
    • EBSボリューム
    • RDSデータベース
    • Aurora クラスター
    • DynamoDB テーブル
    • EFSファイルシステム
    • FSx ファイルシステム
    • Storage Gateway ボリューム
    • DocumentDB
    • Neptune

2. 2024/11/13 学習内容

AWS Skill Builderの以下のコースで学習

Exam Prep Standard Course: AWS Certified Solutions Architect - Professional (SAP-C02) (Japanese) 日本語実写

2.1. ビジネス要件を満たす導入戦略の設計

CloudFrontとLambda@Edgeを使用したトラフィックルーティングについて

Lambda@Edge + CloudFrontでできること:

  1. リクエストの制御
  • ビューワーリクエスト
  • オリジンリクエスト
  • オリジンレスポンス
  • ビューワーレスポンス の4つのポイントで処理可能
  1. セッション維持とv1/v2ルーティングの例:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Lambda@Edge (Viewer Request)
exports.handler = async (event, context) => {
    const request = event.Records[0].cf.request;
    const headers = request.headers;
    
    // Cookieからバージョン情報を取得
    const cookie = headers.cookie || [];
    const versionCookie = cookie.find(c => c.value.includes('version='));
    
    if (versionCookie) {
        // 既存セッションのユーザーは元のバージョンへ
        if (versionCookie.value.includes('v1')) {
            request.origin.custom.path = '/v1';
        } else {
            request.origin.custom.path = '/v2';
        }
    } else {
        // 新規ユーザーは v2 へ
        request.origin.custom.path = '/v2';
    }
    
    return request;
}
  1. CloudFrontの設定:
  • 複数のオリジンの設定
  • キャッシュ動作の設定
  • Lambda@Edgeの関連付け

利点:

  • エッジでの高速な判断が可能
  • グローバルな展開
  • 既存セッションの維持
  • トラフィックの段階的な移行が可能

注意点:

  • Lambda@Edgeには実行時間制限がある
  • 関数のサイズ制限がある
  • リージョン制限がある(us-east-1でのみ作成可能)

2.2. 事業の継続性を確保するソリューションの設計

S3の既存データと新規データの別リージョンへの複製方法

  1. 既存データの複製: S3バッチレプリケーション
  • バッチ操作ジョブを作成
  • 既存オブジェクトを一括で別リージョンに複製
  • マニフェストファイルで対象オブジェクトを指定
  • 失敗したジョブの再試行が可能
  1. 新規データの複製: S3レプリケーション(CRR: Cross-Region Replication)
  • バケットレベルでレプリケーションルールを設定
  • 新しくアップロードされたオブジェクトを自動複製
  • バージョニングの有効化が必要

設定手順:

1
2
3
4
1. 送信元・送信先バケットでバージョニングを有効化
2. IAMロールの設定(S3レプリケーション用)
3. レプリケーションルールの作成
4. バッチレプリケーションジョブで既存データを複製

注意点:

  • 暗号化されたオブジェクトは追加設定が必要
  • レプリケーションにはコストが発生
  • バケットのバージョニングは必須
  • 削除マーカーのレプリケーションは別途設定が必要

2.3. パフォーマンス目標を満たすソリューションの設計

最小レイテンシーでコンテンツを提供するためのAWSベストプラクティス

  1. CloudFrontの設定
  • エッジロケーションの活用
  • キャッシュ最適化設定
1
2
3
4
5
6
7
# キャッシュ戦略
- TTLの最適化
  - 動的コンテンツ: 0秒
  - 静的コンテンツ: 長めのTTL
- Originシールドの有効化
  - 二次キャッシュ層の追加
  - オリジンへの負荷軽減
  1. Route 53の設定
  • レイテンシーベースルーティング
  • ヘルスチェック設定
1
2
3
4
# ルーティングポリシー
- プライマリリージョン設定
- フェイルオーバー設定
- 複数リージョンの組み合わせ
  1. 地理的な最適化
1
2
3
4
ユーザー
→ 最寄りのCloudFrontエッジロケーション
→ Route 53で最適なリージョンを選択
→ 最寄りのAWSリージョン
  1. 追加の最適化策:
  • Lambda@Edgeの活用
  • CloudFront Functions
  • リージョナルエッジキャッシュ
  • 適切なオリジンの選択(S3, ALB等)

このような構成により、グローバルでの低レイテンシーを実現できる

3. 2024/12/02 学習内容

AWS Skill Builderの以下のコースで学習

Exam Prep Standard Course: AWS Certified Solutions Architect - Professional (SAP-C02) (Japanese) 日本語実写

3.1. 既存ワークロードの最適な移行アプローチ1

awsレプリケーションエージェントレスとエージェントベースの適性を整理します:

エージェントレス(スナップショットベース)が向いているケース:

  1. Linuxサーバー
  2. シンプルな構成のサーバー
  3. 少数のサーバー移行
  4. データ量が比較的少ない環境
  5. 頻繁な変更がない静的なサーバー

エージェントベースが向いているケース:

  1. Windowsサーバー
  2. 大量のサーバー移行
  3. 稼働中の複雑なシステム
  4. 継続的なデータ同期が必要
  5. Active Directoryなどの複雑な環境
  6. 高いデータ一貫性が求められる場合
  7. リアルタイム近似の移行が必要

選択時の判断ポイント:

  • サーバーのOS
  • 移行するサーバー数
  • データ量と変更頻度
  • システムの複雑さ
  • ダウンタイム許容範囲

3.2. 既存ワークロードの最適な移行アプローチ2

MongoDB のChangeStream(CDC: Change Data Capture)について詳細に説明します:

  1. 基本概念
  • リアルタイムでデータベースの変更を追跡
  • 挿入、更新、削除などの操作をキャプチャ
  • オペレーションログ(oplog)を基に動作
  1. 主な特徴
  • リアルタイムストリーミング
  • トランザクション整合性
  • クラスター全体の変更追跡可能
  • フィルタリング機能
  1. 動作モード
1
2
3
4
5
6
7
// 基本的な変更ストリーム
const changeStream = db.collection.watch();

// フィルター付き
const changeStream = db.collection.watch([
  { $match: { operationType: 'insert' } }
]);
  1. サポートされる操作
  • insert
  • update
  • replace
  • delete
  • drop
  • rename
  1. ユースケース
  • リアルタイム同期
  • イベント駆動アーキテクチャ
  • レプリケーション
  • キャッシュ更新
  • 監査ログ

注意点:

  • 永続化されたストリームには追加のストレージが必要
  • 大量の変更は高負荷になる可能性

4. 2024/12/03 学習内容

AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル | 山下光洋 |本 | 通販 | Amazon」で学習。

4.1. メモ

  • サードパーティサービスへの連携登録ごとに一意の外部IDを発行する
    • 理由:IAMロールのARNが仮に漏洩しても別の連携申請では外部IDが異なるので認証は許可されず、情報が悪用されることはないため。
  • Direct Connectのポート時間料金が発生するタイミング
    • 接続確立されていないが、接続が作成されてから90日後から
    • 90日経っていないが、Direct Connectのエンドポイントとカスタマールータの接続が確立されたときから

4.2. AWS Directory Serviceの3つのサービスの主な違い

  1. AWS Managed Microsoft AD (Enterprise Edition)
  • 完全な機能のMicrosoft Active Directory
  • AWS内でホストされる本格的なADサービス
  • フルマネージド
  • オンプレミスADとの同期可能
  • グループポリシー
  • スキーマ拡張
  • RADIUS認証
  • 複数のドメイン/フォレストのサポート
  1. Simple AD
  • Sambaベースの軽量なディレクトリサービス
  • 基本的なAD機能のみ
  • 小規模環境向け
  • 安価
  • グループポリシー制限あり
  • オンプレミスADとの同期不可
  • スケーラビリティ低
  1. AD Connector
  • オンプレミスのADへのプロキシ
  • クラウド上からオンプレミスADを利用
  • 認証のリダイレクト
  • ユーザー管理はオンプレミス側
  • VPNまたはDirect Connectが必要
  • クラウドリソースのAD認証
  • ディレクトリ同期なし

選択のポイント:

  • 機能性:Managed Microsoft AD
  • シンプルさ:Simple AD
  • オンプレミス連携:AD Connector

4.3. S3インターフェースエンドポイントとS3ゲートウェイエンドポイントの違い

S3ゲートウェイエンドポイント:

  1. VPCとS3間のプライベート接続
  2. ルートテーブルに追加
  3. インターネット経由しない
  4. 無料
  5. NAT不要
  6. リージョン内のS3へのアクセス

S3インターフェースエンドポイント:

  1. VPCとS3間のプライベート接続
  2. ENI(Elastic Network Interface)を使用
  3. PrivateLink経由
  4. 時間/データ転送量に応じて課金
  5. セキュリティグループ設定可能
  6. リージョン内外のS3へのアクセス
  7. より詳細なアクセス制御

主な違い:

  • 接続方式
  • コスト
  • アクセス範囲
  • セキュリティ設定

用途に応じて適切なエンドポイントを選択します。

4.4. マネージドSite-to-Site VPN接続の構築において、カスタマーゲートウェイと仮想プライベートゲートウェイが必要な理由

  1. カスタマーゲートウェイ(CGW)の役割
  • オンプレミスネットワークの終端デバイス
  • VPNデバイスの公開IPアドレス
  • VPN接続のパブリック側エンドポイント
  • VPN設定(BGP、静的ルーティングなど)の定義
  1. 仮想プライベートゲートウェイ(VGW)の役割
  • AWS VPC側のVPN終端ポイント
  • AWSネットワーク内のVPNエンドポイント
  • 複数のVPNトンネルをサポート
  • ルーティング管理
  • セキュリティグループ、NACLとの統合
  1. 接続モデル
1
2
オンプレミス(CGW) ←→ AWS(VGW)
   VPN デバイス      仮想プライベートゲートウェイ
  1. 分離とセキュリティ
  • ネットワークの論理的な分離
  • 明確な境界線の設定
  • きめ細かな接続制御

これらにより、安全で柔軟なハイブリッドネットワーク接続が実現できます。

4.5. AWS Site-to-Site VPN接続における仮想プライベートゲートウェイのデッドピア検出(Dead Peer Detection, DPD)

  1. 目的
  • VPNトンネルの接続状態を継続的に監視
  • 通信相手(ピア)の応答性を確認
  • 接続障害の迅速な検出と対応
  1. 主な特徴
  • デフォルトで有効
  • IKEv2プロトコルでサポート
  • 自動的なトンネル切断と代替トンネルへの切り替え
  1. 動作メカニズム
  • 定期的なキープアライブメッセージ送信
  • 応答がない場合のトンネル切断
  • 自動フェイルオーバー
  1. 設定可能パラメータ
  • 送信間隔
  • タイムアウト時間
  • 再接続ポリシー
  1. メリット
  • VPN接続の信頼性向上
  • ネットワーク障害の迅速な検出
  • 自動復旧メカニズム

4.6. Direct Connect (DC) ロケーション全体または内部に物理的な障害が発生した場合でも、通信を維持し、冗長性を確保するための設計や実装について

4.6.1. 1. 最大回復性 (Maximum Resiliency)

  • 設計:

    • 複数の Direct Connectロケーション を活用し、地理的に離れた場所に物理リンクを確保します。
    • 各ロケーションで ロケーション冗長性 を設定します。
    • AWS Direct Connect Gateway を使用して、複数のロケーション間でのトラフィックルーティングを最適化します。
  • 障害対応:

    • 一つのロケーションが完全に障害を受けても、別のロケーションがバックアップとして機能します。
    • BGP (Border Gateway Protocol) の自動フェイルオーバーにより、回復時間が最小限に抑えられます。
  • 利点:

    • 地理的に分散した冗長構成により、大規模な障害にも対応可能。
    • 最大限の回復性を提供。

4.6.2. 2. 高い回復性 (High Resiliency)

  • 設計:

    • 単一のDirect Connectロケーション内での冗長性を確保。
    • 同一ロケーション内で 複数の仮想インターフェイス または リンクアグリゲーショングループ (LAG) を活用。
    • ハードウェア障害 やケーブル断線に対応可能なデュアルポート設計を採用。
  • 障害対応:

    • ロケーション内部の障害が発生しても、別のポートやリンクを通じて通信を維持。
    • AWSが提供する物理的冗長性の恩恵を活用。
  • 利点:

    • 単一ロケーションに限定されるが、通信断を回避できる可能性が高い。

4.6.3. 3. 開発とテスト

  • 開発性:

    • 冗長構成を設計した際、定期的に障害シナリオをシミュレーションして、回復時間や正常性をテストする必要があります。
    • 開発環境やステージング環境で、Direct ConnectとVPNを組み合わせた冗長性のテストを行う。
  • テスト内容例:

    • BGP経路切り替え時間の測定。
    • ロケーション間のトラフィック切り替え検証。
    • 高負荷時の切り替え動作の確認。
  • ツールとプロセス:

    • AWS CloudWatch でトラフィックモニタリング。
    • AWS CLI または SDK を用いた障害シミュレーション。

4.6.4. 4. VPNバックアップのDirect Connect

  • 設計:

    • Direct Connectリンクがダウンした際に、インターネットVPNを自動的に切り替える構成を追加。
    • AWS Site-to-Site VPN を利用してバックアップ経路を提供。
    • トラフィックの優先度をDirect Connect > VPNの順に設定(BGPのルートプリファレンスで調整)。
  • 障害対応:

    • Direct Connect障害時にVPNが代替経路として動作。
    • 冗長性を確保しつつ、コスト効率の良い設計が可能。
  • 利点:

    • VPNはDirect Connectと比較して帯域幅が低い場合が多いが、バックアップとして十分機能。
    • 設定が比較的簡単。

4.6.5. まとめ

レベル 特徴 推奨用途
最大回復性 地理的に分散した複数のDCロケーションでの冗長構成。高いコストと複雑性。 ミッションクリティカルなシステム
高い回復性 単一ロケーション内の冗長性を確保。低コストで信頼性向上。 中規模システム。
VPNバックアップ VPNを補助経路として利用。低コストで冗長性を確保可能。 コスト制約のあるシステム。

各ケースで、システム要件とコストのバランスを見ながら設計を進めることが重要です。

4.7. AWS Transit Gateway (TGW) は、大規模なネットワークの接続と管理を簡素化するための強力なサービスです。以下の3つの観点についてその特徴をまとめます。

4.7.1. 1. 数十のVPC、データセンターとの接続が必要

  • 特徴:

    • Transit Gatewayは、数十から数百に及ぶVPCやオンプレミスデータセンター(Direct ConnectやSite-to-Site VPN経由)を一つのハブとして接続できます。
    • フルメッシュの接続構成を構築する必要がなく、各VPCやデータセンターがTransit Gatewayを介して相互接続されます。
  • 利点:

    • スケーラブルな接続設計により、複雑なネットワーク構成を大幅に簡素化。
    • AWSリソースとオンプレミスリソースを一体化したハイブリッドクラウド構築が容易に。

4.7.2. 2. ルーティングの一元管理

  • 特徴:

    • Transit Gatewayは、ルートテーブル を用いた一元的なルーティング管理を可能にします。
    • 各接続(アタッチメント)ごとにルートテーブルを設定し、トラフィックの送信先を柔軟に制御できます。
    • 動的ルーティング(BGP)や静的ルーティングをサポートし、オンプレミス環境との統合もスムーズ。
  • 利点:

    • ルート設定が一箇所で行えるため、運用効率が向上し、設定ミスを減少。
    • トラフィックの分離やアクセス制御を容易に実現。

4.7.3. 3. Transit Gatewayピア接続

  • 特徴:

    • AWS Transit Gatewayは、複数のTransit Gateway間でのピアリングをサポートします。
    • Transit Gatewayピア接続により、異なるAWSリージョン間でのVPC接続やオンプレミス接続を統合可能。
    • ピアリングはAWSのグローバルネットワークを活用し、低遅延かつ高帯域で安全な通信を提供。
  • 利点:

    • グローバル規模のネットワーク構築が可能。
    • クロスリージョンでのデータ冗長性やバックアップを簡単に設定。
    • AWS Direct Connect Gatewayとも連携可能で、広域な接続ニーズにも対応。

4.7.4. まとめ

特徴 詳細 利点
スケーラブルな接続 数十〜数百のVPCやオンプレミス接続をTransit Gatewayで一元化。 フルメッシュ構成の削減により、管理が簡素化。
一元的なルーティング Transit Gatewayのルートテーブルにより、トラフィックルーティングを集中管理。 運用効率の向上、トラフィック制御が柔軟。
ピア接続 複数リージョンにまたがるTransit Gateway間のシームレスな接続を提供。 クロスリージョン通信が低遅延かつ高信頼性。グローバルネットワーク対応。

AWS Transit Gatewayは、ハイブリッドクラウドやグローバルネットワークのニーズに対応した高度な接続と管理機能を提供し、企業のネットワークインフラを効率化します。

4.8. AWS Organizationsは、複数のAWSアカウントを一元管理するためのサービスです。その主なメリットを以下にまとめます


4.8.1. 1. 一元的なアカウント管理

  • 特徴:
    • 複数のAWSアカウントを一元管理し、組織全体のポリシーを適用できます。
    • 組織の管理アカウント(旧称: マスターアカウント)を使用して新しいアカウントを作成したり、既存のアカウントを組織に追加可能。
  • 利点:
    • 各アカウントの分離を保ちながら、管理作業を簡素化。
    • 開発、テスト、本番環境など用途ごとにアカウントを分けつつも統制が可能。

4.8.2. 2. リソース分離とセキュリティの向上

  • 特徴:
    • 各アカウントを論理的に分離し、特定のプロジェクトやチーム専用に利用。
    • アカウントごとに独立した請求書やセキュリティ設定が可能。
  • 利点:
    • セキュリティとコンプライアンス要件を容易に満たせる。
    • あるアカウントで問題が発生しても他のアカウントに影響を与えない。

4.8.3. 3. サービス制御ポリシー (SCP) によるアクセス管理

  • 特徴:
    • SCPを使用して、組織やアカウント単位でAWSサービスへのアクセスを制限。
    • アカウント内のIAMポリシーやロールを上書きできる高い制御性を提供。
  • 利点:
    • 例えば、特定のリージョンやリソースのみを許可するポリシーを適用し、セキュリティリスクを低減。
    • ポリシーの一元管理でガバナンスを強化。

4.8.4. 4. 統合請求とコスト管理

  • 特徴:
    • 複数アカウントの請求を統合し、1つの請求書としてまとめて表示。
    • 各アカウントのコストを詳細に分析可能。
  • 利点:
    • 割引(Reserved Instances、Savings Plansなど)が組織全体に適用され、コスト削減効果を最大化。
    • アカウントごとの支出状況を把握し、予算管理を効率化。

4.8.5. 5. アカウント分離による運用効率化

  • 特徴:
    • 開発、テスト、本番環境ごとにアカウントを分けることで、環境間の干渉を防止。
    • 組織構造に合わせてアカウントを整理可能(例: 部門ごとやリージョンごと)。
  • 利点:
    • 環境ごとのリスクを分離して運用効率を向上。
    • 開発スピードを犠牲にすることなく、ガバナンスを維持。

4.8.6. 6. 自動化とスケーラビリティ

  • 特徴:
    • APIやAWS CLIを使ったアカウント管理の自動化が可能。
    • 大規模な組織でも柔軟に対応できるスケーラビリティを提供。
  • 利点:
    • 大量のアカウント管理にかかる負担を軽減。
    • 自動化によりヒューマンエラーを削減。

4.8.7. まとめ

AWS Organizationsの活用により、以下のような恩恵を得られます:

メリット 詳細
管理効率の向上 複数アカウントを一元管理し、ガバナンスを強化。
セキュリティの向上 SCPによる高度なアクセス制御とアカウント分離でリスク低減。
コストの最適化 統合請求と割引適用により、コスト管理が容易。
運用効率の向上 アカウント分離と自動化で複雑な運用もスムーズに。

これにより、セキュリティ、コスト、管理効率の観点から、AWS環境を最適に運用できます。

4.9. AWS Control Towerは、AWS環境のガバナンスを自動化して一元管理するためのサービスです。特に複数アカウントを利用する組織において、安全でスケーラブルなマルチアカウント環境を簡単に構築できます。以下に主要な特徴と利点を説明します。


4.9.1. AWS Control Towerの主な特徴

1. Landing Zoneの自動セットアップ
  • 特徴:
    • ベストプラクティスに基づいて、AWS環境の「Landing Zone」を自動で構築。
    • Landing Zoneには、組織アカウントの設定、IAMポリシーの適用、ログ記録用の環境(監査アカウントやログアーカイブアカウント)が含まれます。
  • 利点:
    • セキュアでガバナンスが効いた環境を迅速にセットアップ可能。
    • 初期設定の手間を削減。
2. 複数アカウントの簡単な管理
  • 特徴:
    • AWS Organizationsと統合しており、新しいアカウントの作成や既存アカウントの取り込みが容易。
    • アカウントを組織単位(Organizational Unit: OU)で整理して管理。
  • 利点:
    • アカウントごとの設定や管理作業を効率化。
    • 部門やプロジェクトごとの分離が簡単。
3. ガードレール (Guardrails) の適用
  • 特徴:
    • AWSベストプラクティスに基づく「ガードレール」を使用して、セキュリティやコンプライアンスを強制。
    • ガードレールは、予防(Preventive)と検出(Detective)の2種類があります。
      • 予防型: 違反を防止(例: 不許可のリージョンでのリソース作成を禁止)。
      • 検出型: 違反を検知して通知(例: S3バケットが暗号化されていない場合を検出)。
  • 利点:
    • セキュリティとコンプライアンスを一元管理し、自動化。
    • 組織全体で統一したポリシーを適用。
4. ダッシュボードによる可視化
  • 特徴:
    • AWS Control Tower専用のダッシュボードを使用して、環境のステータスやコンプライアンス状況をリアルタイムで把握可能。
  • 利点:
    • 管理者は環境全体の状態を簡単に監視し、問題が発生した場合に迅速に対応できる。

4.9.2. AWS Control Towerの利点

1. 簡単な初期セットアップ
  • 数クリックでLanding Zoneをセットアップできるため、環境構築に必要な時間と労力を大幅に削減。
2. ガバナンスの強化
  • セキュリティとコンプライアンス要件を簡単に満たし、組織全体のポリシーを強制する仕組みを提供。
3. スケーラビリティ
  • 大規模な組織や複雑なアカウント構成にも対応可能で、環境の拡張が容易。
4. コスト削減
  • 自動化された管理により、運用コストを削減。

4.9.3. AWS Control Towerを使用するユースケース

  1. 企業全体での統一的なAWS環境構築
    • ガードレールを使った統制された環境で、全社規模のAWS導入を加速。
  2. セキュリティ重視のプロジェクト管理
    • セキュリティポリシーを自動適用し、リスクを最小化。
  3. スピード重視の環境セットアップ
    • 新しいプロジェクトや部門ごとに迅速に環境を立ち上げたい場合。

4.9.4. AWS Control TowerとAWS Organizationsの違い

項目 AWS Control Tower AWS Organizations
主な目的 マルチアカウント環境のガバナンスと自動化 アカウントの作成と管理
ポリシーの管理 ガードレールを提供し、簡単にセキュリティを強化 SCPを使用して柔軟にポリシーを適用可能
初期セットアップ 自動化されたLanding Zone構築を提供 手動で設定が必要

AWS Organizationsと組み合わせることで、AWS Control Towerはさらに強力なツールとなります。


4.9.5. まとめ

AWS Control Towerは、特にAWS環境をスピーディかつセキュアに管理したい組織にとって最適なサービスです。Landing Zoneの構築、自動化されたガードレール、統一された管理が可能となり、大規模なAWS運用にも柔軟に対応できます。

5. 2024/12/5 学習内容

AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル | 山下光洋 |本 | 通販 | Amazon」で学習。

5.1. CloudFormationにおけるカスタムリソースの活用

5.1.1. カスタムリソースとは

カスタムリソースは、AWS CloudFormationで標準サポートされていないリソースや特殊な設定を実装するための強力な機能です。

5.1.2. 主な特徴

  1. 柔軟性の高い拡張

    • AWS標準リソース外の機能を追加可能
    • 独自のプロビジョニングロジックを実装できる
  2. 典型的なユースケース

    • 特殊な初期設定の実行
    • 外部システムとの統合
    • 複雑な設定管理
    • 標準リソースでは対応できない特殊な要件

5.1.3. 実装方法

基本的な構成要素
  • Lambda関数: カスタムリソースのロジックを実装
  • CloudFormationテンプレート: カスタムリソースを定義
実装手順
  1. Lambda関数の作成

    • リソースの作成、更新、削除のハンドリング
    • CloudFormationからのリクエストを処理
  2. CloudFormationテンプレートの設定

    1
    2
    3
    4
    5
    6
    7
    
    Resources:
      MyCustomResource:
        Type: 'Custom::MyCustomResourceType'
        Properties:
          ServiceToken: !GetAtt MyLambdaFunction.Arn
          # カスタムパラメータ
          CustomParam: Value
    

5.1.4. 注意点

  • 追加の開発とテストが必要
  • パフォーマンスへの影響を考慮
  • エラーハンドリングを慎重に設計

5.1.5. メリット

  • 高度なカスタマイズ性
  • インフラストラクチャコードへの柔軟な統合
  • 複雑な要件への対応

5.1.6. おすすめの活用シーン

  • 特定のクラウド環境に特化した初期設定
  • サードパーティサービスとの連携
  • 高度な設定管理が必要なプロジェクト

カスタムリソースは、CloudFormationの機能を大幅に拡張し、より柔軟なインフラストラクチャ管理を可能にする強力な機能です。適切に設計・実装することで、複雑なプロビジョニング要件を効率的に解決できます。

5.2. AWS EC2インスタンスのリタイアメント対応自動化戦略

5.2.1. リタイアメントとは

AWSのEC2インスタンスでは、ハードウェアの劣化や計画的なメンテナンスにより、インスタンスのホストが「リタイアメント」状態になることがあります。このイベントに対して、システムの可用性と信頼性を維持するための自動化戦略が重要です。

5.2.2. 自動化の核心

  1. AWS Health APIとEventBridgeの活用

    • リタイアメント予定のインスタンスを事前に検出
    • 自動対応のトリガーを設定
  2. Systems Manager Automationの利用

    • インスタンスの停止
    • 新規インスタンスの自動作成
    • 最小限のサービス中断

5.2.3. 実装のポイント

イベント検出
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
Resources:
  HostRetirementRule:
    Type: AWS::Events::Rule
    Properties:
      EventPattern:
        source:
          - aws.health
        detail-type:
          - "AWS Health Event"
        detail:
          service:
            - EC2
          eventTypeCategory:
            - scheduledChange
          eventTypeCode:
            - AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED
Lambda関数による自動対応
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
def lambda_handler(event, context):
    instance_id = event['detail']['affectedResources'][0]
    
    # 新しいインスタンスの起動
    ec2_client.run_instances(
        ImageId='ami-xxxxxxxx',
        InstanceType=original_instance_type,
        # 他の設定
    )
    
    # 古いインスタンスの停止
    ec2_client.stop_instances(InstanceIds=[instance_id])

5.2.4. メリット

  • プロアクティブな障害対応
  • 最小限のダウンタイム
  • 高可用性の維持
  • 手動操作の削減

5.2.5. 注意点

  • 適切なIAMロールの設定
  • 詳細な設定と事前テスト
  • コストへの考慮

5.2.6. まとめ

AWS EC2のリタイアメントイベントに対する自動化戦略は、クラウドインフラストラクチャの信頼性と効率性を大幅に向上させます。適切に実装することで、予期せぬダウンタイムを防ぎ、継続的なサービス提供を実現できます。

5.3. AWS S3 バッチオペレーションの包括的ガイド

5.3.1. バッチオペレーションとは

S3バッチオペレーションは、数百万のS3オブジェクトを一括で効率的に処理するAWSの強力な機能です。

5.3.2. 主な特徴

  1. 大規模オブジェクト処理

    • 数百万のオブジェクトを一括操作
    • 手動作業の自動化
    • 高い並列処理能力
  2. サポートされる主な操作

    • オブジェクトのコピー
    • データ復元
    • Lambda関数による変換
    • タグ付け
    • アクセスコントロールの変更

5.3.3. 動作の仕組み

  1. 処理対象のオブジェクトリストを作成
  2. ジョブの設定と実行
  3. 結果のトラッキング
  4. レポート生成

5.3.4. コード例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
BatchOperationJob:
  Type: AWS::S3::Job
  Properties:
    Operation: 
      LambdaInvoke:
        FunctionArn: arn:aws:lambda:region:accountid:function:MyTransformFunction
    Manifest:
      Location: 
        Bucket: MySourceBucket
        Key: manifest.csv

5.3.5. メリット

  • 大規模処理の効率化
  • 自動化
  • 詳細なエラーハンドリング
  • 包括的なレポーティング

5.3.6. 主なユースケース

  • 大規模データマイグレーション
  • コンプライアンス対応
  • 大量データのアーカイブ処理
  • メタデータの一括更新

5.3.7. 注意点

  • 追加のコストが発生
  • 適切な設計が必要
  • 事前の十分な計画が重要

5.3.8. まとめ

S3バッチオペレーションは、大規模なストレージ管理を劇的に簡素化する革新的な機能です。適切に活用することで、時間とリソースを大幅に節約できます。

6. 2024/12/7 学習内容

AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル | 山下光洋 |本 | 通販 | Amazon」で学習。

6.1. AWS Global Accelerator のグローバルな静的エニーキャスト IP アドレスとは?

AWS Global Accelerator は、アプリケーションのパフォーマンスと可用性を向上させるために設計されたサービスで、その特徴の一つとして グローバルな静的エニーキャスト IP アドレス を提供します。この機能により、ユーザーは DNS 設定を変更せずに複数リージョンにまたがるアプリケーションを効率的に運用できます。


6.1.1. エニーキャスト IP アドレスとは?

エニーキャスト(Anycast)IP アドレスは、単一の IP アドレスを複数のネットワークエンドポイントに割り当てる技術です。この仕組みにより、クライアントからのトラフィックが地理的に最も近いエンドポイントに自動的にルーティングされます。

AWS Global Accelerator では、グローバルに分散されたエッジロケーションを活用し、クライアントからのトラフィックを最適な AWS リージョンのバックエンドに届けます。


6.1.2. グローバルな静的 IP アドレスの特徴

  1. 静的なグローバル IP

    • AWS Global Accelerator は、2 つの静的エニーキャスト IP アドレスを提供します。これにより、アプリケーションのバックエンドやリージョンが変更されても、IP アドレスは固定され、DNS 設定を変更する必要がありません。
  2. エニーキャストルーティング

    • トラフィックは、ユーザーの地理的位置に基づき最適な AWS エッジロケーションにルーティングされ、レイテンシが低減されます。
  3. リージョン間の自動フェイルオーバー

    • バックエンドの障害時に、トラフィックを別の利用可能なリージョンに自動的にリダイレクトします。
  4. セキュリティと信頼性

    • トラフィックは AWS グローバルネットワーク上でルーティングされるため、高速かつ安全にデータを転送できます。

6.1.3. 利点

  • パフォーマンスの向上
    最も近いエッジロケーションを利用することで、レイテンシを削減し、ユーザー体験を向上。

  • 高可用性
    リージョン間の自動フェイルオーバーにより、障害時でもアプリケーションの稼働を維持。

  • 運用の簡素化
    静的 IP アドレスにより、DNS 設定やトラフィック管理の手間を軽減。

  • グローバルなリーチ
    世界中のユーザーに最適な接続を提供可能。


6.1.4. 典型的なユースケース

  1. グローバルに展開されたウェブアプリケーション

    • 単一の固定 IP アドレスで複数のリージョンにまたがるアプリケーションを提供。
  2. マルチリージョンの高可用性アプリ

    • バックエンドの障害時にトラフィックを他のリージョンに転送し、ダウンタイムを最小化。
  3. オンラインゲーム

    • 世界中のプレイヤーが最も近いエンドポイントに接続し、低レイテンシを実現。
  4. API のグローバル配信

    • グローバルアクセラレータを利用して API リクエストを最適なエンドポイントにルーティング。

6.1.5. 仕組み

  1. エニーキャスト IP の割り当て

    • AWS Global Accelerator により、2 つの固定エニーキャスト IP アドレスが割り当てられます。
  2. トラフィックのルーティング

    • クライアントからのリクエストが、最も近いエッジロケーション(AWS のグローバルネットワークの入口ポイント)にルーティングされます。
  3. バックエンドへの転送

    • エッジロケーションから、トラフィックは最適な AWS リージョンのアプリケーションバックエンド(ALB、NLB、EC2 など)に転送されます。

6.1.6. 導入の注意点

  • 料金

    • Global Accelerator の使用には追加の料金が発生します。コストモデルを十分に理解した上で利用してください。
  • リージョン間転送

    • AWS 内部のトラフィックでも、リージョン間データ転送に料金が発生する可能性があります。
  • 対応エンドポイント

    • Global Accelerator がサポートするエンドポイント(ALB、NLB、EC2 など)を確認してください。

6.1.7. まとめ

AWS Global Accelerator が提供するグローバルな静的エニーキャスト IP アドレスは、グローバル展開されたアプリケーションにおいてパフォーマンス、可用性、運用効率を大幅に向上させます。特に、マルチリージョン環境でのトラフィック管理や災害復旧が重要なシナリオに適しています。

固定 IP アドレスでトラフィックを最適化し、ユーザー体験を向上させたい場合は、Global Accelerator を活用する価値があります。

AWS ElastiCache の Redis と Memcached は、アプリケーションのキャッシュ層として使用される分散型インメモリデータストアですが、それぞれ特徴やユースケースが異なります。以下に主な違いをまとめます。


6.2. AWS ElastiCache の Redis と Memcached の違い

特徴 Redis Memcached
データモデル キーと値だけでなく、リスト・セット・ハッシュなどのデータ構造をサポート シンプルなキーと値のペア(文字列のみ)
永続性 ディスクにデータを保存する永続化が可能 永続化は非対応
スケーリング クラスタリングに対応(自動シャーディング) マルチノード環境を手動で構成する必要
トランザクション トランザクション(MULTI/EXEC)をサポート トランザクションは非対応
データの有効期限 個別のキーに対して設定可能 個別のキーに対して設定可能
プロトコル Redis プロトコル(独自) Memcached プロトコル(簡潔で軽量)
ユースケース 高度なデータ操作、ランキング、セッションストア 単純なキャッシュや読み取りの高速化

6.3. メモ

  • AWS Wavelength
    • 5G ネットワークの超低レイテンシ環境でアプリケーションを実行するためのサービスです。通信事業者(キャリア)の 5G ネットワーク内に AWS のコンピューティングおよびストレージリソースを展開することで、エンドユーザーとの物理的距離を縮め、極めて低い遅延を実現します。
  • AWS Outposts
    • AWS のインフラストラクチャ、サービス、API をお客様のオンプレミス環境に提供するハイブリッドクラウドソリューションです。 オンプレミスで AWS のサービスを利用することで、低レイテンシ要件を満たしつつ、AWS クラウドと一貫した開発・運用体験を実現します。
  • Amazon Keyspaces
    • Apache Cassandra 向けに完全マネージド型のデータベースサービスを提供する AWS サービスです。 Cassandra のスケーラブルで高可用性の NoSQL データベースの特性を活かしつつ、インフラストラクチャの管理や運用負担を軽減する設計がされています。