📝

AWS SAP 勉強メモ

2022/04/28に公開

2022.05.13 合格

AWS Certified Solutions Architect - Professional 認定 | AWS 認定 | AWS
SAP を受験予定なので勉強メモを残していきます。
自分自身の振り返り用ですがどなたかの参考になれば幸いです。

分析

EMR

Hive スクリプト

Apache Hive - Amazon EMR

Hive スクリプトは、Hive QL (クエリ言語) という SQL に似た言語を使用しています。この言語はプログラミングモデルを抽象化しており、データウェアハウスとの一般的なやりとりをサポートします。

S3DistCp

S3DistCp (s3-dist-cp) - Amazon EMR

Using S3DistCp, you can efficiently copy large amounts of data from Amazon S3 into HDFS where it can be processed by subsequent steps in your Amazon EMR cluster.

サポートされている OS バージョン

よくある質問 - Amazon EMR | AWS

Amazon EMR 5.30.0 以降、Amazon EMR 6.x シリーズは、Amazon Linux 2 に基づいています。

EMR での Amazon Linux 2023

Amazon EMR リリース 7.0 が Amazon Linux 2023 のサポートを開始

Amazon EMR リリース 7.0 にはデフォルトで Amazon Linux 2023 が同梱され、Amazon Corretto リリース 17 (OpenJDK に基づく) で実行される Apache Spark 3.5 が搭載されています。

アプリケーション統合

SQS

メッセージ重複排除 ID

Amazon SQS メッセージ重複排除 ID の使用 - Amazon Simple Queue Service

メッセージ重複排除 ID は、Amazon SQSFIFOキューでのみ重複するメッセージ配信を防ぐために使用されるトークンです。

メッセージグループ ID

Amazon SQS メッセージグループ ID の使用 - Amazon Simple Queue Service

MessageGroupId は、メッセージが特定のメッセージグループに属することを指定するタグです。同じメッセージグループに属するメッセージは、常にメッセージグループに対して厳密な順序で1通ずつ処理されます

Step Functions

Express ワークフロー

Step Functions でワークフロータイプを選択する - AWS Step Functions

Express ワークフローは、IoT のデータインジェスト、ストリーミングデータ処理と変換、モバイルアプリケーションのバックエンドなど、大容量のイベント処理ワークロードに最適です。これらのワークフローは最大 5 分間実行できます。Express ワークフローは、少なくとも 1 回は実行されるモデルですが、複数回実行される可能性もあります。

ブロックチェーン

Managed Blockchain

投票

特徴 - Amazon Managed Blockchain | AWS

許可されたブロックチェーンネットワークを構築するときに、既存のメンバーが新しいメンバーの追加 (または削除) に投票できるようにするためには、カスタム開発と許可管理が必要になる可能性があります。

クラウド財務管理

Cost and Usage Report

コスト使用状況レポートはメンバーアカウントでも作成可能

Using Cost and Usage Reports for AWS Organizations - AWS Data Exports

In AWS Organizations, both management accounts and member accounts can create Cost and Usage Reports.

コンピューティング

Batch

ジョブキューの優先度

ジョブキュー - AWS Batch

ジョブキューには優先順位があり、この順位に基づいてスケジューラはどのキューのどのジョブを最初に実行かを判断します。

EC2

EC2 インスタンスの休止

Amazon EC2 インスタンスの休止 - Amazon Elastic Compute Cloud

インスタンスを休止すると、Amazon EC2 によってオペレーティングシステムに休止の実行 (suspend-to-disk) が指示されます。

EC2 I3 インスタンス

Amazon EC2 I3 インスタンス | AWS

Amazon EC2 I3 インスタンスは、高いトランザクションで低レイテンシーのワークロード向けにストレージを最適化した次世代のインスタンスです。

EC2 P5 インスタンス

Amazon EC2 P5 インスタンス – AWS

NVIDIA H100 Tensor Core GPU を搭載した Amazon Elastic Compute Cloud (Amazon EC2) P5 インスタンス、および NVIDIA H200 Tensor Core GPU を搭載した P5e インスタンスと P5en インスタンスは、深層学習 (DL) およびハイパフォーマンスコンピューティング (HPC) アプリケーションのために Amazon EC2 で極めて高いパフォーマンスを発揮します。

EC2 G6 インスタンス

インスタンスタイプ - Amazon EC2 | AWS

Amazon EC2 G6 インスタンスは、グラフィックを大量に使用するアプリケーションや機械学習推論を加速するために設計されています。

プライマリ ENI

Elastic Network Interface - Amazon Elastic Compute Cloud

プライマリネットワークインターフェイスをインスタンスからデタッチすることはできません。

シングルルート I/O 仮想化

Amazon EC2 インスタンスでの拡張ネットワーキング - Amazon Elastic Compute Cloud

拡張ネットワーキングでは、シングルルート I/O 仮想化 (SR-IOV) を使用して、サポートされるインスタンスタイプにおける高性能ネットワーキング機能が提供されます。

仮想化タイプ

Amazon EC2 の AMI タイプと特性 - Amazon Elastic Compute Cloud

Amazon マシンイメージ では、2 つの仮想化タイプ (準仮想化 (PV) およびハードウェア仮想マシン (HVM)) のどちらかを使用します。

Paravirtual ドライバー

Windows インスタンス用 Paravirtual ドライバー - Amazon Elastic Compute Cloud

Windows AMI には、仮想ハードウェアにアクセスできるようにするためのドライバー一式が含まれています。

AMI ツール

アマゾン EC2 AMI ツールのセットアップ - Amazon Elastic Compute Cloud

AMI ツールを使用して、インスタンスストアバック Linux AMIs を作成および管理できます。

Windows インスタンスのアップグレード

EC2 Windows インスタンスのより新しいバージョンの Windows Server へのアップグレード - Amazon Elastic Compute Cloud

インプレースアップグレードは既存インスタンスで動作します。このプロセス中に影響を受けるのはオペレーティングシステムファイルのみであり、設定、サーバーロール、データはそのまま残ります。
移行では設定、構成、データを取り込み、この情報を新しい EC2 Windows インスタンス上のより新しいバージョンのオペレーティングシステムに移行します。

EC2 Auto Scaling

SQS に基づくスケーリング

Amazon SQS に基づくスケーリングポリシー - アマゾン EC2 Auto Scaling

インスタンスあたりのバックログのメトリクスを使用して、ターゲット値を維持するインスタンスあたりの適正バックログにすることです。

コンテナ

EKS

EKS クラスター作成時のサブネット

VPC とサブネットの Amazon EKS ネットワーキング要件を表示する - アマゾン EKS

クラスターを作成する際には、VPC と、異なるアベイラビリティーゾーンに存在する 2 つ以上のサブネットを指定します。

EKS への移行におけるリファクタリング

Amazon EKS とは - アマゾン EKS

標準的な Kubernetes アプリケーションであれば、コードをリファクタリングすることなく、簡単に Amazon EKS に移行できます。

データベース

ElastiCache

ElastiCache の自動検出

クラスター (Memcached) 内のノードを自動的に識別する - Amazon ElastiCache

自動検出は、Amazon ElastiCache Memcached で実行されているキャッシュクラスターに追加されます。自動検出は、Valkey または Redis OSS エンジンでは使用できません。

フェイルオーバー

Valkey、Memcached、Redis のOSS独自設計型キャッシュの比較 - Amazon ElastiCache

Memcached Valkey または Redis OSS (クラスターモードが無効 Valkey または Redis OSS (クラスターモードが有効)
自動フェイルオーバー いいえ オプションです。 必須

Redis の AOF

Redis persistence | Docs

AOF (Append Only File): AOF persistence logs every write operation received by the server. These operations can then be replayed again at server startup, reconstructing the original dataset. Commands are logged using the same format as the Redis protocol itself.

RDS

RDS リードレプリカは別リージョンに作成可能

別の AWS リージョン でのリードレプリカの作成 - Amazon Relational Database Service

Amazon RDS では、リードレプリカをソース DB インスタンスとは異なる AWS リージョン に作成できます。

Aurora エンドポイントのタイプ

Amazon Aurora エンドポイント接続 - Amazon Aurora

  • クラスターエンドポイント: プライマリインスタンスに接続
  • リーダーエンドポイント: クエリを実行
  • インスタンスエンドポイント: 特定の DB インスタンスの詳細を調べて診断やチューニングを行う
  • カスタムエンドポイント: DB クラスター上の DB インスタンスのさまざまなサブセットに接続
  • Global Database ライターエンドポイント: リージョン間フェイルオーバーで自動的にエンドポイントを切り替える

VACUUM コマンド

Amazon RDS for PostgreSQL 環境の自動バキュームを理解する | Amazon Web Services ブログ

UPDATE および DELETE が原因で期限切れになった行は、dead 行またはデッドタプルと呼ばれます。このようなデッドタプルを持つテーブルは、肥大化したテーブルです。 そのような dead 行をクリーンアップしない限り、それが使用しているスペースを再利用または削除することはできません。このような dead 行を再利用するには、VACUUM コマンドを使用します。

Parallel Query

Amazon Aurora Parallel Query | AWS

Parallel Query は Aurora 独自のアーキテクチャを利用して、Aurora ストレージレイヤー内の数千もの CPU にわたってクエリ処理をプッシュダウンし、並列化します。

Aurora Serverless v2

Amazon Aurora Serverless | AWS

Amazon Aurora Serverless v2 は、ほんの一瞬で数十万ものトランザクションにスケールできます。

RDS の IP アドレス

RDS for SQL Server にリンクサーバーを作成する | AWS re:Post

Amazon RDS では、IP アドレスは動的で、エンドポイントは静的です。そのため、エンドポイントを使用してインスタンスに接続するのがベストプラクティスです。

DynamoDB

FGAC

IAM ユーザーまたはロールを DynamoDB テーブルの特定の属性に制限する | AWS re:Post

FGAC を使用することで、DynamoDB テーブルでの読み取りと書き込み操作の両方について、個々の項目、もしくは項目の属性へのアクセスを制御できるようになります。

Redshift

Redshift のノードはオンデマンドかリザーブド

料金 - Amazon Redshift | AWS

オンデマンド料金を選択すると、クラスターが使用されていないときにオンデマンド料金を中断するために、一時停止と再開の機能を使用できます。また、安定状態のワークロードのためにオンデマンドインスタンスの代わりにリザーブドインスタンスを選択し、オンデマンド料金よりも大幅な割引を受けることができます。

クエリのハングへのアプローチ

クエリがハングする - Amazon Redshift

  • 最大送信単位 (MTU) のサイズを小さくする
  • クライアントシステムで TCP/IP タイムアウト値を大きく設定する
  • DSN レベルでキープアライブの動作を設定する
  • カーソルを使用する
  • JDBC フェッチサイズパラメータを設定する

カーソル

DECLARE - Amazon Redshift

カーソルを使用して、大きなクエリセットの結果から、一度で数行を取得します。

フロントエンドのウェブとモバイル

API Gateway

メソッドレスポンス

API Gateway でメソッドレスポンスをセットアップする - Amazon API Gateway

出力データには、HTTP ステータスコード、一部のヘッダー、さらに場合によっては本文が含まれます。

統合レスポンス

API Gateway で統合レスポンスを設定する - Amazon API Gateway

バックエンドレスポンスは HTTP レスポンスです。統合レスポンスのステータスコードは、バックエンドが返すステータスコードであり、統合レスポンスの本文は、バックエンドが返すペイロードです。

機械学習

Rekognition

コレクション

コレクション内での顔の検索 - Amazon Rekognition

Amazon Rekognition を使用すると、入力された顔を使用して、保存されている顔のコレクションから一致する顔を検索できます。まず、検出した顔の情報を、サーバー側のコンテナである「コレクション」に保存します。

マネジメントとガバナンス

CloudFormation

CreationPolicy

CloudFormation テンプレートで待機条件を作成する - AWS CloudFormation

Amazon EC2 および Auto Scaling リソースについては、待機条件ではなく CreationPolicy 属性を使用することをお勧めします。

CloudTrail

sharedEventID

CloudTrail レコードの内容 - AWS CloudTrail

sharedEventID フィールドは、CloudTrail イベントが複数のアカウントに配信された場合にのみ表示されます。

Systems Manager

EC2Rescue

到達不可能なインスタンスでの EC2Rescue ツールの実行 - AWS Systems Manager

ツールを自動的に実行するには、Systems Manager Automation と AWSSupport-ExecuteEC2Rescue ランブックを使用します。

State Manager と Maintenance Windows の選択

State Manager または Maintenance Windows の選択 - AWS Systems Manager

State Manager と Maintenance Windows (どちらも AWS Systems Manager のツール) は、マネージドノードで同様の種類の更新を実行できます。どちらを選択するかは、システムコンプライアンスを自動化する必要があるか、指定した期間中に優先度の高い、時間的制約のあるタスクを実行するかによって異なります。

メディアサービス

Kinesis Video Streams

GetHLSStreamingSessionURL

GetHLSStreamingSessionURL - Amazon Kinesis Video Streams

ストリームのHTTPライブストリーミング (HLS) URL を取得します。その後、ブラウザまたはメディアプレイヤーURLで を開いて、ストリームの内容を表示できます。

移行と転送

Application Discovery Service

Application Discovery Service とは

よくある質問 - AWS Application Discovery Service | AWS

AWS Application Discovery Service は企業のお客様が自社の IT 環境内のサーバーの設定、使用、動作の状態を把握できるようデータを収集し、提供するサービスです。

DMS

S3 をソースにした移行

AWS DMS のソースとしての Amazon RS3 の使用 - AWS Database Migration Service

AWS DMS を使用して Amazon S3バケットからデータを移行できます。

ネットワークとコンテンツ配信

CloudFront

No 'Access-Control-Allow-Origin' header is present on the requested resource

CloudFront からの「アクセス制御-オリジン許可ヘッダなし」エラーを解決する | AWS re:Post

オリジンのクロスオリジンリソースシェアリング (CORS) ポリシーで、オリジンに Access-Control-Allow-Origin ヘッダーを返すことが許可されていることを確認します
適切なヘッダーをオリジンサーバーに転送するように CloudFront ディストリビューションを設定する
CloudFront ディストリビューションのキャッシュ動作を、HTTP リクエストの OPTIONS メソッドを許可する設定にする
必要なアクセスコントロールオリジン許可ヘッダーを返すように CloudFront レスポンスポリシーを設定する

SNI

CloudFront で HTTPS リクエストを処理する方法を選択する - Amazon CloudFront

SNI を使用して HTTPS リクエストに対応するように CloudFront を設定した場合、CloudFront は代替ドメイン名を各エッジロケーションの IP アドレスと関連付けます。

地理的制限

コンテンツの地理的配分を制限する - Amazon CloudFront

地理的制限が国境と一致していない場合や、特定のディストリビューションで配信するファイルの一部にのみアクセスを制限する必要がある場合は、CloudFront とサードパーティーの位置情報サービスを組み合わせることができます。

s-maxage

コンテンツをキャッシュに保持する期間 (有効期限) を管理する - Amazon CloudFront

個々のファイルのキャッシュ保持期間を変更するには、ファイルに Cache-Control または max-age ディレクティブが付いた s-maxage を追加するか、Expires ヘッダーフィールドを追加するようにオリジンを設定します。

Direct Connect

パブリックVIF

PowerPoint Presentation

パブリックVIFを使用して中国を除く全リージョンのパブリックサービスへの接続を提供

ELB

Configure sticky sessions for your Classic Load Balancer - Elastic Load Balancing

Elastic Load Balancing creates a cookie, named AWSELB, that is used to map the session to the instance.

Application Load Balancer のターゲットグループ属性を編集する - エラスティックロードバランシング

Cookie 名に AWSALB、AWSALBAPP、または AWSALBTG を使用しないでください。これらは、ロードバランサーで使用するために予約されています。

クロスゾーン負荷分散のデフォルト値

Elastic Load Balancing の仕組み - エラスティックロードバランシング

  • ALB: 有効
  • NLB: 無効
  • GWLB: 無効
  • CLB
    • API 経由で作成した場合は無効
    • コンソールではデフォルトで有効なオプションが選択されている

不均等ルーティングの原因

ELB の不均等なトラフィックルーティングのトラブルシューティング | AWS re:Post

  • クライアントが TTL の有効期限が切れた DNS レコードを持つ ELB ノードの誤った IP アドレスにリクエストをルーティングしている
  • スティッキーセッションが有効になっている
  • 利用可能な正常なインスタンスが AZ 間で均等に分散されていない
  • 特定のキャパシティータイプのインスタンスが AZ 間で均等に分散されていない
  • クライアントとインスタンスの間に存続期間の長い TCP 接続がある
  • WebSocket 接続を使用している

CLB の SurgeQueueLength

Elastic Load Balancing 容量のトラブルシューティング | AWS re:Post

SurgeQueueLength は、Classic Load Balancer によってキューに入れられたリクエストの総数を測定します。

CLB の SpilloverCount

Elastic Load Balancing 容量のトラブルシューティング | AWS re:Post

リクエストが最大の SurgeQueueLength を超えると、SpilloverCount メトリクスは拒否されたリクエストの測定を開始します。

Route 53

複数値回答ルーティングポリシー

複数値回答ルーティングポリシーとシンプルルーティングポリシーの違い | AWS re:Post

複数値回答ルーティングは、Elastic Load Balancing (ELB) に代わるものではありません。

シャッフルシャーディング

シャッフルシャーディングを使ったワークロードの分離

エニーキャストストライピング

Amazon Route 53 および AWS Shield を使用した DDoS リスクの軽減 | Amazon Web Services ブログ

エニーキャストストライピングは、最適な場所に DNS リクエストをダイレクトするために使用されます。これは、負荷を分散して DNS レイテンシーを減らす効果があります。

Transit Gateway

Transit Gateway ネットワークマネージャー

AWS Transit Gatewayの新機能– Network Managerを使用してグローバルネットワークを構築し、モニタリングを集中化 | Amazon Web Services ブログ

Network Managerを使用すると、Transit Gatewayおよびオンプレミスリソースを登録するだけで、プライベートネットワークのグローバルビューを設定できます。グローバルネットワークは、一元化された運用ダッシュボードを介して視覚化および監視できます。

VPC

NACL の一時ポート

一時ポート - Amazon Virtual Private Cloud

範囲は、クライアントのオペレーティングシステムによって変わります。

Site-to-Site VPN

静的および動的ルーティング

での静的および動的ルーティング AWS Site-to-Site VPN - AWS Site-to-Site VPN

BGP アドバタイズをサポートするデバイスを使用する場合、デバイスは BGPを使用して仮想プライベートゲートウェイに Site-to-Siteルートをアドバタイズするため、VPN接続への静的ルートを指定しません。BGP アドバタイズをサポートしていないデバイスを使用する場合は、静的ルーティングを選択し、仮想プライベートゲートウェイに伝えるネットワークのルート (IP プレフィックス) を入力する必要があります。

Site-to-Site VPN の暗号化

What is AWS Site-to-Site VPN? - AWS Site-to-Site VPN

Site-to-Site VPN supports Internet Protocol security (IPsec) VPN connections.

Client VPN の暗号化

Data protection in AWS Client VPN - AWS Client VPN

Use SSL/TLS to communicate with AWS resources. We require TLS 1.2 and recommend TLS 1.3.

Site-to-Site VPN の冗長化

フェイルオーバー用の冗長 AWS Site-to-Site VPN 接続 - AWS Site-to-Site VPN

カスタマーゲートウェイデバイスが使用できなくなった場合に接続が失われるのを防ぐために、2 番目の Site-to-Siteカスタマーゲートウェイデバイスを追加することで、 VPCと仮想プライベートゲートウェイへの 2 番目のVPN接続を設定できます。

セキュリティ、アイデンティティ、コンプライアンス

CloudHSM

SSL/TLS オフロード

AWS CloudHSM の SSL/TLS オフロードでウェブサーバーのセキュリティを向上させる - AWS CloudHSM

オフロードすることで、ウェブサーバーの計算負荷が軽減され、サーバーのプライベートキーを HSM に保存することでセキュリティが強化されます。

IAM

AssumeRole と GetSessionToken

MFA を使用した安全な API アクセス - AWS Identity and Access Management

GetSessionToken によって返される一時的な認証情報には MFA 情報が含まれているので、認証情報によって実行される各 API オペレーションで MFA を確認できます。
AssumeRole によって返される一時的な認証情報のコンテキストには MFA 情報が含まれていないので、MFA に対する個別の API オペレーションを確認できません。

ForAllValues

単一値と複数値のコンテキストキー - AWS Identity and Access Management

この限定子は、リクエストセットのすべてのメンバーの値が条件コンテキストキーセットのサブセットであるかどうかをテストします。

ForAnyValue

単一値と複数値のコンテキストキー - AWS Identity and Access Management

この限定子は、リクエストコンテキストキーの値のセットの、少なくとも 1 つのメンバーが、ポリシー条件にあるコンテキストキーバリューのセットの、少なくとも 1 つのメンバーと一致するかどうかをテストします。

GetFederationToken

GetFederationToken のアクセス権限 - AWS Identity and Access Management

GetFederationToken オペレーションは、IAM ユーザーによって呼び出され、そのユーザーの一時的な認証情報を返します。

ストレージ

EBS

EBS 暗号化

Amazon EBS暗号化 - アマゾン EBS

1 つのインスタンスに対し、暗号化されたボリュームと暗号化されていないボリュームの両方を、同時にアタッチできます。

EFS

EFS でもリージョン間レプリケーションが可能

新しい EFS ファイルシステムへのレプリケーションの設定 - Amazon Elastic File System

Amazon EFS は自動的に新しいファイルシステムを作成し、ソースファイルシステムのデータとメタデータを、選択した AWS リージョンにある新しい読み取り専用のデスティネーションファイルシステムにコピーします。

S3

s3 sync コマンド

AWS CLI での高レベル (s3) コマンドの使用 - AWS Command Line Interface

s3 sync コマンドはバケットとディレクトリの内容、または 2 つのバケットの内容を同期します。通常、s3 sync は欠落しているか古くなったファイルやオブジェクトを、ソースとターゲットの間でコピーします。ただし、--delete オプションを指定して、ソースに存在しないファイルまたはオブジェクトをターゲットから削除することもできます。

Glacier へのクエリ

復元された Amazon S3 Glacier オブジェクトをクエリする - Amazon Athena

Athena を使用して、S3 Glacier Flexible Retrieval (以前の Glacier) および S3 Glacier Deep Archive Amazon S3 ストレージクラスから復元されたオブジェクトをクエリできます。

SSE−C のビット数

お客様が指定したキーによるサーバー側の暗号化 (SSE−C) の使用 - Amazon Simple Storage Service

  • x-amz-server-side​-encryption​-customer-key: 256 ビットの暗号化キーを指定する際に仕様
  • x-amz-server-side​-encryption​-customer-key-MD5: 128 ビット MD5 ダイジェストを指定する使用

リクエスタ支払い

ストレージ転送と使用量のリクエスタ支払いバケットの使用 - Amazon Simple Storage Service

料金を受け入れることを示すには、リクエスタが DELETE、GET、HEAD、POST、PUT リクエストの API リクエストにヘッダーとして x-amz-request-payer を含めるか、REST リクエストに RequestPayer パラメータを追加する必要があります。CLI リクエストの場合、リクエスタは --request-payer パラメータを使用できます。

Discussion