Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save syuichi-tsuji/d224debf8a615411892c to your computer and use it in GitHub Desktop.
Save syuichi-tsuji/d224debf8a615411892c to your computer and use it in GitHub Desktop.
●SAアソシエイト試験(最終更新日: 2014 年 1 月)サンプルより私的メモ
 ・『S3 に保管したコンテンツを、S3には直接アクセスできないようにしつつCloudFront を使って配信する』
  → CloudFront 用にオリジナルアクセスアイデンティティ(OAI)を作成し
    バケットの中のオブジェクトにOAI のアクセス権を付与する
 ・『VPC 内でElastic IP アドレスが関連付けられたEC2 インスタンスを停止して起動』
  → Elastic IP アドレスの関連付けは解除されない
  → EC2 インスタンスが稼働するホストは変わる
 ・『ディザスタリカバリー(DR)のシナリオにおいて、RDS のどの機能を用いれば最も安く復旧できる?』
  → RDS DB スナップショット
   「RDS Multi-AZ」「RDS リードレプリカ」「RDS プロビジョンドIOPS」「RDS Import/Export」ではない
 ・『EC2 の基本モニタリングにおいて、CloudWatch はどのメトリクスを提供しているか?』
  → CPU 使用率などのハイパーバイザーメトリクス
   「失敗したリクエスト数などのWeb サーバのメトリクス」「メモリ使用率などのOS のメトリクス」
   「接続数などのデータベースメトリクス」
 ・『データセキュリティのためにAWS によって実行される運用プロセスはどれ?』
  → 業界の標準的な方法によるデバイスのデータ消去
   - あらゆる共有ストレージデバイス上のデータをAES-256 で暗号化して保存
   - EBS ボリュームとEBS スナップショットのバックグラウンドでのウィルススキャン
   - 複数のリージョン間でのデータの複製
   - EBS ボリュームのマウントが解除されたタイミングでのEBS データのワイプアウト
●SysOpsアソシエイト試験(最終更新日: 2014 年 1 月)サンプルより私的メモ
 ・『RDSで、AWSが責任を持って実施する管理関連タスク【2 つ】』
  → データベースソフトウェアのインストールと定期的なパッチの適用。
  → 5 分以内での特定時点への復旧を含む、自動化データベースバックアップの作成と維持。
 【こちらは人が】
 「データのインポートとクエリの最適化。」
 「規定の長期保存要件に準拠した、自動化データベースバックアップの作成と維持。」
 ・『開発およびテストプラットフォームを提供するアプリケーションをAWSで。
   m1.smallであり、テスト環境でのネットワーク負荷の増加に伴ってパフォーマンスが低下』
   Q2. テスト環境におけるこうしたパフォーマンス問題をどのように軽減しますか?
   → m1.small をより大規模なインスタンスタイプにアップグレードする。
   -テストインスタンスに追加の ENI を追加する。
   -EBS 最適化オプションを使用して、EBS トラフィックの負荷を軽減する。
   -ネットワーク使用率が 80% を超えた場合、追加NW帯域幅をプロビジョニングするよう、CloudWatch を設定
・『AWS 適正利用規約では、EC2 インスタンスの侵入テストについてどのように定められているか』
 → お客様がご自分のインスタンスに対して実施できるが、AWS からの事前許可が必要
・『"Action":"s3:PutObject",』
 → 「書き込み」「読み取り」「リストアップ」可能
・『ブロックサイズが 4KB のデータを秒間 100,000 回 以上のランダムに読み取る必要がある NoSQL DBに適切なストレージソ
リューション』
 → SSD インスタンスストア
・『VPCの2つの異なるサブネットAとBある。インスタンス A からインスタンス B に ping を行っても応答なし』【2つ】
 → インスタンス B にアタッチされたセキュリティグループは、インバウンド ICMP トラフィックを許可しない
 → サブネット B の NACL は、アウトバウンド ICMP トラフィックを許可しない
・『世界5リージョンで、10EC2 インスタンス(1 リージョンにつき 2 つのインスタンス)でウェブス
トアサイトをホスティング。5 つのうち 1 つのリージョンで長時間ネットワーク接続が切断された場合、ダウンタイムを最小限
に抑えてサイトの可用性を維持できるようにするには、サイトをどのように設定すべき?』
 → Route 53 にEvaluate Target Health フラグを True としたレイテンシーベースのルーティングレコードセット
を作成し、それを各リージョンの Elastic Load Balancing に紐づける
・『S3 内のデータへのアクセスを制限する』
 → S3 バケットポリシーを設定する。
 → S3 ACL をバケットまたはオブジェクトに設定する。
●Devアソシエイト試験(最終更新日: 2014 年 1 月)サンプルより私的メモ
・SQS
 → メッセージは 1 回以上配信され、配信順序は決まっていない。
・パブリック AMI
 → その AMI が格納されている AWS リージョンで EC2 インスタンスを起動するためにのみ使用できる。
・SQS キューからタスクを処理して実行するバックエンドインスタンスは、キューを可能な限り頻繁にポーリングしています。
 しかし短い周期でのポーリングによって、処理すべきタスクがない空のレスポンスが返り CPU が無駄に消費される可能性が。
 空のレスポンスの数を減らすには?
 → キューの ReceiveMessageWaitTimeSeconds 属性を 20 秒に設定する。
・S3では、結果整合性を使用していて、バケットでオブジェクトが読み込み可能になるまでに時間がかかることがある。
・DynamoDB
 → DynamoDB では、楽観的オプティミスティック同時実行制御を使用する 。
 → DynamoDB では、一貫性を実現するために条件付き書き込みを使用する。
 (読み込み/書き込み時の項目アクセス制限はないぽ?)
・Instance store‐backed インスタンスは停止と再開ができない、「AutoScaling」「VPC」はできるっぽい
・『企業ウェブアプリケーションを Amazon VPC 内にデプロイし、IPSec VPN 経由で企業データセンターに接続してい
ます。このアプリケーションは、オンプレミスの LDAP サーバーに対して認証を行う必要があります。認証後、ログイン
したユーザーは、そのユーザーに固有の S3 キー空間のみにアクセス。この目的を満たすことができる方法』
 → LDAP に対して認証を行う認証ブローカーを開発し、
   IAM Security Token Service を使用して IAM フェデレーションユーザー認証情報を取得。
   アプリケーションで認証ブローカーを呼び出して、
   適切な S3 バケットへのアクセスを有する IAM フェデレーションユーザー認証情報を取得する。
・『広告収益モデルの写真共有ウェブサイト、サイト訪問者への写真配信に S3 を使用。
  いつからかその写真に他のサイトが直接リンクを張るようになり、広告収益の減少を招いている。
  この影響を緩和するにはどの対策が効果的?』
 → パブリックの読み込み権限を削除し、有効期限付きの署名 URL を使用する。
・S3に、6GB のファイル(アップロード可能な最大オブジェクトサイズ超)解決する方法
 → このオブジェクトにマルチパートアップロード API を使用
●SAプロフェッショナル試験(最終更新日: 2014 年 1 月)サンプルより私的メモ
①• アプリケーション層 – JBoss アプリケーションサーバー上で動作する Java コード
 • DB層 – Oracle RMAN バックアップユーティリティを使用して定期的に S3 にバックアップされ
るOracle DB
 • 静的コンテンツ – iSCSI インターフェース経由でアプリケーションサーバにアタッチされた、
  GatewayStored Volume のStorage Gateway に格納された512GB のコンテンツ
AWS をベースとした災害対策戦略を想定した場合、最も優れた RTOは?
 → EC2 に Oracle データベースおよび JBoss アプリサーバーをデプロイする。
   Amazon S3 から RMAN Oracle バックアップを復元する。
   Storage Gateway から静的コンテンツの EBS ボリュームを生成し、JBoss EC2 サーバーにアタッチする。
②ある ERP アプリケーションが、1 つのリージョンで複数のアベイラビリティーゾーンにまたがってデプロイされています。
 障害が発生した場合、RTO は3 時間未満、RPO は15 分である必要があります。
 お客様は、約1.5 時間前にデータ破損が発生していたことに気づきました。
 このような種類の障害が発生したときにこの RTO と RPO を達成するために使用できるのは、どのDR戦略ですか?
 → S3への1 時間ごとのDBバックアップ取得を行うと共に S3 に5 分ごとのトランザクションログを保管
③会社のマーケティング担当ディレクターから、"何気ない親切" と思われる善行を目にしたら80文字で要約して投稿できる
 モバイルアプリケーションを作成するように依頼されました。
 できるだけ幅広い種類のスマートフォン、ブラウザ、タブレットで動作するように、
 JavaScript でアプリケーションを記述することにしました。
 投稿された要約を保存するため、アプリケーションから Amazon DynamoDB にアクセスさせる必要があります。
 プロトタイプの初期テストでは、使用状況に大きなスパイクはないことが分かっています。
 このアプリケーションで最もコスト効率が高く、スケーラブルなアーキテクチャとなるのはどの選択肢ですか?
 → Amazon、Google、または Facebook のようなウェブ認証プロバイダにアプリケーションを登録し、
   そのプロバイダ用のIAM ロールを作成し、IAM ロールに はS3 へのGETおよび DynamoDB の入力を許可する権限を設定。 
   ウェブサイトとして有効にした S3 バケットからモバイルアプリケーションを配信し、
   クライアントにより DynamoDB が更新される。
④ユーザーにとって機密性の高い情報を取得して表示するウェブサイトを構築しています。
 サイトが受信するトラフィックの量はわかっていて、上下しないと予想されます。
 このサイトでは、SSL を活用してクライアントとウェブサーバー間の通信を保護します。
 サイトの性質のゆえに、SSL プライベートキーのセキュリティについて非常に懸念しており、キーが誤って、
 または意図的に環境外に移動されることがないようにしたいと思っています。
 また、サイトで表示されるデータは暗号化された EBS ボリュームに保存されますが、
 ウェブサーバーのログに機密情報が含まれることも懸念しているため、
 自社の従業員以外には復号化できないようにログを保存する必要があります。
 → Elastic Load Balancing を使用して、トラフィックを一連のウェブサーバーに分散。
   TCP ロードバランシングを実行するためにロードバランサーを設定。
   AWS CloudHSM を使用してウェブサーバー上でSSL トランザクションを処理し、
   ウェブサーバーのログを、ランダムに生成された AES キーを使用して暗号化されているエフェメラルボリュームに書込。
⑤ファットクライアントアプリケーション向けのネットワーク接続を設計しています。
 このアプリケーションは、ビジネス旅行者向けに設計されており、ホテルの部屋、カフェ、公共の Wi-Fi ホットスポット、
 その他の場所などのインターネットから接続されています。
 このアプリケーションをインターネットで公開したくありません。
 デプロイメントと運用コストを最小限に抑えながら上記の要件を満たすネットワーク設計はどれですか?
 → VPC のパブリックサブネットで SSL VPN ソリューションを構築、
   すべてのユーザーのコンピュータに SSL VPN クライアントソフトウェアをインストールして設定する。
   VPC にプライベートサブネットを作成し、そこにアプリケーションサーバーを配置する。
⑥あなたの会社は、中央ファイルサーバー経由で 900 GB のデータを共有している、オンプレミスのレガシーエンジニアリング
アプリ ケーションをホストしています。
エンジニアリングデータは、ファイルサイズがメガバイトから数ギガバイトで、数千個のファイルで構成されています。
エンジニアは通常、1日に 5~10% のファイルを変更します。CTO はこのアプリケー ションを AWS に移行したいと考えています
が、ユーザーのダウンタイムを最小限にするために週末に移行できることが条件 です。計算によると、会社の既存の 45 Mbps
インターネット接続を使用して 900 GB のデータを転送するには、最低48時間かかります。
AWS上てでアプリケーション環境を複製した後、与えられた時間内にデータを失うことなくアプリケーションのデー タを AWS に
移行するには、どうしたらよいですか?
 → 移行の1週間前から Amazon S3 にエンジニアリングデータを同期する。
   金曜日の夜に最後の同期を実行して、 同期が完了したら、データセット全体を AWS ファイルサーバーにコピー。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment