- 対象試験
- アベイラビリティゾーン
- エッジロケーション
- リザーブド購入オプション
- Accelerated サイト間 VPN
- Amazon Athena
- Amazon Aurora
- Amazon CloudFront
- Amazon DynamoDB
- Amazon EBS
- Amazon ECS
- Amazon EC2
- Amazon ElastiCache
- Amazon EFS (Elastic File System)
- Amazon ELB
- Amazon EMR
- Amazon FSx
- Amazon Kinesis
- Amazon Lex
- Amazon QuickSight
- Amazon Redshift
- Amazon Redshift Spectrum
- Amazon RDS
- Amazon Resource Name
- Amazon Route 53
- Amazon SES
- Amazon SQS
- Amazon S3
- AWS リソースのタグ付け
- AWS 暗号化 SDK
- AWS Application Discovery Service
- AWS Auto Scaling
- AWS Backup
- AWS Certificate Manager (ACM)
- AWS CloudFormation
- AWS DataSync
- AWS Directory Service
- AWS Globel Accelerator
- AWS KMS
- AWS Lambda
対象試験
- AWS 認定 ソリューションアーキテクト – アソシエイト (SAA-C02)
勉強のポイント
- 自分なりにサービス別にポイントを整理するのが良いかと思います
- まとめ方の例は以下に記載しているような感じ
- 人がまとめた情報を見ても記憶に残る情報は少ないかと
- 早い段階から模擬試験形式の教材を使い、その問題内容と解説を確認して、どのような観点で問われるのかを把握したほうが効率的に勉強できます
- 「○○日で合格しました」という情報はアテになりません。勉強開始時の知識量が人によって異なるためです
- 短期間で合格している人は AWS 経験者か、または既に他の AWS 試験に合格しています
アベイラビリティゾーン
- データセンターの集まりであり、リージョン内で物理的に区分され独立している
- 発電機や冷却装置などの一般的な障害ポイントとなる設備は可用性ゾーン間で共有されない
- 物理的に分離されているため、火災、竜巻、洪水などの極端な災害は単一のアベイラビリティーゾーンのみに影響する
エッジロケーション
- 低レイテンシーを達成するためのキャッシュコンテンツを配信するための地理的ロケーション
- リージョンやアベイラビリティゾーンとは独立して配置されている
リザーブド購入オプション
- AWS サービスの中には1年~3年などの一定期間利用を予約することを前提に、割引価格で購入可能になるオプションがある
- 主なリザーブド購入オプション
- EC2 リザーブドインスタンス
- RDS リザーブドインスタンス
- ElastiCache リザーブドノード
- DynamoDB リザーブドキャパシティ
- Redshift リザーブドノード
Accelerated サイト間 VPN
- AWS グローバルネットワークと AWS エッジロケーションを介してトラフィックをインテリジェントにルーティングすることにより、VPN 接続のパフォーマンスを向上させる
- Accelerated サイト間 VPN はバックグラウンドで Global Accelerator を使用
Amazon Athena
- Amazon Athena は、標準の SQL 式を使用して Amazon S3 のデータを簡単に分析できるインタラクティブなクエリサービス
- ほとんどの結果は数秒以内に配信
Amazon Aurora
- 可用性が高い数百万のクエリを処理できるデータベース
- Aurora は標準的な MySQL と比べて 5 倍のスループット、標準的な PostgreSQL と比べて 3 倍のスループットを実現
- Aurora はクラスターが 3 つの AZ に分散されて構成され、さらに RDS と同様にマルチ AZ のフェールオーバー構成を有効化することが可能
- フェールオーバーの実行時間は Amazon Aurora レプリカを作成している場合は開始から終了までに通常 30 秒以内に完了
- Amazon Aurora レプリカを作成していない場合 はフェイルオーバーは 15 分以内で完了
- 最大 15 のリードレプリカを利用した高速読み込みが可能
- PostgrasQL 10.4 と互換性
- MySQL 5.7 と互換性
- 可用性は 99.99%
- 読込処理の性能として 100 ミリ秒未満が求められる場合に選択
Amazon Aurora Serverless
- DB インスタンスクラスのサイズを指定せずにデータベースエンドポイントを作成して、最小と最大のキャパシティーを設定
- データベースエンドポイントがプロキシフリートに接続される
- プロキシフリートでは、ワークロードをルーティングする先のリソースのフリートがオートスケーリング
- プロキシフリートを使用すると、最小と最大のキャパシティー仕様に基づいて Aurora Serverless がリソースを自動的にスケールする
Amazon CloudFront
- 画像データなどをユーザーに近いエッジロケーションにキャッシュとして保持する
- CloudFrontは非常にスケーラブルで可用性の高いコンテンツ配信サービスであり、突然の予測できないトラフィックのバーストが発生した場合でも優れたパフォーマンスを発揮できる
- CloudFront ディストリビューションのカスタムオリジン設定としてオンプレミスロードバランサーを設定することで、オンプレミス環境の Web コンテンツの読み込み速度を迅速に改善できる
- S3 バケットへの直接 URL を使用してファイルにアクセスできないようにし、CloudFront を通じて提供するファイルへの安全なアクセスを維持するには:
- Amazon S3 バケットから配信するコンテンツへのアクセスを制限するには、CloudFront の 署名付き URL または署名付き Cookie を作成してオブジェクト URL の閲覧権限を特定ユーザーに限定する
- オリジンアクセスアイデンティティ (OAI) という特別な CloudFront ユーザーを作成して S3 バケットへの直接的なアクセスを制限する
- 料金は AWS からのデータ転送と、顧客へのコンテンツ配信に使用されるリクエストによって算出
- トラフィックの分散:データ転送とリクエストの価格はリージョンによって異なり、価格はコンテンツが配信されるエッジの場所によっても異なる
- リクエスト:リクエスト(HTTPまたはHTTPS)の数と種類、およびリクエストが行われた地域
- データ転送アウト:Amazon CloudFront エッジロケーションから転送されたデータの量
- 監査のためにすること
- CloudFront API に送信されるリクエストを取得する
- CloudFront アクセスログを有効にする
- コンテンツの圧縮が可能
- ビューワーがリクエストヘッダーに Accept-Encoding: gzip を含めるようのリクエストした場合は、CloudFront はファイルを圧縮して、ファイルを供給するように設定可能
- CloudFront のデータ転送コストは供給されたデータの総量に基づくので、圧縮ファイルを供給すると、非圧縮ファイルを供給するよりもコストが安くなる
Amazon DynamoDB
- DynamoDB テーブルで変更された内容を確認できるようにするには
- DynamoDB ストリームを有効化する
- DynamoDB テーブルへの変更ステータスが履歴として残るようになる
- 過去 24 時間以内にそのテーブルのデータに対して行われた変更のストリームすべてにアクセス可能で、24 時間経過したストリームデータは削除される
- Lambda 関数を使用して、変更イベントをトリガーとして処理を実行することができる
- DynamoDB ストリームを有効化する
- DynamoDB の負荷集中に対して、最も高速な処理を達成する方法
- DynamoDB Accelerator (DAX) を有効化する
- 1 秒あたりのリクエスト数が数百万件になる処理に対しても、ミリセカンドからマイクロセカンドへの最大 10 倍のパフォーマンス向上を実現する
- DynamoDB Accelerator (DAX) を有効化する
- DynamoDB の負荷集中に対して、コスト効率が高い改善策
- DynamoDB への処理リクエストを SQS キューとして Lambda と組み合わせて DynamoDB へのデータ処理を設定することで、DynamoDB は処理できないリクエストキューを待機させることが可能
- Amazon DynamoDB からデータを読み込むとき、その読み込みに対して結果的に整合性のある読み込みを設定するか、強い整合性を設定するかを指定できる
- 結果整合性モデル
- 読み込みスループットが最大限に向上
- 最新の書き込み結果が反映されない可能性がある
- 結果整合性モデル
DynamoDB と Lambda
- DynamoDB は AWS Lambda を使用してストリームイベントを処理するサーバーレスアーキテクチャ向けのデータベースとして最適
- DynamoDB ストリーム 内のイベントによって実行されるサーバレスアプリケーションを作成可能
- AWS Lambda はストリームをポーリングし、新しいストリームレコードを検出すると、Lambda 関数を同期的に呼び出す
- AWS Lambda で、DynamoDB から取得したデータに任意の集計をかける関数を開発することが可能
Amazon EBS
- ボリュームタイプ
- EBS プロビジョンド IOPS SSD (io2 Block Express)
- EBS プロビジョンド IOPS SSD (io2)
- EBS プロビジョンド IOPS SSD (io1)
- EBS 汎用 SSD (gp3)
- EBS 汎用 SSD (gp2)
- デフォルトのボリュームタイプ
- プロビジョニングされた IOPS と要求されたボリュームサイズ(GiB単位)の最大比は50:1
- 100 GiB ボリュームは、最大 5,000 IOPS でプロビジョニングできる
- EC2 にアタッチ後はファイルシステムを作成することが必要
- EBS は用途に応じてボリュームサイズやボリュームタイプを変更することができることが利点の一つ
- 継続的なディスクスキャンを実行するスループット重視のアプリケーションにも使用できる
- EC2 インスタンスから物理的に隔離されたストレージボリュームで、独立してデータを保持できる
Amazon ECS
- Docker コンテナをサポートする拡張性とパフォーマンスに優れたコンテナオーケストレーションサービス
- Fargate 起動タイプと EC2 起動タイプという 2 種類の起動モードがある
- EC2 起動タイプ
- クラスターは EC2 インスタンス群を利用
- 環境をより細かく制御・カスタマイズすることが可能
- インスタンス群の維持やパッチ適用、インスタンスタイプの選択、ネットワーキング、そしてインスタンスのセキュリティなど、様々な責任を担う必要がある
- Fargate 起動タイプ
- サーバーレイヤーが抽象化されているため、コンテナ化されたアプリケーションの開発とメンテナンスに集中できる
- タスクごとのシンプルなリソースを定義するだけで良く、またアプリケーションごとに独立した環境となるよう設計されている
- ECS は Fargate と連携して、コンテナの起動や実行、管理を、あなたの代わりに行う
Amazon EC2
オンデマンドインスタンス
リザーブドインスタンス
- スタンダード
- 変更が柔軟にできないため割引率が高く設定されている
- 前払い購入をすることで、割引率をより高くすることが可能
- コンバーティブル
- リザーブドインスタンスのコンバーティブルは途中で属性の変更が可能
- インスタンスファミリー、オペレーティングシステム、およびテナンシーを含む別の構成で、1 つ以上の別の コンバーティブルリザーブドインスタンスに交換することも可能
- 交換先の コンバーティブルリザーブドインスタンス が交換元の コンバーティブルリザーブドインスタンス と同等あるいはそれ以上の値である限り、交換の実行回数に制限はない
- コンバーティブルリザーブドインスタンス を交換する場合、現在のインスタンス数はターゲットのコンバーティブルリザーブドインスタンスの設定と同じあるいはそれ以上の値を含有する数のインスタンスと交換される
- コンバーティブルのみで変更可能な内容
- インスタンスファミリー
- OS
- テナンシー
- 支払オプション
ベアメタルインスタンス
- ホストコンピューターの OS などにアクセスが可能
- インフラストラクチャへの直接アクセスを必要とする特殊なワークロード、仮想環境ではサポートされないレガシーのワークロード、そしてライセンス制限のあるティア 1 のビジネスクリティカルなアプリケーションを動かすことが可能
EC2 インスタンス間の通信
- セキュリティグループの許可設定が適切であることを確認する
- ネットワーク ACL の許可設定が適切であることを確認する
EC2 インスタンスが外部と通信するための設定
特定の IP アドレスからのみ通信許可したい場合
- インスタンスのセキュリティグループで指定のポート番号について許可したい IP アドレスを設定する
プライベートサブネット内のインスタンスの場合
- NAT ゲートウェイをパブリックサブネットに設置し、プライベートサブネットのルートテーブルにルートを設定する
インスタンスストア
- 直接接続されたブロックデバイスストレージ
- インスタンスストアのボリュームに格納されているデータは、インスタンスの停止、終了、またはハードウェアの障害によって永続化されない
- インスタンスストアは一時記憶に利用される
EBS ボリューム
- インスタンスが停止してもデータを保持することができ、EBS スナップショットで容易にバックアップし、暗号化を実施することができる
- EBS ボリュームの汎用 SSD は同じ AZ 内のインスタンスにのみアタッチ可能
スループットを向上させる方法
- EBS ボリュームを追加して RAID 0 を構成する
- EC2 インスタンスタイプを変更する
ストレージの暗号化
- アタッチして利用している EBS ボリュームの暗号化を有効化する
ブートストラップ
- Amazon ECS コンテナインスタンスを起動するとき、インスタンスにユーザーデータを渡すオプションがある
- インスタンスの起動時に、データを使って、一般的な自動設定タスクを実行したり、スクリプトを実行したりできる
- これを利用して、ソフトウェアをインストールしたり、データをコピーしておいたりとインスタンスの設定を自動化することができる
AMI (Amazon マシンイメージ)
- ソフトウェア構成 (オペレーティングシステム、アプリケーションサーバー、アプリケーションなど) を記録したテンプレート
- AMI から、クラウドで仮想サーバーとして実行される AMI のコピーであるインスタンスを起動
ゴールデンイメージ
- 最適な EC2 インスタンス構成を反映した AMI
Amazon ElastiCache
- Amazon ElastiCache は、クラウド内のインメモリデータストアまたはキャッシュのデプロイ、運用、および拡張を容易にする Web サービス
- 高速の管理されたインメモリデータストアから情報を取得できるようにすることで、Webアプリケーションのパフォーマンスを向上させる
- ランキングやレコメンデーションの実装に使うための便利な機能を有している
- Memcached
- シンプルなデータ型
- 複数のコアまたはスレッドを持つ大きなノードを実行
- システムでの需要の増減に応じてノードを追加または削除するスケールアウト、およびスケールイン機能が利用可能
- データベースなどのオブジェクトをキャッシュ可能
- キーストアの永続性はない
- バックアップと復元の機能はない
- 複数のデータベースは利用不可
- Redis
- シングルスレッドで動作するインメモリキャッシュ DB であり、全てのデータ操作は排他的
- pub/sub 機能を提供
- 複雑なデータ型を設定可能
- インメモリデータセットのソートまたはランク付けが可能
- データをリードレプリカにレプリケート可能
- 自動的なフェイルオーバーが可能
- キーストアの永続性が必要な場合に選択
- バックアップと復元の機能がある
- 複数のデータベースをサポート
Amazon EFS (Elastic File System)
- 多数の EC2 インスタンスが同じ WEB アプリケーションの処理をおこなっていて、共通したデータを参照するためのストレージとして最適
- 高いレベルのスループットと IOPS(1秒あたりに処理できるI/Oアクセスの数)
- ファイルの追加や削除に合わせて、ストレージ容量の拡張や縮小が自動的に行われる
- ファイルシステムインターフェイスと、ファイルシステムのアクセスセマンティクス (強い整合性やファイルのロックなど)
- 最大数千の Amazon EC2 インスタンスからの同時アクセスが可能
- ストレージクラス
- 標準ストレージクラス
- 低頻度アクセスストレージクラス (EFS IA)
- 毎日アクセスしないファイルに対して最適化されたコスト効率の料金/パフォーマンスを提供
- EFS IA ストレージクラスの費用は 0.025 USD/GB-月
- EFS ライフサイクル管理
- 有効にするだけで、選択したライフサイクルポリシーに従ってアクセスしないファイルは、自動的かつ透過的に EFS IA に移される
- パフォーマンスモード
- 汎用モード
- ファイルサービスなど一般的な用途を想定したモードで、レイテンシーを優先する場合に使用する
- 最大 I/O パフォーマンスモード
- ファイル操作のレイテンシーが汎用モードに比べ、わずかに長くなる代わりに、何十〜何千台のクライアントから同時にアクセスするような、合計スループットを優先する場合に使用
- 汎用モード
バーストスループットモード
- 突然アクセスが増加するケースで使用
- ファイルシステムのスループットは、スタンダードストレージクラスに保存されているデータの量が大きくなるにつれて上昇
- サイズに関係なく、すべての EFS ファイルシステムは、100 MiB/秒までバーストすることが可能
Amazon ELB
- SSL/TLSプロトコルを使用して通信を暗号化できる
- ロードバランサーと HTTPS セッションを開始するクライアント間、およびロードバランサーと EC2 インスタンス間の接続のトラフィック暗号化が有効になる
- スティッキーセッション
- セッション中に同じユーザから来たリクエストを全て、同じ EC2 インスタンスに送信する機能
ALB(Application Load Balancer)
- パスの条件を使用して、リクエスト内の URL に基づいてリクエストをルーティングするルールを定義可能(パスベースルーティング)
- ホストの条件を使用して、ホストヘッダーのホスト名に基づいてリクエストをルーティングするルールを定義可能(ホストベースルーティング)
- HTTP ヘッダー条件を使用して、リクエストの HTTP ヘッダーに基づいてリクエストをルーティングするルールを設定可能
- 1 つの EC2 インスタンス上での複数のアプリケーションへのルーティングリクエストのサポート
- 1 つの URL から別の URL へのリクエストのリダイレクトのサポート
- ロードバランサーの VPC 外のターゲットを含め、IP アドレスによるターゲットの登録をサポート
- ターゲットとしての Lambda 関数の登録のサポート
- コンテナ化されたアプリケーションのサポート
- 各サービスの個別のヘルスステータスのモニタリングのサポート
- アクセスログへの情報の追加と圧縮形式での保存
Amazon EMR
- Apache Hadoop や Apache Spark などのビッグデータフレームワークを AWS 上で実行して大量のデータを処理および分析プロセスを構築できるプラットフォーム
- Amazon S3 や Amazon DynamoDB などの他の AWS データストアやデータベースとの間で大量のデータを変換や解析することができる
- ユースケース
- MACHINE LEARNING
- 抽出、変換、読み込み (ETL)
- クリックストリーム分析
- リアルタイムストリーミングデータ処理
- インタラクティブ分析
- ゲノミクス
- クラスターノードとして EC2 インスタンスのオンデマンドインスタンス、スポットインスタンス、またはリザーブドインスタンスを利用可能
- スポットインスタンスを利用することで、オンデマンドと比較してコストを抑えることが可能
Amazon FSx
- Amazon FSx for Windows ファイルサーバーは以下の機能をサポート
- Access Control Lists (ACLs)
- シャドウコピー
- ユーザークォータ、など
- SMB プロトコル
Amazon Kinesis
- データが欠落しないこと、耐久性があること、およびデータを到着順のデータ転送を可能とする
Kinesis Data Streams
- 一連のデータレコードを持つシャードのセットであり、各データレコードには Kinesis Data Streams によって割り当てられたシーケンス番号があるため、 メッセージが失われず、重複されず、到着と同じ順序で伝送することが可能
Kinesis Data Firehose
- ストリーミングデータをデータレイクやデータストア、分析サービスに確実にロードする最も簡単な方法を提供するサービス
- S3 にログを蓄積し、Athena を利用してログ解析を行うことができる
- Kinesis Data Firehose に Lambda 関数を設定して、データ変換した上で S3 に蓄積が可能
Amazon Lex
- 音声やテキストを使用して、任意のアプリケーションに対話型インターフェイスを構築するサービス
- 音声のテキスト変換には自動音声認識 (ASR)、テキストの意図認識には自然言語理解 (NLU) という高度な深層学習機能が使用できる
- リアルな会話を実現するアプリケーションを開発できる
Amazon QuickSight
- クラウド型の BI ツール (企業の基幹システムで生成されたデータを、ユーザ自身が抽出・加工するためのソフトウェア) を提供する可視化ツール
- Amazon QuickSight は ML Insights を含むインタラクティブなダッシュボードを簡単に作成して公開可能
- ダッシュボードはあらゆるデバイスからアクセス可能で、アプリケーション、ポータル、ウェブサイトに埋め込むことが可能
- 機械学習(ML)と自然言語機能を活用してデータからより深い洞察を得るのに役立つ ML Insights機能
Amazon Redshift
- WLM (Work Load Management) を利用することで、クエリ処理を実施する際に、クエリ処理をキューとして実行順序を定義することが可能
- WLM は Redshift のクエリ処理に対して割り当てる Redshift のリソースを指定する機能
- 事前に WLM としてキューを用意しておき、キューに対して割り当てるメモリの割合や並列度、タイムアウトの時間を指定することでクエリに対するリソース配分を決定したり、長時間実行されるクエリを止めてクラスタリソースを無駄遣いしないようにしたりできる
- 拡張 VPC ルーティング
- Amazon Redshift はクラスターとデータリポジトリ間のすべての COPY と UNLOAD トラフィックが Amazon VPC を通るよう強制
Amazon Redshift Spectrum
- Amazon S3 のエクサバイトの非構造化データに対して SQL クエリを直接実行できる
- 取得されるデータに基づいてクエリの計算能力を自動的にスケーリングする
- データセットのサイズに関係なく、Amazon S3 に対するクエリは高速に実行される
Amazon RDS
- RDS ユーザーや RDS インスタンスへのアクセスを実施する EC2 インスタンスなどは、IAM ユーザーまたは IAM ロールの認証情報と認証トークンを使用して、RDS DB インスタンスまたはクラスターに接続することが可能
- これは RDS インスタンスの作成時に「
Enable IAM DB Authentication
(IAM DB 認証)」を有効化することで利用可能
- これは RDS インスタンスの作成時に「
- RDS は最大で 5 個のリードレプリカを作成して、読取処理の負荷を分散させることが可能
- ファイルシステムとの連携はサポートされていないため、連携を実現するためには EC2 インスタンスにデータベースをインストールしてデータベースサーバーをカスタムで構築する必要がある
- EFSコストを度外視した最も高パフォーマンスな方法
- コストが高いが、パフォーマンスが最も高いソリューションは Elasticache を利用
- ElastiCache を RDS の前面に配置することで、RDS の読取処理が多いデータをキャッシュとして保持して、インメモリ上で高速処理することが可能
Amazon Resource Name
- Amazon Resource Name(ARN)によりAWSリソースを一意に識別
- IAM ポリシー、Amazon Relational Database Service(Amazon RDS)タグ、API コールなど、AWS 全体でリソースを明確に指定する必要がある際には ARN が必要
arn:partition:service:region:account-id:resource-id
Amazon Route 53
- Route 53 のフェイルオーバールーティングを利用することで、ロードエラーが発生した場合に静的 Web サイトへの DNS フェイルオーバーを実施できる
- DNS フェイルオーバー: リソースを監視し、DNS クエリに対しては利用可能なリソースのみを回答する
- マルチバリュー (複数値回答) ルーティングにより、Amazon Route 53 が DNS クエリに対する応答として複数の値 (ウェブサーバーの IP アドレスなど) を返すように設定でき
- 複数値回答ルーティングは各リソースが正常かどうかも確認するため、Route 53 は正常なリソースの値のみを返すことができる
ルーティングポリシー
- シンプルルーティングポリシー
- ドメインで特定の機能を実行する単一のリソースがある場合に使用
- フェイルオーバールーティングポリシー
- アクティブ/パッシブフェイルオーバーを構成する場合に使用
- 位置情報ルーティングポリシー
- ユーザーの位置に基づいてトラフィックをルーティングする場合に使用
- 地理的近接性ルーティングポリシー
- リソースの場所に基づいてトラフィックをルーティングし、必要に応じてトラフィックをある場所のリソースから別の場所のリソースに移動する場合に使用
- レイテンシールーティングポリシー
- 複数の AWS リージョンにリソースがあり、レイテンシーの最も小さいリージョンにトラフィックをルーティングする場合に使用
- 複数値回答ルーティングポリシー
- ランダムに選ばれた最大 8 つの正常なレコードを使用して Route 53 が DNS クエリに応答する場合に使用
- 加重ルーティングポリシー
- 指定した比率で複数のリソースにトラフィックをルーティングする場合に使用
パブリックホストゾーン
- あるドメイン、たとえば example.com とそのサブドメイン (acme.example.com や zenith.example.com) のトラフィックをインターネットまたは特定のドメインでルーティングする方法についての情報を保持するコンテナ
- Route 53 を使用してドメインを登録すると、そのドメインのホストゾーンが自動的に作成される
- 既存のドメインの DNS サービスを Route 53 に転送する場合は、ドメインのホストゾーンを作成することから始める
トラフィックフロー
- 複雑なルーティングを設定する場合に使用
- Visual editor (ビジュアルエディタ)
- レコードの複雑なツリーを作成し、レコード間の関係を確認できる
- 例えば、レイテンシーエイリアスレコードが加重レコードを参照し、加重レコードが複数の AWS リージョン内のリソースを参照する設定を作成できる
- 各設定はトラフィックポリシーと呼ばれる
- いくつでも無料で作成可能
Amazon SES
- クラウドベースのメール送信サービスで、マーケティング、通知、トランザクションに関する E メールを送信できる
- E メール送信機能を組み込むことで、一般ユーザーに対するアプリケーションからのメール通知機能を実装することが可能
Amazon SQS
- キューに残っているメッセージについて、最長保持期間を超えるものを自動的に削除する
- デフォルトのメッセージ保持期間は 4 日間
- AWS で分散アーキテクチャを作成するために使用できる
- Amazon SQS キューに保存できるメッセージの数は無制限
Amazon S3
- S3 Standard ストレージクラス
- 標準的に頻繁に利用するデータストレージ
- S3 の中では最もコストが高い
- 一定期間で削除するライフサイクルルールを設定可能
- S3 Intelligent-Tiering ストレージクラス
- 高頻度と低頻度という 2 つのアクセス階層が組み込まれている
- アクセスパターンをモニタリングして、連続 30 日間アクセスされていないデータを低頻度のアクセス階層に移動する
- そのデータがアクセスされた場合は、高頻度アクセス階層に自動的に戻される
- アクセスパターンが変化するような状況でも、性能の影響なく利用料金を節約することができる
- Glacier Deep Archive ストレージクラス
- AWS の中で最も低価格な大量のデータ向けの長期ストレージ
- データは 3 つ以上の AWS アベイラビリティゾーンにまたがって保存され、12 時間以内に取りだすことが可能
- S3 バケットで利用可能なイベント通知先
- Amazon SQS キュー
- S3 をトリガーとしてStandardキューを配信可能
- AWS Lambda
- S3 をトリガーとして Lambda 関数を実行可能
- Amazon SQS キュー
- 静的ウェブサイトをホストするには Amazon S3 バケットを設定し、ウェブサイトのコンテンツをバケットにアップロード
- S3 バケット内の HTML ファイルをベースに WEB サイトを公開することが可能
- 割り当てられる URL は次のようになる
- bucket-name.s3-website-ap-northeast-1.amazonaws.com
- 別の AWS アカウントに自分のアカウントが所有する S3 バケットの利用を許可したい場合
- 対象アカウントとユーザーに対して IAM ポリシーとバケットポリシー両方の許可設定が必要
- S3 バケットに保存することができるオブジェクトの最大ファイルサイズは 5 TB
- 1 回の PUT 操作でアップロードできる最大オブジェクトサイズは 5 ギガバイト
- S3 イベントに Lambda 関数を設定して、ファイルがアップロードされるたびに Lambda 関数を呼び出すことが可能
- ライフサイクル管理
- オブジェクトのグループに適用して一定期間経過したオブジェクトを自動で別のストレージに移動したり、削除することが可能
- Amazon S3 アクセスポイント
- S3 の共有データセットへの大規模なデータアクセスの管理を簡素化する機能
- バケットにアタッチされた名前付きのネットワークエンドポイントで、S3 オブジェクトのオペレーション (GetObject や PutObject など) を実行するために使用可能
- 各アクセスポイントは基になるバケットにアタッチされたバケットポリシーと連動して機能するカスタマイズされたアクセスポイントポリシーを適用してアクセスを制御することが可能
AWS リソースのタグ付け
- AWS のリソースにメタデータをタグ形式で割り当てることが可能
- 各タグは、ユーザー定義のキーと値で構成されるラベル
- タグは、リソースの管理、識別、整理、検索、フィルタリングに役立つ
- タグを作成することで、リソースを目的、所有者、環境その他の基準別に分類
- ベストプラクティス
- 個人情報 (PII) などの機密情報や秘匿性の高い情報はタグに格納しない
- タグには、標準化された、大文字と小文字の区別がある形式を使用し、すべてのリソースタイプに一貫して適用
- リソースアクセスコントロールの管理、コスト追跡、オートメーション、整理など、複数の目的に対応したタグガイドラインを考慮
- 自動化されたツールを使用して、リソースタグを管理可能
- AWS リソースグループとリソースグループのタグ付け API
- タグは、多めに使用
- ビジネス要件の変化に合わせてタグを変更するのは簡単ですが、将来の変更の影響を考慮
AWS 暗号化 SDK
- 言語固有の SDK とは別の暗号化専用のライブラリ
- この暗号化ライブラリを使用すると、開発中のアプリケーションに対して暗号化のベストプラクティスによる暗号化の仕組みを簡単に実装可能
AWS Application Discovery Service
- オンプレミスデータセンター内のサーバーにエージェントをインストールすることで、データセンターの利用情報を収集することができるサービス
- サーバーの設定データ、使用状況データ、動作データなどを収集できる
- 収集されたデータは、AWS Application Discovery Service のデータストアに暗号化形式で保存
- データを CSV ファイルとしてエクスポートし、AWS で稼働した場合の総所有コスト (TCO) の見積もりや、AWS への移行計画に利用可能
AWS Auto Scaling
- 手動スケーリング
- スケジュールドスケーリング
- 動的(ダイナミック)スケーリング
- ステップスケーリングポリシー
- ターミネーションポリシー
- Auto Scaling でスケールインが発生した時に、どのインスタンスを終了させるかを決めるルール
- OldestInstance:最も古いインスタンスを終了する
- NewestInstance:最も新しいインスタンスを終了
- OldestLaunchConfiguration:最も古い Launch Configuration
- ClosestToNextInstanceHour:課金のタイミングが近い
- Default:
- 最もインスタンスが多い AZ を選択
- OldestLaunchConfiguration を適用
- ClosestToNextInstanceHour を適用
- ランダムに選択
- クールダウンタイム
- Auto Scaling グループが追加のインスタンスを起動または削除することができない時間
AWS Backup
- AWS Storage Gateway を使用して、オンプレミスおよび AWS サービス全体のデータのバックアップの一元化と自動化を簡単に実行できる、完全マネージド型のバックアップサービス
- 次を含む、組織の AWS アカウントとリソース全体のバックアップアクティビティを設定および管理可能
- EC2 インスタンス
- EBS ボリューム
- RDS データベース
- Amazon DynamoDB テーブル
- EFS、FSx for Lustre、FSx for Windows ファイルサーバー
- AWS Storage Gateway ボリューム
AWS Certificate Manager (ACM)
- SSL 証明書を作成したり、外部プロバイダーから取得した証明書をインポートして管理するサービス
- ACM がサポートされていないリージョンで HTTPS 接続をサポートする必要がある場合は、IAM を SSL 証明書マネージャーとして使用
- IAM はすべてのリージョンでの SSL 証明書のデプロイをサポートしているが、AWS で使用するには外部プロバイダーから SS L証明書を取得する必要がある
AWS CloudFormation
- セキュリティグループの記述
SecurityGroupIngress:
-
IpProtocol: "ssh,http などのプロトコル"
FromPort: "ポート番号範囲の開始番号"
ToPort: "ポート番号範囲の開始番号"
CidrIP: "対象アドレス"
- CloudFormation スタックセット
- CloudFormation テンプレート内に AWS リソースの設定を定義して、1 つのテンプレートから複数の AWS アカウントやリージョンにリソースを展開できる
- クロスアカウントやクロスリージョンのシナリオを解決する AWS 機能のベースラインレベルのセットアップにこの機能を活用できる
AWS DataSync
- オンプレミスストレージと Amazon EFS 間でデータを迅速かつ簡単に移動することができるマネージド型のデータ転送サービ
- オープンソースツールと比べて最大 10 倍の速度で、アクティブなデータセットを AWS Direct Connect またはインターネット経由で転送可能
AWS Directory Service
- AWS Directory Service の AD Connector を使用することで IAM と社内の AD を連携できる
- AD Connector はディレクトリリクエストをオンプレミスの Microsoft Active Directory へリダイレクトするために使用するディレクトリゲートウェイ
- 既存の IAM ロールを AWS Directory Service ユーザーまたはグループに割り当てることができる
- AWS Managed Microsoft AD
- Microsoft SharePoint、カスタム .NET、および SQL Server ベースのアプリケーションを含むディレクトリ対応ワークロードを、AWS クラウド上で実行することができる
- AWS クラウド上の AWS Managed Microsoft AD と既存のオンプレミス Microsoft Active Directory の間で信頼関係を設定し、シングルサインオン (SSO) を使っていずれかのドメインのリソースへのアクセス権を、ユーザーとグループに提供することも可能
AWS Globel Accelerator
- 世界中の顧客に提供するアプリケーションの可用性とパフォーマンスを改善するネットワークサービス
- AWS 上のアプリケーションに対して固定エントリポイントとなる静的 IP アドレスを提供することで様々な AWS リージョン、アベイラビリティーゾーンの特定の IP アドレスの管理における複雑さを排除
- EC2 インスタンスを Global Accelerator に接続するには、Accelerator を作成し、EC2 インスタンス ID を使用するエンドポイントにEC2 インスタンスを追加するだけ
AWS KMS
- AWS のデータベースやストレージサービスのすべてと統合されており、暗号化を実行することが可能
- ボリューム内の保存データやボリュームから作成されたすべてのスナップショットデータ保護転送中(Amazon S3への転送中)を暗号化することが可能
AWS Lambda
- AWS Lambda はサーバーをプロビジョニングしたり管理する必要なくコードを実行できるコンピューティングサービス
- 必要時にのみコードを実行し、1 日あたり数個のリクエストから 1 秒あたり数千のリクエストまで自動的にスケーリング
- Lambda 関数を利用して DynamoDB から一定の間隔でデータを取得してログ解析を実施した上で、解析結果を S3 サーバーに格納することも可能
/tmp
ディレクトリのストレージ: 512 MB- 同時実行数: 1000
- 関数とレイヤストレージ: 75 GB
Lambda Layer
- 複数の Lambda 関数でライブラリを共有できる仕組み
- ライブラリを Layer としてアップロードしておくことで、個々の関数は共通の Layer を使用することができる
Lambda と API Gateway
- Lambda 関数と API Gateway は使用した場合にのみ料金が発生するため、コストを抑えることができる
- API コールに基づいて Lambda 関数で処理を実行可能
- API Gateway を利用することで Lambda 関数を HTTPS 経由で呼び出すことができる
- API Gateway を使用してカスタム REST API とエンドポイントを定義して、特定の Lambda 関数にマッピングする
AWS managed VPN
- オンプレミスと VPC 間で IPsec VPN を構築
AWS Organizations
- 複数の AWS アカウントに対してポリシーを設定してアクセス権限を管理
- 複数アカウントをまとめたグループを作成し、アカウント作成を自動化し、それらのグループにサービスコントロールポリシー(SCP)を適用することが可能
- SCP は、複数の AWS アカウントにわたって AWS サービスの使用を一元的に制御する
- デフォルトで「FullAWSAccess」が付与されている場合は全てのリソースに対する全ての操作が明示的に許可されている状態になる
- 単一の組織内の複数の AWS アカウントの支払いを統合できる
- Amazon EC2 や Amazon S3 などの一部のサービスでは、ユーザーがサービスをより多く使用すればするほど低価格となるボリューム価格
- ストレージの利用量を統合して請求することによって、コストを削減できる可能性
AWS Shield
- AWS Shield は DDoS 攻撃に対する保護サービス(マネージド型)で、AWS で実行しているアプリケーションを保護します
- 直接的に DDoS 攻撃を回避するには AWS Sheild を設定する
AWS Server Migration Service (SMS)
- 数千のオンプレミスワークロードを従来よりも簡単に、かつ短時間で AWS に移行できるエージェントレスサービス
- ライブサーバーボリュームの増分レプリケーションの自動化、スケジュール設定、および追跡が可能
- 大規模なサーバーの移行作業を簡単に調整できる
AWS Snowmobile
- 超大容量データを AWS に移動するために使用できるエクサバイト規模のデータ転送サービス
- セミトレーラートラックが牽引する長さ 14 m の丈夫な輸送コンテナで、Snowmobile 1 台あたり 100 PB まで転送可能
AWS Step Functions
- AWS Step Functions は AWS の複数のサービスをサーバーレスワークフローに整理して、プロセス処理を実行するアプリケーションを構築
- ワークフローは一連のステップで構成され、あるステップの出力が次のステップへの入力になる
- Step Functions は各ステップが自動的にトリガーおよび追跡され、エラーが発生した場合は再試行される
- AWS で分散アーキテクチャを作成するために使用できる
- 開発者が並行または順次のステップを持つバックグラウンドジョブを構築、実行、およびスケーリングするのに役立つ
AWS X-Ray
- ユーザーが Amazon API からの API リクエストを通じてサービスを呼び出した場合に、ユーザーリクエストを追跡および分析できる
- AWS X-Ray が利用可能なすべてのリージョンにおいて、Amazon API Gateway に対して AWS X-Ray を使用してトレースデータを収集することが可能
ENI (Elastic Network Interface)
- EC2 にアタッチして使用する仮想インターフェース
- ホットアタッチ: インスタンス実行中にアタッチすること
- ウォームアタッチ: インスタンス停止中にアタッチすること
- コールドアタッチ: インスタンス起動時にアタッチすること
Elastic IP アドレス
- Elastic IP アドレスに料金が発生しないパターン
- Elastic IP アドレスが EC2 インスタンスに関連付けられている
- Elastic IP アドレスに関連付けられているインスタンスが実行中
- インスタンスに 1 つの Elastic IP アドレスしか添付されていない
IAM
IAM ポリシー
- AWS 管理ポリシーは、AWS が作成および管理するスタンドアロンポリシー
- 多くの一般的ユースケースでアクセス許可を提供できるように設計されている
- 管理者権限ポリシーは AWS 管理ポリシーとして用意されている
Savings Plans
- 1 年または 3 年間、指定された量のコンピューティング能力 (1 時間あたりで測定) を使用するという約束と引き換えに、オンデマンドレートを超える節約を提供
- Compute Savings Plans
- EC2 Instance Savings Plans
- SageMaker Savings Plans
VPC
セキュリティグループ
- セキュリティグループは全てのルールを適用する(ネットワーク ACL とは異なる)
- インスタンスのトラフィックを制御
- デフォルトでは同じセキュリティグループ内通信のみ許可
- ステートフルである
ネットワーク ACL
- 複数のネットワーク ACL が設定されている場合、ルール No. の小さいものから大きいものの順に評価され、最初に一致したルールに基づいて許可/拒否が確定する
VPC エンドポイント
- PrivateLink を使用する AWS サービスや VPC エンドポイントサービスに、VPC をプライベートに接続する機能
- インターネットゲートウェイ、NAT 、VPN や AWS Direct Connect を介した接続やパブリック IP アドレスは必要ない
- VPC と他のサービス間のトラフィックは、Amazon ネットワーク内で完結するためインターネットを経由することはない
- VPC エンドポイントにはプライベートリンク型(インターフェイスエンドポイント)とゲートウェイ型がある
用語(AWS 外)
- イベントストリーム処理
- イベントをデータとしてデータベースに格納する前の状態で処理を進める
- 疎結合
- システムの構成要素間の結びつきや互いの依存関係、関連性などが弱く、各々の独立性が高い状態のこと
- 分散アーキテクチャー
- コンポーネントまたはレイヤーを相互に接続しながら独立して実行できるようにするコンピューティングアーキテクチャーの一種
- マイクロサービス
- 規模の小さな複数のサービスを組み合わせてひとつの大きなアプリケーションを構成する、ソフトウェア開発の技法のひとつ
- ID フェデレーション
- それぞれ独自の ID 管理システムを持つ複数のセキュリティドメイン間で、それぞれのユーザー ID をリンクさせる
- 2 つのドメインで ID フェデレーションを実現すると、一方のドメインで認証を受けたエンドユーザーは、他方のドメインでもログインしないでそのリソースにアクセスできる
主な勉強材料

【AWS初心者向け】AWS学習方法まとめ【15時間で達成できる】 - Qiita
AWS学習を始めようと考えている人「AWSとは、概要や全体像、メリットデメリットが知りたい」「AWSの学習方法が知りたい」こういった疑問に答えます。本記事のテーマ【AWS初心者向け】AWS…

サービス別資料 | AWS クラウドサービス活用資料集
アマゾン ウェブ サービス (AWS) は安全なクラウドサービスプラットフォームで、ビジネスのスケールと成長をサポートする処理能力、データベースストレージ、およびその他多種多様な機能を提供します。それらを活用するために役立つ日本語資料、動画コンテンツを多数ご提供しております。

【SAA-C03版】AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集(6回分390問)
2022年の8月30日から開始されたSAA-C03版に適用した問題集です。試験レベルで難易度の高めの問題などを中心に構成しており、今一歩合格が出来ていない方向けの最終仕上げとしての問題集です。
AWS 認定申し込みへ
AWS training and certification