AWS 認定ソリューションアーキテクト - アソシエイトを学習する中で間違えやすいポイントを備忘録として残しておく
EC2
Auto Scaling
- 動的スケーリング
- 簡易スケーリングポリシー(ターゲッツ追跡スケーリングポリシー)
- 一定の CPU 利用に応じてスケーリングを実行する
- ステップスケーリングポリシー
- スケールさせるインスタンス数を段階的に増やすステップを設定する
- ターミネーションポリシー
- スケールイン時のインスタンスを終了させる方法を定義する
- 簡易スケーリングポリシー(ターゲッツ追跡スケーリングポリシー)
- 手動スケーリング
- 希望する容量を調整して、手動でスケーリングを実施する
- スケジュールさせたスケーリング
- スケーリングを実施する日時を指定して、スケーリングを実行する
AWS Nitro Enclaves
高度な機密情報の保護や安全措置を向上する、分離されたコンピューティング環境を作成することができる
EBS
EBS のコピーについて
EBS 自体は別リージョンに移動して利用することはできない
以下のような手順が必要
- スナップショットを作成
- S3 スナップショットが格納される
- 別リージョンの S3 にコピーする
- 別リージョンのEBS に復元する
EBS の RAID 構成
- RAID 0
- 目的
- パフォーマンスを向上させる
- 複数のディスクを 1 台のディスクのように扱う
- 読み書きを高速化する構成
- ストライピング
- 目的
- RAID 1
- 目的
- ボリュームの冗長性を高める
- 2 つのボリュームを同時にミラーリングする
- 目的
EFS
VPC 内の Amazon EFS ファイルシステムにアクセスする
- VPC に 1 つ以上のマウントターゲットを作成する必要がある
- リージョンファイルシステム
- AWS リージョン内の各アベイラビリティーゾーンにマウントターゲットを作成
- 1 ゾーンファイルシステム
- ファイルシステムと同じアベイラビリティーゾーンにマウントターゲットを 1 つだけ作成
- リージョンファイルシステム
VPC
- Direct Connect
- Direct Connect は AWS とオンプレミス環境間の専用線接続サービス
ゲートウェイ型エンドポイント
- VPC 内の EC2 インスタンスから、プライベートネットワークを経由する
VPC 外の Amazon DynamoDB テーブルにアクセスする際に使用- VPC にゲートウェイエンドポイントを構成して、DynamoDB にルートを設定することが必要
- DynamoDB と Amazon S3 にのみ適用可能
プライペートリンク型エンドポイント(インターフェース型)
- プライベート IP アドレスを使用してサービスにプライベートにアクセスする
- AWS PrivateLink は VPC とサービス間のすべてのネットワークトラフィックを Amazon ネットワークに制限
- RDS, EC2 など多くの AWS サービスに適用可能
- 2022 年より Amazon S3 に対応 ※DynamoDB は未対応
SQS
- 可視性タイムアウト
- 他のカスタマーがそのメッセージの受信や処理できなくなる期間
- デフォルトは 30 秒 ※最小は 0 秒で最大は 12 時間
- 他のカスタマーがそのメッセージの受信や処理できなくなる期間
- デッドレターキュー
- エラーのためにソフトウェアシステムが処理できないメッセージを一時的に保存する特別なタイプのメッセージキュー
- デフォルトでは有効でない
Kinesis
- Kinesis Agent
- Kinesis サービスにデータを簡単に収集して取り込む OSS のスタンドアロン Java アプリケーション
- Kinesis Producer Library (KPL)
- Kinesis Streams にデータを送信する OSS の補助ライブラリ
- Fluent plugin for Amazon Kinesis
- Kinesis Streams と Kinesis Firehose にイベントを送信する OSS の Fluentd 出力プラグイン
- Kinesis Data Generator (KDG)
- KDG を利用して Kinesis Streams or Kinesis Firehose にテストデータを簡単に送信できる
- Kinesis Client Library (KCL)
- KCL を利用して Kinesis アプリケーションを作成する
- OSS のクライアントライブラリで EC2 インスタンスなどにデプロイして利用する
- ワーカーがシャード数に応じて、レコードプロセッサのライフサイクル管理(生成/終了)を実施
Kinesis のサービス
- Kinesis Data Analytics
- SQL や Java(Apache Flink) を使ってストリーミングデータに対してリアルタイム分析を行うことが出来るマネージドサービス
- Kinesis Data Firehose
- 実行内容
- データ形式の変換
- データの配信
- 処理速度
- 60 秒感覚のバッチ
- データ保存
- ストリーム配信自体にはデータ保存不可
- 実行内容
- Kinesis Data Streams
- 実行内容
- 高速なデータ処理
- データ分析・集計
- 複雑なストリーム処理
- 処理速度
- ミリ秒単位のリアルタイム
- データ保存
- 24 時間 〜 365 日
- 実行内容
S3
アクセス制限について
特定の S3 バケットへのアクセス制限は対象によってやり方が異なる
- 特定 IP の EC2 インスタンス
- IAM ロールでのアクセス制御
- 特定ユーザ
- S3 のバケットポリシー
AWS Storage Gateway
オンプレミスから実質無制限のクラウドストレージへのアクセスを提供するハイブリッドクラウドストレージサービス
- Amazon S3 ファイルゲートウェイ
- 業界標準の NFS および SMB ファイルプロトコルを使用
- Amazon S3 にオブジェクトとしてファイルを保存
- Amazon FSx ファイルゲートウェイ
- 業界標準の SMB プロトコルを使用
- フルマネージドで、信頼性の高い、スケーラブルなファイル共有を高速かつ低レイテンシーを提供
- テープゲートウェイ
- 既存のバックアップワークフローを変更することなく、オンプレミスの物理テープの使用から AWS の仮想テープに切り替えることができる
- 仮想テープをオンプレミスでキャッシュすることで、低レイテンシーのデータアクセスを可能にする
- ゲートウェイと AWS の間のデータを暗号化する
- Amazon S3 と Amazon S3 Glacier Flexible Retrieval、または Amazon S3 Glacier Deep Archive の間のデータを圧縮する
その後、仮想テープを送信して、ストレージコストの最小化を図る
- 既存のバックアップワークフローを変更することなく、オンプレミスの物理テープの使用から AWS の仮想テープに切り替えることができる
- ボリュームゲートウェイ
- オンプレミスアプリケーションにクラウドバックアップの iSCSI ブロックストレージボリュームを提供
- キャッシュ型モード
- プライマリデータは Amazon S3 に保存される
- 頻繁にアクセスするデータはキャッシュでローカルに保持され、低レイテンシーでのアクセスが実現できる
- 保管型モード
- プライマリデータはローカルに保存される
- オンプレミスでデータセット全体が低レイテンシーでアクセスできると同時に、Amazon S3 に非同期でバックアップさレル
- キャッシュ型モード
- オンプレミスアプリケーションにクラウドバックアップの iSCSI ブロックストレージボリュームを提供
Amazon FSx for Lustre
Lustre ファイルシステムのスケーラビリティとパフォーマンスを備えたフルマネージド共有ストレージ
- S3 との双方向同期が可能 ※EBS とは不可
IAM
AWS Security Token Service (AWS STS)
AWS リソースへのアクセスをコントロールできる一時的セキュリティ認証情報を持つ、信頼されたユーザーを作成および提供する
- SAML フェデレーション
- 組織のネットワークのユーザーを認証して、それらのユーザに AWS へのアクセスを提供できる ※再度のサインインが不要
- 新しい AWS ID を作成
- 異なるサインイン
- カスタムフェデレーションブローカー
- AWS組織の認証システムを使用して リソースへのアクセスを許可することができる
- SAML 2.0 を使用したフェデレーション
- AWS 組織の認証システムと SAML を使用して、リソースへのアクセスを許可することができる
- 組織のネットワークのユーザーを認証して、それらのユーザに AWS へのアクセスを提供できる ※再度のサインインが不要
- OpenID Connect (OIDC) フェデレーション
- モバイルまたはウェブアプリケーションに対してユーザに一般的なサードパーティ ID プロバイダを使用したサインインを求めることができる
ECS
タスクという単位で、トランザクションをサービス単位に分割して、マイクロサービスとすることができる
他 AWS リソースへのアクセス許可
対象の AWS リソースへのアクセス許可が設定された IAM ポリシーを付与した IAM ロールをタスク IAM ロールとして設定する
※taskRoleArn API オペレーションによって定義
RDS
フェールオーバ対策
- マルチ AZ 配置
- プライマリーDBインスタンスを別のアベイラビリティゾーンに同期的にレプリケートする構成
- マルチ AZ クラスター
- プライマリーDBインスタンスに加えて、それぞれ別のアベイラビリティゾーンに2つのリードレプリカを利用する構成
AWS Elastic Beanstalk
- PaaS サービスで、Web アプリの実行環境を自動的に作成する
- Web アプリのデプロイメントと管理が簡単になる
- CloudFormation の制限版(Web アプリ用)みたいなイメージ
AWS Glue
抽出(Extract)・変換(Transform)・ロード(Load)の頭文字を取った ETL を行う完全マネージド型のサービス
- AWS Glue クローラを利用して S3 バケットを処理して、データをスキャンする
- データ分類、スキーマ情報を抽出する
- AWS Glue データカタログにメタデータを保存する