話題の記事

AWS認定のソリューションアーキテクトアソシエイトが5年ぶりに改訂されたのでサンプル問題を日本語訳してみた

2018.02.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。サービスグループの武田です。

AWSの技術的スキルや専門知識を証明する認定資格として、ファンデーション資格、3つのアソシエイト資格、2つのプロフェッショナル資格、2つのスペシャルティ資格があります。

詳しくは公式サイトを確認してください。

AWS 認定 – AWS クラウドコンピューティング認定プログラム | AWS

ソリューションアーキテクトアソシエイトの試験問題が改訂

ソリューションアーキテクトアソシエイト(以下、SAA)の提供が開始されたのは2013年です。それから5年経っているわけですが、この5年の間にサービスも増え、問題の解決方法(ソリューション)も変わってきています。

(ちなみに公式ページでは4年前と書かれていますが、試験のリリースが2013年5月で丸5年は経っていないからだと思われます)

AWS Certified Solutions Architect – Associate Level Exam 合格しました

今回の試験の改訂は、そうしたプラットフォームの変化・進化、ソリューションアーキテクトの役割の変化に対応するためと説明されています。

この記事は、試験の改訂に合わせ提供されるサンプル問題も新しく英語で提供されていたので、Google翻訳を利用しながら日本語訳し補足を追加したものとなります。

AWS認定ソリューションアーキテクト - アソシエイト

なお執筆時点では、上記ページを日本語で表示すると更新される前の情報となっているため、言語を英語に切り替えて見てください。

/// 2018年2月15日 追記

AWS Architecture Blogにも新しい試験について記事が掲載されていましたので、合わせて参照するとよいでしょう。

New AWS Certified Solutions Architect – Associate Exam: Now in General Availability

/// 追記ここまで

1問目

A company is storing an access key (access key ID and secret access key) in a text file on a custom AMI. The company uses the access key to access DynamoDB tables from instances created from the AMI. The security team has mandated a more secure solution. Which solution will meet the security team’s mandate?

A. Put the access key in an S3 bucket, and retrieve the access key on boot from the instance.
B. Pass the access key to the instances through instance user data.
C. Obtain the access key from a key server launched in a private subnet.
D. Create an IAM role with permissions to access the table, and launch all instances with the new role.

ある会社はカスタムAMIのテキストファイルにアクセスキー(アクセスキーIDとシークレットアクセスキー)を格納しています。会社はアクセスキーを使用して、AMIを元に作成したインスタンスからDynamoDBテーブルにアクセスします。セキュリティチームはより安全なソリューションを要求しています。セキュリティチームの任務を満たすのはどのソリューションですか?

  • A. アクセスキーをS3バケットに入れ、起動時にインスタンスからアクセスキーを取得します。
  • B. インスタンスユーザーデータを使用して、アクセスキーをインスタンスに渡します。
  • C. プライベートサブネットで起動されたキーサーバーからアクセスキーを取得します。
  • D. テーブルにアクセスする権限をもつIAMロールを作成し、新しいロールですべてのインスタンスを起動します。

解答と補足

D – IAM roles for EC2 instances allow applications running on the instance to access AWS resources without having to create and store any access keys. Any solution involving the creation of an access key then introduces the complexity of managing that secret.

D – EC2インスタンスのIAMロールは、アクセスキーを作成して格納することなく、インスタンス上で実行されているアプリケーションをAWSリソースへアクセスできるようにします。アクセスキーの作成を含むあらゆる解決策は、その秘密を管理する複雑さをもたらします。

IAMを利用した基本的なセキュリティについての設問です。アクセスキーが漏洩してしまうと、無効にするまでの間、第三者にアクセスを許すことになります。また無効にすると、それを使用して動いているサービスの停止を余儀なくされます。アクセスキーを再発行してすべて取り替えるのは非常に手間ですね。IAMロールを利用することで、こういったセキュリティ上のリスクと煩雑さをなくすことができます。

2問目

A company is developing a highly available web application using stateless web servers. Which services are suitable for storing session state data? (Select TWO.)

A. CloudWatch
B. DynamoDB
C. Elastic Load Balancing
D. ElastiCache
E. Storage Gateway

会社は、状態を保持しないWebサーバーを使用して可用性の高いWebアプリケーションを開発しています。どのサービスがセッション状態データを格納するのに適していますか? (2つ選択してください)

  • A. CloudWatch
  • B. DynamoDB
  • C. Elastic Load Balancing
  • D. ElastiCache
  • E. Storage Gateway

解答と補足

B, D – Both DynamoDB and ElastiCache provide high performance storage of key-value pairs. CloudWatch and ELB are not storage services. Storage Gateway is a storage service, but it is a hybrid storage service that enables on-premises applications to use cloud storage.

B, D – DynamoDBとElastiCacheは両方とも、キーと値のペアの高性能ストレージを提供します。CloudWatchとELBはストレージサービスではありません。Storage Gatewayはストレージサービスですが、オンプレミスアプリケーションがクラウドストレージを使用できるようにするハイブリッドストレージサービスです。

各サービスの基本的な役割についての設問です。SAAの試験ではこのような問題がいくつか出題されます。出題範囲のサービスはひととおり触って概要を押さえておくとよいでしょう。

3問目

Company salespeople upload their sales figures daily. A Solutions Architect needs a durable storage solution for these documents that also protects against users accidentally deleting important documents. Which action will protect against unintended user actions?

A. Store data in an EBS volume and create snapshots once a week.
B. Store data in an S3 bucket and enable versioning.
C. Store data in two S3 buckets in different AWS regions.
D. Store data on EC2 instance storage.

会社の営業担当者は毎日売上高をアップロードします。 ソリューションアーキテクトは、重要なドキュメントを誤って削除してしまうことを防ぐため、これらのドキュメントに耐久性のあるストレージソリューションが必要です。意図しないユーザーの操作から保護するための操作はどれですか?

  • A. データをEBSボリュームに保存し、週に1回スナップショットを作成します。
  • B. S3バケットにデータを保存し、バージョン管理を有効にします。
  • C. 異なるAWSリージョンにある2つのS3バケットにデータを格納します。
  • D. データをEC2インスタンスストレージに保存します。

解答と補足

B – If a versioned object is deleted, then it can still be recovered by retrieving the final version. Response A would lose any changes committed since the previous snapshot. Storing the data in 2 S3 buckets would provide slightly more protection, but a user could still delete the object from both buckets. EC2 instance storage is ephemeral and should never be used for data requiring durability.

B – バージョン管理されたオブジェクトが削除された場合、最終バージョンを取得することで復元できます。選択肢Aは、以前のスナップショット以降にコミットされた変更を失います。データを2つのS3バケットに格納すると保護が少し向上しますが、ユーザーは両方のバケットからオブジェクトを削除できます。EC2インスタンスストレージは一時的であり、耐久性を必要とするデータには使用しないでください。

AWSの各ストレージの特徴を問う設問です。ファイルの保存場所としてもっとも信頼性の高い場所はS3です。そのうえでユーザーのオペミスなどによる削除を防ぐために、バージョニングが利用できます。またバージョニングのオプションとしてMFA Deleteを有効にすることで、オブジェクトを追加で保護できます。バケットのバージョニング状態の変更やオブジェクトバージョンの完全な削除にMFAが必要となるため、複数人が操作するようなバケットの保護を強化できます。

4問目

An application requires a highly available relational database with an initial storage capacity of 8 TB. The database will grow by 8 GB every day. To support expected traffic, at least eight read replicas will be required to handle database reads. Which option will meet these requirements?

A. DynamoDB
B. Amazon S3
C. Amazon Aurora
D. Amazon Redshift

アプリケーションには、初期ストレージ容量が8TBの高可用性リレーショナルデータベースが必要です。データベースは毎日8GBずつ増加します。予想されるトラフィックをサポートするには、データベースの読み取り処理するために少なくとも8つのリードレプリカが必要です。どのオプションがこれらの要件を満たしますか?

  • A. DynamoDB
  • B. Amazon S3
  • C. Amazon Aurora
  • D. Amazon Redshift

解答と補足

C – Amazon Aurora is a relational database that will automatically scale to accommodate data growth. Amazon Redshift does not support read replicas and will not automatically scale. DynamoDB is a NoSQL service, not a relational database. Amazon S3 is object storage, not a relational database.

C – Amazon Auroraは、データの増加に合わせて自動的に拡張されるリレーショナルデータベースです。Amazon Redshiftはリードレプリカをサポートしておらず、自動的にスケールしません。DynamoDBはNoSQLサービスであり、リレーショナルデータベースではありません。Amazon S3はオブジェクトストレージであり、リレーショナルデータベースではありません。

2問目と同様、各サービスの基本的な役割の理解が問われる設問です。Redshiftはデータウェアハウスサービスなので一般的なRDBとは役割が異なりますし、DynamoDBとS3は解説のとおりです。

5問目

A Solutions Architect is designing a critical business application with a relational database that runs on an EC2 instance. It requires a single EBS volume that can support up to 16,000 IOPS. Which Amazon EBS volume type can meet the performance requirements of this application?

A. EBS Provisioned IOPS SSD
B. EBS Throughput Optimized HDD
C. EBS General Purpose SSD
D. EBS Cold HDD

ソリューションアーキテクトは、EC2インスタンス上で動作するリレーショナルデータベースを使用して重要なビジネスアプリケーションを設計しています。最大16,000 IOPSをサポートできる単一のEBSボリュームが必要です。どのAmazon EBSボリュームタイプがこのアプリケーションのパフォーマンス要件を満たすことができますか?

  • A. プロビジョンド IOPS SSD
  • B. スループット最適化 HDD
  • C. 汎用 SSD
  • D. Cold HDD

解答と補足

A – EBS Provisioned IOPS SSD provides sustained performance for mission-critical low-latency workloads. EBS General Purpose SSD can provide bursts of performance up to 10,000 IOPS. The 2 HDD options are lower cost, high throughput volumes.

A – プロビジョンド IOPS SSDは、ミッションクリティカルな低レイテンシのワークロードに対して持続的なパフォーマンスを提供します。汎用 SSDは最大10,000 IOPSのバースト性能を提供します。2つのHDDオプションは、低コスト、高スループットボリュームです。

EBSボリュームの各種類の特徴についての設問です。この問題で問われているEBSボリュームの種類や、暗号化やスナップショットなどのユースケースをしっかり押さえておきましょう。

6問目

A web application allows customers to upload orders to an S3 bucket. The resulting Amazon S3 events trigger a Lambda function that inserts a message to an SQS queue. A single EC2 instance reads messages from the queue, processes them, and stores them in an DynamoDB table partitioned by unique order ID. Next month traffic is expected to increase by a factor of 10 and a Solutions Architect is reviewing the architecture for possible scaling problems. Which component is MOST likely to need re-architecting to be able to scale to accommodate the new traffic?

A. Lambda function
B. SQS queue
C. EC2 instance
D. DynamoDB table

顧客はWebアプリケーションを使用して、S3バケットに注文をアップロードできます。Amazon S3イベントを通じて、メッセージをSQSキューに挿入するラムダ関数を呼び出します。1つのEC2インスタンスがキューからメッセージを読み取り、処理し、一意のオーダーIDでパーティション化されたDynamoDBテーブルに格納します。来月のトラフィックは10倍に増加すると予想され、ソリューションアーキテクトはアーキテクチャにスケーリングの問題がないか検討しています。新しいトラフィックに対応してスケーリングできるようにするためには、どのコンポーネントを再設計する必要がありますか?

  • A. Lambda関数
  • B. SQSキュー
  • C. EC2インスタンス
  • D. DynamoDBテーブル

解答と補足

C – A single EC2 instance will not scale and is a single point of failure in the architecture. A much better solution would be to have EC2 instances in an Auto Scaling group across 2 availability zones read messages from the queue. The other responses are all managed services that can be configured to scale or will scale automatically.

C – 単一のEC2インスタンスは拡張されず、アーキテクチャの単一障害点になります。はるかによい解決策は、2つのアベイラビリティゾーンにわたるAuto ScalingグループのEC2インスタンスにキューからメッセージを読み込ませることです。その他の選択肢は、自動的に拡張、または自動化されるように構成できるマネージドサービスです。

各サービスの可用性についての設問です。可用性(単一障害点のないインフラ設計)はこの試験の大きなテーマのひとつです。AWSのどのサービスを利用すると可用性を高められるのかは押さえておく必要があります。SQSやDynamoDB、Lambdaといったマネージドサービスを利用することで単一障害点のないシステムを構築できます。

7問目

An application saves the logs to an S3 bucket. A user wants to keep the logs for one month for troubleshooting purposes, and then purge the logs. What feature will enable this?

A. Adding a bucket policy on the S3 bucket.
B. Configuring lifecycle configuration rules on the S3 bucket.
C. Creating an IAM policy for the S3 bucket.
D. Enabling CORS on the S3 bucket.

アプリケーションはログをS3バケットに保存します。ユーザーは、トラブルシューティングの目的でログを1ヵ月間保管してからログを削除する必要があります。これを有効にする機能は何ですか?

  • A. S3バケットにバケットポリシーを追加する。
  • B. S3バケットのライフサイクル設定ルールを設定する。
  • C. S3バケットのIAMポリシーを作成する。
  • D. S3バケット上のCORSを有効にする。

解答と補足

B – Lifecycle configuration allows lifecycle management of objects in a bucket. The configuration is a set of one or more rules, where each rule defines an action for Amazon S3 to apply to a group of objects. Bucket policies and IAM define access to objects in an S3 bucket. CORS enables clients in one domain to interact with resources in a different domain.

B – ライフサイクル設定では、バケット内のオブジェクトのライフサイクル管理が可能です。ライフサイクル設定は1つまたは複数のルールのセットです。各ルールは、Amazon S3が一連のオブジェクトに適用するアクションを定義します。バケットポリシーとIAMは、S3バケット内のオブジェクトへのアクセスを定義します。CORSを使用すると、あるドメイン内のクライアントは異なるドメイン内のリソースと連携できます。

3問目と同様、S3が備える機能の基本的な理解が問われる設問です。S3の可用性や信頼性、セキュリティ機能、ライフサイクル設定や静的WebサイトホスティングなどS3の機能はひととおり押さえておきましょう。

8問目

An application running on EC2 instances processes sensitive information stored on Amazon S3. The information is accessed over the Internet. The security team is concerned that the Internet connectivity to Amazon S3 is a security risk. Which solution will resolve the security concern?

A. Access the data through an Internet Gateway.
B. Access the data through a VPN connection.
C. Access the data through a NAT Gateway.
D. Access the data through a VPC endpoint for Amazon S3.

EC2インスタンス上で動作するアプリケーションは、Amazon S3に保存された機密情報を処理します。情報はインターネット経由でアクセスされます。セキュリティチームは、Amazon S3へのインターネット接続がセキュリティリスクであると懸念しています。セキュリティ上の懸念を解決するソリューションはどれですか?

  • A. インターネットゲートウェイ経由でデータにアクセスします。
  • B. VPN接続を介してデータにアクセスします。
  • C. NATゲートウェイ経由でデータにアクセスします。
  • D. Amazon S3のVPCエンドポイントからデータにアクセスします。

解答と補足

D – VPC endpoints for Amazon S3 provide secure connections to S3 buckets that do not require a gateway or NAT instances. NAT Gateways and Internet Gateways still route traffic over the Internet to the public endpoint for Amazon S3. There is no way to connect to Amazon S3 via VPN.

D – Amazon S3のVPCエンドポイントは、ゲートウェイまたはNATインスタンスを必要としないS3バケットへの安全な接続を提供します。NATゲートウェイとインターネットゲートウェイは、引き続きインターネット経由のトラフィックをAmazon S3の公開エンドポイントにルーティングします。VPN経由でAmazon S3に接続する方法はありません。

S3を主題としていますが、AWSのネットワークサービスであるVPC(Virtual Private Cloud)の理解を問われている設問です。VPCはAWSのクラウド上に独立したネットワークを構築できるサービスです。サブネット、インターネットゲートウェイ、ルートテーブル、ネットワークACL、セキュリティグループなど重要な要素が数多く含まれます。エンドポイントもそのうちのひとつです。

9問目

An organization is building an Amazon Redshift cluster in their shared services VPC. The cluster will host sensitive data. How can the organization control which networks can access the cluster?

A. Run the cluster in a different VPC and connect through VPC peering.
B. Create a database user inside the Amazon Redshift cluster only for users on the network.
C. Define a cluster security group for the cluster that allows access from the allowed networks.
D. Only allow access to networks that connect with the shared services network via VPN.

組織は、サービス共有のVPCにAmazon Redshiftクラスタを構築しています。クラスタは機密データをホストします。組織がクラスタへのアクセスを制御できるのは、どのネットワーク構成ですか?

  • A. 別のVPCでクラスタを実行し、VPCピアリングを介して接続します。
  • B. ネットワーク上のユーザーに対してAmazon Redshiftクラスタ内にデータベースユーザーを作成します。
  • C. 許可されたネットワークからの、クラスタのアクセスを許可するセキュリティグループを定義します。
  • D. VPN経由でサービス共有ネットワークに接続するネットワークのアクセスのみを許可する。

解答と補足

C – A security group can grant access to traffic from the allowed networks via the CIDR range for each network. VPC peering and VPN are connectivity services and cannot control traffic for security. Amazon Redshift user accounts address authentication and authorization at the user level and have no control over network traffic.

C – セキュリティグループは、許可されたネットワークから各ネットワークのCIDR範囲を通じたトラフィックへのアクセスを許可できます。VPCピアリングとVPNは接続サービスであり、セキュリティのためにトラフィックを制御することはできません。Amazon Redshiftのユーザーアカウントは、ユーザーレベルで認証と承認を処理し、ネットワークトラフィックを制御することはありません。

8問目と同様VPCの設問です。VPCのセキュリティ機能はネットワークACLとセキュリティグループとなるので、両者のできることの違いやユースケースなどを押さえておきましょう。

10問目

A Solutions Architect is designing an online shopping application running in a VPC on EC2 instances behind an ELB Application Load Balancer. The instances run in an Auto Scaling group across multiple Availability Zones. The application tier must read and write data to a customer managed database cluster. There should be no access to the database from the Internet, but the cluster must be able to obtain software patches from the Internet. Which VPC design meets these requirements?

A. Public subnets for both the application tier and the database cluster
B. Public subnets for the application tier, and private subnets for the database cluster
C. Public subnets for the application tier and NAT Gateway, and private subnets for the database cluster
D. Public subnets for the application tier, and private subnets for the database cluster and NAT Gateway

ソリューションアーキテクトは、ELB Application Load Balancerの背後にあるEC2インスタンス上のVPCで動作するオンラインショッピングアプリケーションを設計しています。インスタンスは、複数のアベイラビリティゾーンにわたるAuto Scalingグループで実行されます。アプリケーション層は、顧客管理のデータベースクラスタにデータを読み書きする必要があります。インターネットからデータベースにアクセスする必要はありませんが、クラスタはインターネットからソフトウェアパッチを入手できる必要があります。どのVPCデザインがこれらの要件を満たしていますか?

  • A. アプリケーション層とデータベースクラスタの両方をパブリックサブネットに配置する
  • B. アプリケーション層をパブリックサブネット、およびデータベースクラスタをプライベートサブネットに配置する
  • C. アプリケーション層およびNATゲートウェイをパブリックサブネット、およびデータベースクラスタをプライベートサブネットに配置する
  • D. アプリケーション層をパブリックサブネット、およびデータベースクラスタとNATゲートウェイをプライベートサブネットに配置する

解答と補足

C – The online application must be in public subnets to allow access from clients' browsers. The database cluster must be in private subnets to meet the requirement that there be no access from the Internet. A NAT Gateway is required to give the database cluster the ability to download patches from the Internet. NAT Gateways must be deployed in public subnets.

C – オンラインアプリケーションは、クライアントのブラウザからのアクセスを可能にするため、パブリックサブネットに存在する必要があります。インターネットからのアクセスがないという要件を満たすため、データベースクラスタはプライベートサブネット内に存在する必要があります。NATゲートウェイは、データベースクラスタがインターネットからパッチをダウンロードするために必要です。NATゲートウェイは、パブリックサブネットに展開する必要があります。

最後もVPCの設問です。どれだけ重視されているかがわかりますね。パブリック/プライベートサブネットを導入してセキュリティを向上させ、NATを加えることで内部からのインターネットアクセスを可能とさせるのはクラウドの設計としてよく見るパターンのひとつです。従来はこのようなケースではNATインスタンスを利用していましたが、現在はNATゲートウェイも選択肢としてありますので、両者の違いも押さえておくとよいでしょう。

最後に

提供されていたサンプル問題の10問を見てきました。率直な感想として問題の難易度はそれほど変わっていないように思えました。しかしAWSのサービスが増えたことで出題範囲は増えているため、そういう意味では難易度が上がったと言えます。

SAA試験の受験を考えている方は、2018年8月12日までは旧SAA試験も受けられるようですので、現在の学習の進捗状況なども踏まえてどちらを受験するか決めるとよいでしょう。どちらの試験で取得しても認定ステータスに違いはありません。

また新試験は現在英語のみの提供となっているため、日本語で新試験を受けたい人は、もう少し待つ必要があるのも注意が必要です。

最後に、この記事の問題はあくまで提供されているサンプル問題ですので、実際の試験の難易度を保証するものではありません。2000円(+消費税)と有料ですが、模擬試験も提供されているため、試験を受ける前にはそうした準備もぜひしてください。