AWS 認定ソリューションアーキテクト – プロフェッショナル 合格への道#22

#学習
##1
あなたの会社は顧客の多様なニーズに応じてカスタムメイドの自転車を販売している自転車メーカーです。 現在の製造プロセスは自転車を組み立てるために最高水準の製品評価システムを含むプロセスを実行しており、利用するデータが豊富で複雑なプロセスとなっています。 製品の品質評価においては人による評価とシステム的な自動評価が混合しており、出来る限りのプロセス自動化が求められています。評価プロセスでは画像識別による一時的な評価と人の目による二次的評価を実施します。

この要件を満たすためのAWSを活用したソリューションアーキテクチャを選択してください。

> このシナリオでは、製品検品作業を自動化するワークフローをAIを導入して実施する方法が問われています。AIによる画像識別検品と人の目による検品の両方が必要であり、それを成立させるためにSWFを利用したプロセス管理を導入します。Amazon SWF は、開発者が並行したステップまたは連続したステップがあるバックグラウンドジョブを構築、実行、スケールするのに役立ちます。Amazon SWF は、クラウド内の完全マネージド型の状態トラッカー、およびタスクコーディネーターとして利用できます。低レイテンシーネットワーキングでのデータの高度なグラフィカル処理に特化したG2インスタンスを使用し、SWFはAWSサービスとの人間のやり取りを含むワークフローをサポートします。

画像検品作業にはAmazon Rekognitionを利用するか、Amazon GPUインスタンスタイプを利用した画像検品ソリューションを導入するかの２つの選択肢がありますが、今回は要件からG２インスタンスを利用した画像検品ソリューションを導入することが正解となります。Amazon Rekognitionは画像検品ソリューションに特化したサービスではないため、G2インスタンスによるソフトウェアを導入することが効率的に性能が良いプロセスを実現することができます。低レイテンシネットワーキングを備えた高度なグラフィック処理サーバーについて言及する場合は、EC2インスタンスの中のG2インスタンスが最適です。



##2
B社はサードパーティのWEBアプリケーションを使用したいと考えています。このアプリケーションを利用するためには、B社のアカウント内で実行されているEC2インスタンスへのAPIコマンドを発行するアクセス権が必要となります。B社セキュリティポリシーによると、WEBアプリケーションの提供ベンダーが使用する資格情報はそのベンダーのみが利用できるように限定することが必要です。したがって、第三者による目的外利用ができない形式で権限を付与することが必須となります。 

これらの条件をすべて満たす方法を選択してください。

> WEBアプリケーションの提供ベンダーが使用する資格情報を、第三者が使用できないようにするために、クロスアカウントアクセス許可とIAMロールにより限定的なアクセスを委任することができます。WEBアプリケーションが必要とする権限のみに限定したアクセス権限を付与したIAMポリシーを設定して、それに基づいたクロスアカウントアクセスが可能となるIAMロールを作成し、該当WEBアプリケーションに設定することで、第三者に資格情報を漏洩することなく、IAMロールの管理によって第三者の情報もコントロールすることができるようになります。

datadog？

##3
大手メディア企業はAWSにおいてユーザー間でニュース内容を共有する新しいWEBサービスをリリースしました。 このWebサービスは、2つのパブリックサブネットと2つのプライベートサブネットを持つIPv4 CIDR（10.0.0.0/16）のVPC内に設置されています。 プライベートサブネットからのインターネットへの返信処理のためにNATゲートウェイは各パブリックサブネットに配置されます。データベース用のEC2インスタンスは、NATゲートウェイに関連付けたルートテーブルを持つプライベートサブネットに配置されます。社内で将来的な展開を見据えて、IPv6によるIP管理が実施されることになりました。したがって、このアプリケーションでも今後はIPv6を利用した構成に変更することが求められています。

IPv6の追加に必要なAWSでの設定方法を選択してください。（3つ選択してください。）

>１．Amazon が提供する IPv6 CIDR ブロックを VPC およびサブネットと関連付け

> IPv6 トラフィックがルーティングされるようにルートテーブルを更新します。パブリックサブネットの場合、サブネットからインターネットゲートウェイに IPv6 トラフィックをすべてルーティングするルートを作成します。プライベートサブネットの場合、サブネットから Egress-only インターネットゲートウェイにインターネット経由の IPv6 トラフィックをすべてルーティングするルートを作成します。

###IPv6 への移行
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-migrate-ipv6.html

* パブリック
    * IGWにルーティング
* プライベート
    * EIGWにルーティング

##4
大手印刷会社はWEBアプリケーションをオンプレミス環境で利用しています。オンプレミスサーバーの老朽化によるリプレースが必要になっており、新サーバーに切り替えるタイミングでAWSに移行することを決定しました。現在、VMware環境内の高度にカスタマイズされたWindows VMによる仮想環境を利用したアプリケーションが実行されています。 この移行は週末の土日2日間で実施する制約があり、効率的で迅速な対応が不可欠となっています。

この要件を踏まえて、最もコスト効率がよく最適な移行方法を選択してください。

> AWS Server Migration Serviceを利用して、VMware vSphereインフラストラクチャからAmazon EC2に仮想マシンをインポートすることができます。AWS Server Migration Service は、数千のオンプレミスワークロードを従来よりも簡単に、かつ短時間で AWS に移行できるサービスです。AWS SMS では、ライブサーバーボリュームの増分レプリケーションの自動化、スケジュール設定、および追跡が可能なため、大規模なサーバーの移行作業を簡単に実施することができます。

AWS SMSを利用する際は、AWS Connector for vCenterと呼ばれるコネクターを移行対象となるオンプレミス環境のサーバーにインストールします。これによって、GUIを使用してVMware vSphereインフラストラクチャからAmazon EC2に仮想マシンをインポートできます。VMware vCenter から Amazon EC2 に移行する仮想マシンから EC2 インスタンスを起動します。AWS Connector for vCenter を使用して仮想マシンを Amazon EC2 に移行します。

> VM Import/Export を使用すると、仮想マシン (VM) イメージを既存の仮想化環境から Amazon EC2 にインポートし、それを元の環境にエクスポートすることができます。この方法を使うと、アプリケーションおよびワークロードを Amazon EC2 へ移行したり、VM イメージカタログを Amazon EC2 にコピーしたり、バックアップと災害対策のために VM イメージのリポジトリを作成することができます。

## 5
A社では社内アプリケーションに対するDDoS攻撃によって大規模なシステム障害が発生しました。そこで、あなたはソリューションアーキテクトとして、AWSでホストしている自社アプリケーションを保護するためにDDoS攻撃を軽減するアーキテクチャを設定しています。具体的に防止するべき攻撃リストは以下の通りです。



・DDoS攻撃

・SYNフラッド

・UDPリフレクション攻撃

・SQLインジェクション

・クロスサイトスクリプティング

・不正IP取得によるアカウントアクセス

・ネットワーク情報の取得



これらの要件を満たすAWSアーキテクチャ設計パターンを選択してください。（3つ選択してください。）

> Amazon Route 53 のシャッフルシャーディングと anycast ルーティングにより、DDoS 攻撃を受けていても連携してエンドユーザーがアプリケーションにアクセ スできるような機能を提供

### Amazon Route 53 および AWS Shield を使用した DDoS リスクの軽減
https://aws.amazon.com/jp/blogs/news/reduce-ddos-risks-using-amazon-route-53-and-aws-shield/

##6
製造企業のA社はAWS上にエンタープライズシステムをホストしていましたが、そのシステムが突如停止するという障害が発生しました。あなたは運用責任者として調査したところ、一人のエンジニアが本番環境のEC2インスタンスを誤って終了してしまい、サービスの中断を引き起こしたことが判明しました。 また、実稼働するアプリケーションにアクセスできる開発者が多数存在するという事実も同時に判明しました。 

このセキュリティ脆弱性を修正し、この種の障害が再び発生するのを防ぐための適切な対応はどれでしょうか （２つ選択してください。）

> インスタンス、イメージ、およびその他のAmazon EC2リソースを管理しやすくするために、タグの形式で独自のメタデータを各リソースに割り当てることができます。 タグを使用すると、目的、所有者、環境など、さまざまな方法でAWSリソースを分類できます。 これは、同じタイプのリソースが多数ある場合に役立ちます。割り当てられたタグに基づいて特定のリソースをすばやく特定できます。 たとえば、アカウントのAmazon EC2インスタンスにタグのセットを定義して、各インスタンスの所有者とスタックレベルを追跡できます。

> VPCによって開発環境と本番環境とテスト環境とを分割して、それぞれ利用者を限定することで、開発者が本番環境に影響を及ぼさない権限設定をすることもできます。

##7
あなたは美術鑑賞向けSNSサービスを運用するPINTORで働くAWSエンジニアです。PINTORアプリケーションはドメイン名pintor.comでCloudFrontディストリビューションを使用してコンテンツ読み込み時間を短縮する構成をとっています。 配信されるデータは個人情報も多いため、マネージャーから、アプリケーションからユーザーへのCloudFront配信においてHTTPS通信を実施することが要件となっています。CloudFrontのビューアリクエストの割合を増やすことにより、パフォーマンスを改善しつつ、コストを抑える対応も依頼されています。

このシナリオにおいて、要件を満たすため設定方法を選択してください。（2つの選択してください。）

>  AWS Certificate Manager なら、証明書をすばやくリクエストして、ELB、CloudFront、Amazon API Gateway の API など ACM に統合された AWS リソースでデプロイできます。AWS Certificate Manager は、AWS のサービスとユーザーの内部接続リソースで使用するパブリックとプライベートの SSL/TLS証明書のプロビジョニング、管理、デプロイを簡単にします。SSL/TLS 証明書は、ネットワーク通信を保護し、プライベートネットワークのリソースと同様にインターネットで ウェブサイトのアイデンティティを確立するために使用されます。

### SSL/TLS 証明書を使用するように CloudFront ディストリビューションを設定する方法を教えてください。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/install-ssl-cloudfront/

> コンテンツのオリジンサーバーに移動する代わりに、CloudFrontエッジキャッシュから提供されるビューアリクエストの割合を増やすことにより、パフォーマンスを改善できます。これによりCloudFrontディストリビューションのキャッシュヒット率を改善することができます。キャッシュヒット率を上げるには、オブジェクトにCache-Control max-ageディレクティブを追加するようにオリジンを設定し、max-ageの実際の最長値を指定します。 キャッシュ期間が短いほど、CloudFrontは別のリクエストをオリジンに転送して、オブジェクトが変更されたかどうかを判断し、変更された場合は最新バージョンを取得する頻度を増やすことができます。

また、コスト削減策としては、エッジロケーションでのZIP圧縮によって配信ボリュームを低下させることで、コストを最適化することができます。ビューワーがリクエストヘッダーに Accept-Encoding: gzip を含めるようのリクエストした場合は、CloudFront が自動的に特定のタイプのファイルを圧縮し圧縮ファイルを供給するように設定できます。コンテンツが圧縮されるとファイルが小さくなるため、ダウンロード時間が短縮されます。—場合によっては、オリジナルの 4 分の 1 以下のサイズになることがあります。特に、JavaScript および CSS ファイルでは、ダウンロード時間が短縮されると、ユーザーにウェブページが表示されるまでの時間が短縮されます。また、CloudFront のデータ転送コストは供給されたデータの総量に基づくので、圧縮ファイルを供給すると、非圧縮ファイルを供給するよりもコストが安くなります。

###圧縮ファイルの供給
https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html

##8
あなたの会社は、Amazon Elastic Container Service（ECS）を使用したDockerベースのエンタープライズアプリケーションと、そのデータを記録するためにマルチAZ構成でリードレプリカを持つRDS MySQLデータベースを利用しています。 データベース層はすでに高可用でスケーラブルに構成されていますが、アプリケーション層にもスケーラビリティを確保することが求められています。 そのため、ECSクラスターに対するオートスケーリング設定を実施することにしました。

このシナリオにおいて、要件を満たすための最適な方法を選択してください。

> ECS Cluster Auto Scalingを有効にするには、Capacity Providerと呼ばれる新たな項目を設定する必要があります。1つのCapacity Providerは1つのEC2 Auto Scaling Groupに関連づきます。あるAuto Scaling GroupにECS Capacity Providerを関連付け、ECSクラスターにCapacity Providerを追加すると、ECSの次の2つの新機能を用いてクラスターを自動スケールできるようになります。
・Capacity Provider Reservationという新しいメトリックに対応するスケーリングポリシーが自動的に生成され、Auto Scaling Groupにアタッチされます。

###Amazon ECS クラスターの Auto Scaling
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/cluster-auto-scaling.html

##9
あるベンチャー企業ではAWSを利用したCI/CD環境を構築しています。開発環境などは全てDocker形式で展開できるようにしており、Fargate起動タイプを使用するAmazon ECSクラスターを利用しています。今回は社内製品を販売するためのECサイトと構築することになりました。 ECSでの実装において、環境変数を使用して顧客データベースの資格情報をECサイトに提供する必要があります。その際には、資格情報がデータ保持とイメージ転送が安全であることが保障され、かつクラスター自体で表示できないようにセキュリティを徹底することが求められています。

このシナリオで、上記要件を満たす有効なソリューションは次のうちどれですか？

> 資格情報がイメージに渡されるときに安全であり、クラスター自体で表示できないために、AWS Secrets Managerを利用して資格情報を保持して、AWS KMSを利用して暗号化を実施することが求められます。Amazon ECSの実行ロールとAWS Secrets ManagerとAWS KMSへのアクセス許可を付与したIAMロールを作成します。その上で、コンテナーに設定する環境変数の名前とコンテナーに提示する機密データを含むSecrets ManagerシークレットのフルARNでシークレットを指定して管理を実施することができます。



> Amazon Elastic Container Service (Amazon ECS) は、Docker コンテナをサポートする拡張性とパフォーマンスに優れたコンテナオーケストレーションサービスです。これにより、コンテナ化されたアプリケーションを AWS で簡単に実行およびスケールできます。Amazon ECSでは、AWS Secrets ManagerシークレットまたはAWS Systems Manager Parameter Storeパラメーターのいずれかに機密データを保存し、コンテナー定義でそれらを参照することにより、機密データをコンテナーに注入できます。この機能は、EC2とFargateの両方の起動タイプを使用するタスクでサポートされています。

> コンテナー定義内で、コンテナーに設定する環境変数の名前と、コンテナーに提示する機密データを含むSecrets ManagerシークレットまたはSystems Managerパラメーターストアパラメーターの完全なARNでシークレットを指定します。AWS Secrets Manager は、アプリケーション、サービス、IT リソースへのアクセスに必要なシークレットの保護を支援します。このサービスは、データベースの認証情報、API キー、その他のシークレットをそのライフサイクルを通して容易にローテーション、管理、取得できるようにします。ユーザーとアプリケーションは、Secrets Manager API を呼び出してシークレットを取得しますので、秘密情報をプレーンテキストでコードに書き込む必要がなくなります。

> Secrets Manager は、Amazon RDS、Amazon Redshift、Amazon DocumentDB への統合を組み込むことでシークレットのローテーションを提供します。また、このサービスは API キーや OAuth トークンなど他のタイプのシークレットにも使えます。さらに、Secrets Manager は、AWS クラウド、サードパーティーサービス、オンプレミスのリソースに対して中央でのきめ細かいアクセス許可と、シークレットローテーションの監査を用いて、シークレットへのアクセスをお客様がコントロールできるようにします。 構成とシークレット用の単一のストアが必要な場合は、パラメーターストアを使用できます。ライフサイクル管理を備えた専用のシークレットストアが必要な場合は、AWS Secrets Managerを使用します。
 
##10
フィンテック企業は自社ネットワークとAWSのクラウドインフラストラクチャを接続するハイブリッドクラウドアーキテクチャを採用しました。既存のいくつかのデータベースを高速処理が可能なAWS上のサービスに移管することから、AWSの利用を開始します。その際には、オンプレミス環境のアプリケーションからAWSリソースへとアクセスするための認証方式を実装することが必要となります。社内ではSAML 2.0をサポートしていない社内のID認証システムによってユーザー管理を実施しており、この仕組みを今後も活用していく方針です。

これらの要件を考慮して、最適なソリューション設定を選択してください。（2つ選択してください。）


> AWS Security Token Service (AWS STS) を使用して、AWS リソースへのアクセスをコントロールできる一時的セキュリティ認証情報を持つ、信頼されたユーザーを作成および提供することができます。これを ユーザーを認証するためのカスタムIDブローカーを作成し、認証手続きを進めることができます。AssumeRoleは通常はアクセスできない可能性があるAWSリソースへのアクセスに使用できる一時的なセキュリティ認証情報のセットを返します。 これらの一時的な資格情報は、アクセスキーID、シークレットアクセスキー、およびセキュリティトークンで構成されます。

> GetFederationTokenではフェデレーションユーザーの一連の一時的なセキュリティ資格情報（アクセスキーID、シークレットアクセスキー、およびセキュリティトークンで構成される）を返します。IAMユーザーの長期的なセキュリティ認証情報を使用してGetFederationTokenオペレーションを呼び出す必要があります。 その結果、この呼び出しにより、サーバーベースのアプリケーションにおいて、これらの資格情報を安全に保存することができます。

##11
ある金融機関は自社ネットワークとAWSのクラウドインフラストラクチャを接続するハイブリッドクラウドアーキテクチャを採用しました。あなたは移行担当者として、ハイブリッドクラウドを実現するためにオンプレミス環境からAWSへの Direct Connect接続を確立する対応を行っています。 Direct Connectリンクを設定してルートをオンプレミス環境に接続しましたが、これを有効化するための設定が別途必要です。

Direct Connectリンクのルートを確立するための最適な設定を選択してください。（2つ選択してください。）

> 仮想プライベートゲートウェイ（VGW）は接続のもう一方の側（AWS側）にある接続機器です。Direct Connectが機能するにはVGWのルート伝播を有効にする必要があります

> 2インスタンスがオンプレミス環境と通信できるようにルートテーブルを更新する必要があるために、顧客のオンプレミス環境に戻るルートを追加して、インスタンスVPCサブネットルートテーブルを変更

##12
あなたの会社は個人がいらなくなった物品を売り買いできるC to C専門のモバイルフリマサイトをAWSに構築しています。このモバイルフリマサイトには、複数のAWSリージョンに対してバックエンドAPIが起動されており、ユーザーに最も近いリージョンで販売および取引が処理されるようにルーティングされています。このアプリケーションを東京リージョンから東南アジアにも展開することになり、トランザクションがシンガポールリージョンにも自動的に複製されるようにレプリケーション構成を実現することが必要です。

次のうち、この要件を達成できるDynamoDBでのアーキテクチャを選択してください。（2つ選択してください。）

> アジアのリージョンで行われたトランザクションがシンガポールリージョンにも自動的に複製するような設定するには、DynamoDB Streamsを有効化します。その上で、該当するシンガポールリージョンにも同じテーブルを作成して、各リージョンにおける個別のトランザクション処理結果がレプリケーションされるように設定します。

> 該当する全てのリージョンに固有テーブルから構成されるグローバルテーブルを作成して、これらのテーブル間のデータ変更を自動的にレプリケートできるように設定します。

##13
あなたの会社はレガシーシステムをアップグレードするためにAWSへの移行を決定し、オンプレミスネットワークをAWSクラウドに移行することになりました。このネットワークは以下のように構成されています。



・VPC（10.0.0.0 / 16）

・パブリックサブネット（10.0.0.0 /24）

・プライベートサブネット（10.0.1.0 /24）



このネットワークに新しいパブリックサブネット（10.0.0.0 /16）を追加しようとしています。



新しいサブネットを追加した場合にどうなりますか？

> CIDRブロック10.0.0.0.0/16を持つ新しいサブネットと先に作ったサブネットとの間にオーバーラップエラーが発生します。サブネットのCIDRブロックは、VPCのCIDRブロック（VPCの単一サブネットの場合）、またはVPCのCIDRブロックのサブセット（複数のサブネットの場合）と同じにすることができます。許可されるブロックサイズは、/ 28ネットマスクと/ 16ネットマスクの間です。 VPCで複数のサブネットを作成する場合、サブネットのCIDRブロックは重複できません。10.0.0.0.0 /16の別のサブネットのCIDRブロックは、10.0.0.0.0 /24の範囲を含めてしまっているため、重複エラーが発生してしまいます。

##14
あなたの会社ではAWSのLambda関数を使用したサーバーレスアーキテクチャによるアプリケーションを運用しています。あなたはソリューションアーキテクトとして、Lambda関数を使ったシステムコンポーネントの設計・実装を担当しています。WEB上で該当するLambda関数を実行すると、VPCでホストされているデータベースに処理結果を保存する機能を構築して、Lambda関数からVPC内のデータベースにアクセスを試みましたが、Lambda関数は動作を停止してしまいました。

この問題を解決するために必要な対応を選択してください。 （2つ選択してください）


> このシナリオでは、WEB上で該当するLambda関数を実行して、VPC内のデータベースにアクセスしたところ、Lambda関数は動作を停止し、変更後に処理を完了できませんでした。この処理では、VPCでホストされているデータベースに既存のLambda関数処理結果を保存することが必要であり、Lambda関数にAWSリソースへのアクセスが適切に実施されている必要があります。したがって、Lambda関数が動作を停止し、変更後に処理を完了できなかったということは、AWSリソースへのアクセスが上手くいっていない可能性が高いです。

Lambda関数はWEB上でサーバレスアプリケーションの実行を行っており、インターネット上でのNATゲートウェイ経由での返信処理が設定されていなければレスポンスを受け取ることができません。Lambda関数でインターネットアクセスが必要な場合は、VPC内でNATインスタンスを設定するか、Amazon VPC NATゲートウェイを使用することが必要となります。また、Lambda関数の関連付けられたセキュリティグループがアウトバウンド接続を許可することを確認する必要があります

### VPC 内のリソースにアクセスするように Lambda 関数を設定する
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-vpc.html

> アカウントの Virtual Private Cloud (VPC) のプライベートサブネットに接続するように関数を設定することができます。Amazon Virtual Private Cloud (Amazon VPC) を使用して、データベース、キャッシュインスタンス、または内部サービスなどのリソースのプライベートネットワークを作成します。実行中にプライベートリソースにアクセスするには、関数を VPC に接続します。

##15
B金融機関はフィンテック事業として新しい仮想通貨取引システムを運用しています。あなたは担当者として、今年リリースしたモバイルから仮想通貨取引に参加できるアプリケーションをサーバレスアーキテクチャにより実装しています。このモバイルアプリケーションはグローバルに何10万人ものユーザーを抱えており、CloudFrontによってコンテンツが配信されることで最適な配信構成を実現していましたが、最近になってHTTP 504エラーが時々発生しているようです。特にログイン時に時間がかかっているようです。

この問題を解決するための最も費用対効果の高いAWSソリューションを選択してください。（2つ選択してください。）

> このシナリオでは、モバイルアプリケーションへのアクセス時にHTTP 504エラーが時々発生する問題が多発しており、その改善が求められています。この原因としては、グローバルなコンテンツ配信処理のパフォーマンスが低下していることが考えられます。

> Lambda Edgeを使用して、Lambda関数でCloudFrontが配信するコンテンツをカスタマイズし、ユーザーに近いAWSロケーションで認証プロセスを実行できます。これによって、グローバルなユーザーに適した認証プロセスが実施できることでモバイルアプリケーションのログイン遅延に対応することができます。

> 1つをプライマリオリジン、もう1つをプライマリオリジンに障害が発生したときにCloudFrontが自動的に切り替える2番目のオリジンとして2つのオリジンを持つオリジングループを作成することにより、オリジンフェールオーバーを設定できます。これにより、ユーザーが経験する不定期のHTTP 504エラーが軽減されます。

### HTTP 504 ステータスコード (Gateway Timeout)
https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/http-504-gateway-timeout.html

##16
あなたは新しいSNSアプリケーションをAWSにホストして構築しています。このアプリケーションでは日常の写真などを共有したりメッセージを発信したりすることができ、2つのアベイラビリティーゾーンにデプロイされたEC2インスタンスに対してAuto ScalingグループとELBを使用したオーソドックスな構成になっています。さらに静的なコンテンツを配信するためにCloudFrontを使用します。このSNSサイトはHTTPS / SSLを利用していないため、Google検索ランキングが低くなっていることを問題として認識しており、改善することになりました。

ユーザーとCloudFront間の通信にHTTPSを利用するための、AWS側での設定方式を選択してください。（３つ選択してください。）


> CloudFrontでViewer Protocol Policyとして HTTPS Onlyを設定する。

> CloudFrontでViewer Protocol PolicyとしてRedirect HTTP to HTTPSを設定する。

> CloudFrontのViewer Protocol Policyの設定でSSL / TLS証明書を利用できる設定にする。

##17
あなたはソリューションアーキテクトとして、社内用モバイルで閲覧できるデータ共有システムをAWSで構築しています。 このアプリケーションは、ユーザーが直接アップロードしたデータを単一のAmazon S3バケットに保存し、ユーザーはAmazon S3バケットから直接自分がアップロードしたデータを表示およびダウンロードすることもできます。社員数1万ものユーザーがいるため、これらのデータ処理は可能な限り安全に実施される必要があります。

このモバイルアプリのユーザー登録フローにおける最適なソリューションを選択してください。（２つ選択してください。）



> アプリケーションのセキュリティを達成するために最適な認証方法はIAMロールとSTSの組み合わせて使用することです。STS AssumeRoleは、通常はアクセスできない可能性があるAWSリソースにアクセスするために使用できる一時的なセキュリティ認証情報のセットを返します。これらの一時的な資格情報は、アクセスキーID、シークレットアクセスキー、およびセキュリティトークンで構成されます。通常、クロスアカウントアクセスまたはフェデレーションにはAssumeRoleを使用します 。

>  を利用することで、ウェブアプリケーションやモバイルアプリケーションのユーザー認証、許可、管理ができます。ユーザーは、ユーザー名とパスワードを使用して直接サインインするか、Facebook、Amazon、Google などのサードパーティーを通じてサインインできます。Amazon CognitoからSTS AssumeRoleを呼び出すAPIコールによって、一時利用資格を取得することが可能です。

##18
Fintech企業B社はビットコインなどの暗号通貨を売買できる仮想通貨取引プラットフォーム事業を開始しました。取引実行データの分析においてRedshiftクラスターを実行しています。あなたはソリューションアーキテクトとして、Redshiftの災害対応の構成を検討しています。要件は以下の通りです。

・リージョン内のAZが停止した際に即時に対応できる構成とする。

・リージョン自体が停止したい際には1日で回復できる構成とする。

 

このRedshiftクラスターのクライアントの回復ニーズに合致した最適な構成を選択してください。

> リージョンの停止障害に対しては、自動スナップショットを有効化して、プライマリーのRedshiftクラスターから自動スナップショットコピーを実施し、別リージョンにコピーしておくことで、障害が発生した際にそのスナップショットからRedshiftを復元し、目標となる回復性を達成します。

> Amazon Redshift は、前回のスナップショット以降にクラスターに加えられた増分変更を追跡する、増分スナップショットを自動的に作成します。自動スナップショットは、スナップショットからクラスターを復元するために必要なすべてのデータを保持します。自動スナップショットをいつ作成するかを制御するためにスナップショットスケジュールを作成できます。また、いつでも手動スナップショットを作成することもできます。これにより、プライマリーのRedshiftクラスターから自動スナップショットコピーを実施し、DR用Redshiftクラスターへと適用することができます。

> Amazon Redshift はシングル AZ 配置のみをサポートしています。データウェアハウスクラスターを複数のアベイラビリティーゾーンで運用するには、2 つの Amazon Redshift データウェアハウスクラスターをそれぞれ別のアベイラビリティーゾーンに配置し、同じ Amazon S3 入力ファイルセットからデータをロードします。

##19
大手商社では海外展開に向けて、AWSの既存リソースの一部を別リージョンに移行する対応を行っています。 まず実行すべきタスクは、すべてのAmazon Machine Image（AMI）を東京リージョンからシンガポールリージョンにコピーすることです。しかしながら、AMIのコピーするだけでは該当ECインスタンスにアクセスすることができません。シンガポールリージョンに向けてコピーされたAMIを起動する際には最適なPEMキーを指定して起動することが必要となります。この会社では管理方針としてPEMキーを単一のキーで一元的に利用することが求められています。



AMIがリージョン間でPEMキーを移行する方式はどれでしょうか？

> 利用するOSなどのライセンス認証情報はAMIに含まれているため、AMIの内容はリージョン全体にコピーされます。 ただし、その際にPEMキーはコピーされないため、別途明示的にインポートする必要があります。 PEMキーをインポートするためのAWSコンソールとAWS CLIを利用することでPEMキーを別リージョンにコピーすることができます。

Amazon EC2 を既に利用しているPEMキーやサードパーティー製のツールにより生成したパブリックキーを Amazon EC2 にインポートすることもできます。たとえば、ssh-keygen (標準 OpenSSH インストールで提供されるツール) を使用して、キーペアを作成できます。また、Java、Ruby、Python などのさまざまなプログラミング言語では、RSA キーペアの作成に使用できる標準ライブラリが提供されています。





以下の形式がサポートされています。

・OpenSSH パブリックキー形式

・Base64 でエンコードされた DER 形式

・SSH パブリックキーファイル形式 (RFC4716 で指定)

・SSH プライベートキーファイルの形式が PEM である必要があります (たとえば、ssh-keygen -m PEM を使用して、OpenSSH キーを PEM 形式に変換)。

・RSA キーを作成します。Amazon EC2 では DSA キーは使用できません。

・サポートされている長さは 1024、2048、および 4096 です。



したがって、この機能を利用して、現在利用している PEMキーをインポートして別リージョンで利用することが可能です。