◆AWS SAA
Amazon RDS
用途:業務データ処理
拡張モニタリング
・最大15個のリードレプリカを作成することができる
・マルチAZ配置によって生成されるスタンバイDBは、フェイルオーバー時の切替前には使用できません。
・ファイルシステムに直接アクセスできない
・RDS Proxy :Lambda関数からのDB接続を効率的に管理できます。
以下の変更によってパフォーマンス向上が可能
・インスタンスサイズ
・インスタンスタイプ 例:db.m5d
・ストレージタイプ 例:プロビジョンドIOPS
S3
用途:画像コンテンツ、動画
・S3 Access Analyzer
→不正なアカウントアクセス設定が存在しないかを確認
・ストレージクラス分析
・Amazon Athena ※Amazon S3 Selectは選ばないこと!
→実際の検索対象となるS3バケットからテーブルを作成
・Amazon EMR “Elastic MapReduce(エラスティック・マップリデュース)”
→AWS のビッグデータ処理サービスで、Hadoop や Spark などの分散処理フレームワークを簡単に実行できるようにしたもの
Amazon S3バケットのデータをニアリアルタイムに処理
・オブジェクトロック →オブジェクトのバージョン上書き、削除ができなくなる
強:コンプライアンスモード
弱:ガバナンスモード
・S3バージョニング
クロスリージョンレプリケーション
宛先バケットのバケットポリシーを作成して、オブジェクトの所有権を宛先 S3 バケットの所有者に変更する。
リソースポリシーはリソース側でアクセス制御をする際に設定するポリシー
バケットポリシー
デフォルトではアクセス許可
IAMポリシーとバケットポリシーの両方で許可を設定する必要があります。
** Amazon OpenSearch Service** → Amazon RDSやAmazon S3内のデータを検索する仕組みを実現
Amazon S3 Express One Zone
→S3の中で最も高いスループットと低いレイテンシーを提供
***事前署名付きURL ***:特定のオブジェクトに一時的にアクセスできる特別なURLを生成することができます。
Amazon Athena :大量のクリックストリームデータをリアルタイムに迅速に分析する際には向いていません。
AWS Glueでデータ転送(DynamoDB → S3)
Amazon Data Firehoseでデータ転送(→ S3)
DynamoDB
用途:セッションデータやユーザー設定、メタデータ
DynamoDBとAppSyncを組み合わせてリアルタイムランキング機能を実現することが推奨されます。
・NASストレージ EFS
・SMBストレージ Amazon FSx for Windows File Server
・Lustreファイルシステム Amazon FSx for Lustre
強い整合性モデル
データの更新時にデータベースをロックすることで、過去のデータが参照されることを防ぎ、データの一貫性を確保します。
しかし、ロックの時間が長くなると、その間のデータベースへのアクセスが制限され、可用性が低下する可能性があります。
結果整合性モデル
データの更新時にデータベースをロックしないため、可用性とスケーラビリティを保つことができます。
ただし、データ更新中に読み取りリクエストが行われると、データの整合性が保証されないことになります。
Amazon DynamoDB Accelerator(DAX)は、後から暗号化を有効にすることはできません。
Amazon Aurora(リレーショナルデータベース)
フェイルオーバーの実行時間は、Amazon Auroraレプリカを作成している場合、通常30秒以内で完了する
Amazon Auroraサーバレスは、DBインスタンスを常に起動せずにオンデマンドで自動スケーリングを行うAurora DBの構成
コストと性能:Amazon Aurora Global Database>クロスリージョンリードレプリカ
Amazon Aurora Global Database:データベースクラスターが複数のAWSリージョンに配置されます。
この構成により、特定のリージョンからの低レイテンシーなグローバル読み取りが実現される
Amazon Redshift
データ解析に特化したリレーショナルデータベース型のデータウェアハウス
**WorkLoad Management(WLM)**を活用することで、クエリ処理をキューに登録し、実行の順序を設定することが可能になります。
AWS Schema Conversion Tool(AWS SCT)
→既存のデータベーススキーマをあるデータベースエンジンから別のデータベースエンジンに変換するサービス
リージョン
>
VPC →・DNSサーバを設定 ・VPCピアリング接続:異なるVPC間を接続する機能 ・Amazon EFS
>
AZ
>
サブネット ネットワークACL(ステートレス)、デフォルトで許可、数値が低いものから高いものへと順に評価され、低い数値のルールが優先されます。
>
リソース(アプリケーションサーバー) セキュリティグループ(ステートフル)、基本拒否(同じセキュリティグループ内通信のみ許可)
Kinesis Data Streams
・Amazon Managed Service for Apache Flink
以前はAmazon Kinesis Data Analyticsとして知られていたリアルタイムデータ分析の機能です。
Kinesis Data Streamsによって付与されたシーケンス番号が存在するため、メッセージの損失や重複がなく、到着した順序での伝送が実現できます。
APIゲートウェイ
スロットリング制限を設定し、キャッシュ機能
API Gatewayは、APIを通じてバックエンドサービスへのHTTPアクセスを提供するAPI管理サービスです。
Lambda関数
Lambdaレイヤー
→複数のLambda関数間でライブラリを共有するための仕組みであり、共通機能をレイヤーにまとめることで、効率的な構成(重複部分を共有)が可能
Lambda関数のリソースベースのポリシーを用いてアクセス許可設定
デッドレターキューは、Lambda関数の処理が失敗した際に、その失敗したイベントを保存する仕組み
関数URL(Function URLs)機能により、API Gatewayを経由せずにパブリックに公開されるAPIや、簡易な認証を実装したAPIをAWS Lambdaに設定することが可能となりました。
ECS
タスク定義によってタスクを分割する
コンテナベースのアプリケーションを常に稼働させる必要があるためコスト効率は劣る
EKS
TaintとToleration
・Amazon ElastiCache Redis OSSクラスター
→複雑、高性能
保存されたデータを永続的に保持○、データパーティショニング○
・Amazon ElastiCache Memcachedクラスター
→シンプル
保存されたデータを永続的に保持✖、データパーティショニング✖
・Amazon DataZone データセットを共有
・AWS Load Balancer Controller :Amazon EKS専用の機能
CloudWatch Container Insightsを導入することで、コンテナ化されたアプリケーションやマイクロサービスのメトリクスおよびログを収集し、可視化することが可能です。
ポート番号
・22番 SSH
・80番ポートは HTTP(Web通信)の標準ポート
・3306番ポートは MySQL / MariaDB が標準で使うポート番号
EC2
CPU使用率はCloudWatchの標準メトリクスとして取得される
EC2インスタンスタイプ
ストレージ最適化タイプ :低レイテンシー、非常に高いランダムI/Oパフォーマンス、
優れたシーケンシャルリードスループットに最適化されたNon-Volatile Memory Express (NVMe) SSDを搭載したインスタンスストレージ
高速コンピューティングタイプ:クラウドにおける機械学習のトレーニングやハイパフォーマンスコンピューティング
AMI :起動設定ではなく、起動テンプレートを利用することが求められています。
EBSボリューム
DeleteOnTermination属性に基づいて、そのボリュームを保持するか、または削除するかを決定します。
Amazon EBSのプロビジョンド IOPS SSD (io2) Block Express ※プロビジョンド IOPS SSD (io2) ボリュームは古いタイプのボリューム
新たにアタッチしたEBSボリュームを利用するためには、ボリューム内にファイルシステムを構成する必要があります。
暗号化を構成後に実施することはできません
EFS ※レイテンシーとスループットは別
汎用モード :レイテンシーが最も低い
最大I/Oモード :高いスループット
バーストスループットモード:ファイルシステムのサイズに応じてスループットがスケール
プロビジョニングモード :事前にスループット性能を確保
移行
・Migration Hub Orchestrator
→大規模エンタープライズアプリケーションの移行に特化
・AWS Application Migration Service
→オンプレミスの物理サーバーや仮想マシン、他のクラウド上のワークロード
・AWS DataSync
→オンプレミスとAWSのストレージサービス間でのデータ転送を自動化するためのサービス
オンプレミスのサーバーにAWS DataSyncエージェントをインストールすることで、データをAmazon S3バケットに移行することが可能
Auto Scaling
EC2タイプとELBタイプの2種類から選択する必要があります。
・EC2タイプ →インスタンスのステータス
・ELBタイプ →ヘルスチェック
最大キャパシティ スケールアウト時に起動するインスタンスの最大数
最小キャパシティ スケールイン時に削減するインスタンスの下限数
希望するキャパシティ Auto Scalingが実行されない状態でのインスタンス数
◇動的スケーリング機能
ステップスケーリングポリシー :一連のスケーリング調整値に基づいて、Auto Scaling グループのインスタンス数を調整するためのポリシー
簡易スケーリングポリシー :上限および下限の閾値を設定し、その閾値を超えた場合にスケーリングを実行
ターゲット追跡スケーリングポリシー :CPUの平均使用率や平均ネットワーク入力などのしきい値を設定し、それに基づいてインスタンスの数を調整
◇ターミネーションポリシー(終了ポリシー)
NewestInstance :新たに設置されたインスタンスを削除するためのポリシー設定
OldestLaunchConfiguration :最も古い起動設定に基づいてインスタンスを削除する
Approximate Number Of Messages属性
インスタンスの利用数制限は現在はvCPUによって計測されています。
ルーティング
複数値回答ルーティング
各リソースの正常性を確認するために、Route 53は正常なリソースに対してのみ値を返すことが可能です。
これにより、IPアドレスごとに正常・非正常を判断し、適切なルーティングを行うことができます。
EC2 ※EC2インスタンスには直接にデータが保存されていない
ステートフル
ステートレス
→分散処理に適しており、分散アプリケーションのパフォーマンスを向上させる
ELB
プライベートサブネット内のインスタンスへの通信のためにはALBはプライベートサブネットではなく、パブリックサブネットに配置する必要があります。(パブリックインターネットと接続しない場合)
Route53
①アクティブ/アクティブ
→フェイルオーバールーティングポリシー以外のルーティングポリシー
②アクティブ/パッシブ
→フェイルオーバールーティングを利用
複雑なルーティングを設定するためには、トラフィックフローを利用してルーティングの順序を詳細に定義します。
パブリックホストゾーン :特定のドメインのトラフィックをインターネットまたは特定のドメインにルーティングする方法に関する情報を保持するコンテナ
プライベートホストゾーン :Amazon VPCサービスで作成された1つ以上のVPC内のドメインおよびそのサブドメインに対するDNSクエリに対し、Amazon Route 53がどのように応答するかの情報を保持するコンテナ
■位置情報ルーティングポリシー :ユーザーの位置情報に応じて表示言語やトラフィック処理の方法を調整することが可能
■地理的近接性ルーティングポリシー :配信リソースの地理的範囲を調整する手法
Route 53のドメイン設定において、CloudFrontなどのAWSリソースをRoute 53レコードに設定するためにはALIASレコードを使用する必要があります。
AWS SAM(Serverless Application Model)
AWS が提供する サーバーレスアプリケーションを簡単に構築・デプロイするためのフレームワーク
CloudFormation をベースにしている
①AWS SAMを利用してLambda関数をデプロイする際は、AWS SAMを利用したテンプレートをAmazon S3バケットにパッケージ化して保存する必要があります。
②CloudFormationテンプレート内でAWS::Serverless Transform設定において使用するAWS SAMのバージョンを指定することが求められます。
CloudFront
オリジンが一意のオブジェクトを返すクエリ文字列パラメータのみを転送するようにCloudFrontを構成することにより、キャッシュヒット率を改善することが可能です。
オリジンアクセスアイデンティティ(OAI)、オリジンアクセスコントロール (OAC) に対してのみS3バケット内の読み取り権限を付与するS3バケットポリシーを構成することで
S3オブジェクトのURLへの直接アクセスを制限することが可能
エッジロケーションの価格クラスにはAll、200、100の3つあります。クラスが高くなるほど、より多くの高額な地理的リージョンが使用されます。
Accept-Languageリクエストヘッダーを使用することで、CloudFront経由でのアクセス時に、ユーザーごとにHTTPSリクエストごとに異なる言語表示を実現できます。
AWS WAFのReferer制限機能は特定のURLリンクへの直接的な参照を制限することができます。
AWS Firewall Manager
AWS Organizationsと統合されており
RPO は Recovery Point Objective(目標復旧時点)、RTO は Recovery Time Objective(目標復旧時間)
分散アーキテクチャの構築
Amazon SQSとAWS Step Functions
CloudFormation
**「変更セット」**を利用することで、スタックの変更が実行中のリソースに及ぼす影響を把握することができます。
AWS CloudFormationを使用してリソースを展開する際には、CloudFormationの利用権限に加え、CloudFormationテンプレートによって展開されるリソースに対する権限も必要
Outputs セクション:他の CloudFormation テンプレートから参照するように構成できます。
Outputs セクションでエクスポートした場合、他の CloudFormation テンプレートでは ImportValue 組み込み関数を使用してその値を参照することができます。
Global Accelerator
ユーザートラフィックをクライアントに最も近いアプリケーションエンドポイントに誘導し、レイテンシーを軽減します。
接続系
AWS Direct Connect :オンプレミス環境とVPC間の専用線接続
AWSサイト間VPN :オンプレミス環境とVPC間のVPN接続
AWS Transit Gateway : 複数のVPCを接続
カスタマーゲートウェイ :オンプレミス側に配置
NATゲートウェイ :パブリックサブネットに配置
AWS PrivateLink :VPCとサードパーティーアプリケーションAPIとの間にプライベート接続
VPCエンドポイント
→VPC内外のサービス間でのプライベート接続
①ゲートウェイ型エンドポイント :無料、VPCのルートテーブルにルートを設定する必要があります。
②インターフェース型エンドポイント :有料、セキュリティグループによる通信設定が可能であり、エンドポイントポリシーを用いたアクセス許可が必要となります。
AD Connector
ディレクトリへのリクエストをオンプレミスのMicrosoft Active Directoryにリダイレクトするためのディレクトリゲートウェイ
※Simple ADは新規にAWS上にActive Directoryを作成する際に利用する
SCP
AWS OrganizationsにおいてSCPを有効化すると、デフォルトでメンバーアカウントが所属するOUには「FullAWSAccess」が付与される
Amazon Shield
インバウンド拒否ルールを設定して特定のIPアドレスをブロックすることはできません。
リザーブド購入オプション
・EC2リザーブドインスタンス
・RDSリザーブドインスタンス
・ElastiCacheリザーブドキャッシュノード
・DynamoDBリザーブドキャパシティ
・Redshiftリザーブドノード
EFSとS3にはリザーブド購入方式はありません。
Amazon OpenSearch Service :ベクトル埋め込みを格納および検索するための複数のオプションを提供
リフト・アンド・シフトとは、システムを大きく変更することなく、そのままクラウドに移行する手法
セキュリティ
Amazon Fraud Detector :オンラインでの支払い詐欺や偽アカウントの作成など、不正の可能性があるオンラインアクティビティを容易に特定できるフルマネージドサービス
Amazon GuardDuty :DDoS攻撃を除くさまざまなネットワークへの不正アクセスを自動的に検出し、緩和することが可能
AWS Shieldは、ELBやAmazon CloudFrontまたはRoute 53を起動する際に設定されます。
AWS Organizations
AWS IAM Identity Centerを導入することで、複数のAWSアカウントを統合し、シングルサインオンを実現できます。
VM
VM Import/Exportは、仮想マシン(VM)イメージを既存の仮想化環境からAmazon EC2にインポートし、
それを元の環境にエクスポートするサービスです。これは、仮想マシンのみを移行する際に使用されます。
CloudWatch
CloudWatchの標準メトリクス :CPU使用率
CloudWatch エージェント :メモリ使用率などのシステムメトリクス
CloudWatch Container Insightsを導入することで、コンテナ化されたアプリケーションやマイクロサービスのメトリクスおよびログを収集し、可視化することが可能です。
暗号化
AWS暗号化SDK 暗号化専用のライブラリ
キーポリシーのステートメントでは、KMSキーの使用を許可されるユーザーとその利用方法を定義します。
AWS Glue
AWS Glueクローラーを使用することで、S3バケット内のデータを処理することが可能です。
AWS Glueはデータをスキャンし、データの分類やスキーマ情報を抽出し、メタデータをAWS Glueデータカタログに保存します。
Amazon AppFlow
Software as a Service (SaaS) アプリケーションとAWSサービス間のデータ転送を自動化するためのフローを作成するサービス
ビッグデータフレームワーク
Apache Hadoop
Apache Spark :オープンソースの高速な汎用クラスターコンピューティングソフトウェアであり、ビッグデータの分散処理に広く使用されています。
AI
Amazon Textract :文字情報を抽出、単なる光学文字認識(OCR)を超えて、文書内の特定のデータを識別し、理解し、抽出します。
Amazon Comprehend :文書内のテキストからエンティティ、キーフレーズ、感情などを分析
AWS ParallelCluster
ハイパフォーマンスコンピューティング(HPC)クラスターをデプロイおよび管理するためのオープンソースのクラスター管理ツールです。
災害復旧(DR)対応
AWS Elastic Disaster Recovery:オンプレミス環境の複数の仮想マシンやMySQLデータベースサーバーをAWS環境にコピーして、DR構成を整備することが可能です。·