AWS 認定 Associate level を大体一ヶ月で取った話

# はじめに
- 7-8月の一ヶ月でAWS認定 associate levelの試験 `Solutions Architect`,`Developer`,`Sysops Administrator`の三つを取得したので、各試験で勉強したことをまとめました。

## AWS経験とか
- 前職まではオンプレのみでAWS経験なし。
- サーバサイドエンジニア(主にPHP使用)
- 今の会社に入って1年でVPC,EC2,RDS,ELB,S3を業務で使用。SNS,SQS、DynamoDBなどのサービスは触ったことがない。

## 勉強期間
- 7月初めぐらいからの大体1か月勉強をしてから、各試験を受験しました。

## 試験の難易度について
- 個人的な印象ですが、難易度は `Sysops Administrator` >> `Solutions Architect` > `Developer` だと感じました。
- Solutions Architectでは可用性の配分が多く、知識 + 利用方法を問うものが多く、 Developer、SysOpsでは暗記していないと解けない問題(API名やデフォルト値の挙動)の問題が多く、中でもSysOpsは各分野の採点配分が15%で出題範囲が大きいことが難易度に起因していて、試験という形式の難しいところですが難易度と実用度は必ずしも比例していないと思います。

## 取得した資格
- AWS Certified Solutions Architect - Associate 2017/7/23 取得
- AWS Certified Developer - Associate 2017/8/13 取得
- AWS Certified Sysops Administrator - Associate 2017/8/19 取得

## 学習を始める前の注意

### 出題範囲と配点をよく確認する。
- 各認定のページで出題範囲とサンプル問題がダウンロードできるので、出題範囲と配点はよく確認しておく。
- AWSのサービスは大量にあるのでむやみやたらに勉強するときりがない。出題されない部分ばかりを勉強してしまうと悲劇を起こします。(実体験)
- 資格によって、各分野の採点配分が異なるので重点を置いて、学習する部分も出題範囲を目安にした方がより効率的に学習できると思います。
  - 別記事にサンプル問題と出題範囲のURLをまとめてました。
    - http://qiita.com/yutaChaos/items/a46e88d39bd38a866936
- 公式のblack beltでもAWS認定についてのslideがあるのでこちらを確認することもオススメです。
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-aws 

### 試験更新タイミング
- AWSのサービスは日々更新されていますが、試験はそうではありません。問題の答えが必ずしも最新のサービスと同一ではないので注意が必要。
- 例
  -  起動中インスタンスへのIAMロールの付与は2017年の2月に出来るようになっていますが、現在(2017年8月時点）の認定試験では`起動中インスタンスへのIAMロールの付与はできない`が正解になるようです。
    - http://dev.classmethod.jp/cloud/aws/attach-iam-role-to-existing-ec2/  
- 試験の更新タイミングはどこに書いてあるかが確証が得られなかったのですが、とりあえず今年と去年中頃ぐらいに変更されたサービスは範囲になっていないと思われます。(誰か教えてください。。。)

## 勉強方法
- 大体下記のような形で勉強していました。     
1. ソリューションアーキテクトの対策本を繰り返し読み、参考問題を解く(http://amzn.asia/hPvjP5K)
2. よくわからなかったり不十分な部分はblack beltのスライドを読む。(https://aws.amazon.com/jp/aws-jp-introduction/)
3. Developers.IOの再入門シリーズを読む (http://dev.classmethod.jp/series/aws-re-entering-2015/)
4. それでもよくわからないサービスは実際にAWSで触ってみる。
6. 各サービスのよくある質問を確認する。  
7. サンプル問題、模擬試験を解く。
8. 理解が不十分なところは1からまた繰り返す。   

#### 対策本について
- 現在一冊だけAWS認定についての対策本が出ています。
  - 合格対策 AWS認定ソリューションアーキテクト(http://amzn.asia/hPvjP5K)
- EC2,VPC,S3,RDS,SNSなど、使うことが多いAWSの基本的なサービスを図を含めた形でわかりやすい形で紹介しているので、まずはこの本を読むのがオススメです。ただ概要レベルで、本試験よりも難易度が全体に低く、サービスの細かいところを知ろうとする際には他の勉強も必要だと思います。しかし、この本の内容を隅々まで理解すれば、この本だけでも合格レベルに達することは可能だと思いました。

#### black belt
- AWS公式が行っているWebセミナーです。AWS クラウドサービス活用資料集 (https://aws.amazon.com/jp/aws-jp-introduction/) やgoogleで `AWS blackbelt {調べたい機能名}`で検索するとslideshareにあがっている記事を検索することができます。サービスの概要やユースケースがわかりやすくまとめられているので、まずはこちらを読むのがオススメです。私はslideshareのアプリを携帯に入れて、電車の中とかで読んだりしていました。

#### Developers.IOの再入門シリーズ
- AWSを利用した人は誰でも一度は読んだことがあるクラスメソッドさんのDevelopers.IOの再入門シリーズのアドベントカレンダーもサービスの理解の導入として便利だったのでblackbeltと合わせて補助的に読んでいました。ただし試験範囲ではないものあるので注意。

#### White Paper
- ホワイトペーパーは古いものがあったり、black beltと内容がかぶるものがあったりで正直あまり読みませんでした・・・

#### サンプル問題について
 - AWS認定試験は公式に試験範囲が書いてあるものの具体的な項目までは記載されていないので範囲の絞り込みが難しいです。サンプル問題の内容は数少ない本番の試験で出る可能性が高い問題なので、わからない部分があった場合はよく復習することをおすすめです。

#### よくある質問について
- 実際に存在するユースケースから問題が作成されることもあるらしく、よくある質問にある設定方法や課題解決が出ることもあるので、各サービスのよくある質問を読んで、black beltだけでは把握しきれない部分も理解しておくことも重要です。

#### AWSを実際に触る
- associate lebelの試験はAWSに触らなくても合格することは可能だと思います。ただ実際にAWSのコンソールやCLIで環境を構築した方がどのサービスが連携しているかということが理解しやすいので、理解が不十分だと思った箇所はAWSで実際に設定・構築してみることがおすすめです。

#### 模擬試験
- ネット上で各試験の模擬試験を受けることができます。ある程度勉強して自信がついたら本試験を受ける前に受けることおすすめです。
- 概要
  - 試験時間 30分
  - 問題数 20問
  - 受験料 2,160円
  - ネット上でブラウザから受験する。
  - 問題は複数選択からの択一もしくは複数選択で本番と同様
  - 答えは教えられず、分野ごとの正解率のみが送られる。
- 問題量は本試験より少ないですが、数少ない本試験と同じ環境の問題を受ける方法です。ただ全体的に本試験より難易度が低く感じたので、模擬試験の点数が高かったとしても模擬試験の正解率は本試験の合格率というよりも各分野への理解度チェックぐらいに思っていた方が良いと思います。あまり問題数が多くないようで、複数回受けると同じ問題が出るようです。

#### 本試験
- 本試験はネット上から申し込みを行い、テストセンターで受験します。
- 概要
  - 試験時間 80分
  - 問題数 55問
  - 受験料 16,200円
  - ネット上から申し込みして、テストセンターで受験
  - 問題は複数選択からの択一もしくは複数選択
  - 答えは教えられず、分野ごとの正解率のみが送られる
- 本試験はテストセンターで受験します。結果は最後の問題を答えた後にすぐに表示されます。
テストセンターで受験する際は身分証明証が2つ(顔つきのものともう一つ)が必要になるので注意。


## 学習範囲について
- 各試験の分野で学習して重要だと思った部分を記載します。ここに書いてないからといって試験に出ないわけではないです。。。

#### EC2 (Elastic Compute Cloud)
- クラウド環境上に仮想サーバーを構築するサービス
- 押さえておきたい点
  - ユーザーデータとメタデータの違い 
    - ユーザーデータはインスタンスの起動時にコマンドを渡すことができる。
    - メタデータはインスタンスのpublic IP,Instance Typeなどのインスタンスの各種情報を取得することができる。 
  - オンデマンドインスタンス
    - 通常で購入するインスタンスのこと 
  - リザーブドインスタンスとスポットインスタンスの活用
    - リザーブドインスタンスは1年、3年単位でインスタンスを予約して購入することで安く利用できる。
    - スポットインスタンスは入札ベースでインスタンスを購入し、安く利用できる。
  - EBS最適化インスタンス
  - KMSのキーペアをSSHの鍵にできる
  - EC2のライフサイクルを把握する
  - AMI(Amazon Machine Image)
    -  Amazon EBS-Backed と Instance Store-Backed の違い
      - Instance Storeは停止ができない。
    - AMIは指定したregionのみで使用できる。  
    - 暗号化
      - 暗号化されたAMIはprivateとなり、他のアカウントと共有することができない。    
  - 基盤にしているソフトウェアは `Xen`
- 参考にしたURL   
  - https://www.slideshare.net/AmazonWebServicesJapan/20150325-aws-blackbeltrispotpublic 
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-amazon-ec2

#### VPC (Virtual Private Cloud)
- クラウド上にネットワークを構築することができるサービス
- 押さえておきたい点
  - セキュリティグループとネットワークACLの違い 
    - セキュリティグループ
      - 許可のルールのみを設定できる。
      - インスタンスレベルで設定できる。
      - ステートフル
        - インバウンド、アウトバウンド両方の通信の設定が必要
      - デフォルトの設定
        - セキュリティグループ外からのインバウンドの通信は全て拒否
        - 同一セキュリティグループ内からのアウトバウンドの通信は全て許可
        - 同一セキュリティグループ内での双方向の通信は全て許可
    - ネットワークACL
      - サブネットレベルで設定できる。  
      - 許可と拒否のルールが設定できる。
      - ステートレス 
        - 通信したい場合、インバウンド、アウトバウンド両者の設定をする必要がある。 
      - デフォルトの設定
        - インバウンド、アウトバウンドの両者が全許可
  - パブリックサブネットとプライベートサブネットの違い 
  - NATインスタンス
  - インターネットゲートウェイ
  - 仮想VPNゲートウェイ
  - プレースメントグループ
  - DHCPオプションセット
- 参考にしたURL
  - https://www.slideshare.net/AmazonWebServicesJapan/20170809-black-belt-dynamodb?next_slideshow=1
  - https://aws.amazon.com/jp/vpc/faqs/ 
  
#### CloudWatch
- AWSリソースとAWSで実行するアプリケーションをモニタリングするサービス
- 押さえておきたい点
  - 基本モニタリング
    - 無料で使える基本モニタリングで取れる値を把握しておく、ハイパーバイザーレベルで取れる項目を取得している、間隔は5分
  - 詳細モニタリング
    - 間隔は1分単位 
  - カスタムメトリクスの利用
  - アラームのステータス
    - OK 
    - ALARM
    - INSUFFICIENT_DATA
  - CloudWatch Alarm
    - Alarm をトリガーにAuto scalingを縮退することができる。
    - Alarm をトリガーに他のサービスの起動が可能  
  - デフォルトのログの保持期間14日(今は15か月になっている)
    - http://dev.classmethod.jp/cloud/aws/cloudwatch-extended-15months/   
- 参考にしたURL
  - http://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-aws-re-entering-cloudwatch/
  - https://www.slideshare.net/AmazonWebServicesJapan/black-belt-online-seminar-amazon-cloudwatch
     
#### Auto Scaling 
- AWS上にdeployされた仮想サーバー群を条件によって、スケールさせるサービス。負荷が大きい時にはサーバー台数を多く、少ない時はサーバー台数を少なくする。
- 押さえておきたい点 
  - auto scaling policy
    - auto scalingする条件 
  - auto scaling launch configuration
    - auto scalingで扱うインスタンスの種類 
  - auto scaling group
    - auto scalingの台数 
  - スケールアップ、スケールダウン、スケールイン
  - クールダウンの設定
    - Auto Scaling グループにおける構成可能な設定で、以前の規模の拡大や縮小が適用される前に、Auto Scaling が追加のインスタンスを起動または終了しないようにします。
  - デフォルトの挙動について
  - auto scalingのインスタンスはstoppedのステータスを持たない。 
  - auto scalingの利用自体は無料であること 
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-auto-scaling
  - https://aws.amazon.com/jp/autoscaling/

#### S3 (Simple Storage Service)
- クラウド上に構築された可用性の高いファイルストレージサービス
- 押さえておきたい点
  - リージョンサービス 
  - 結果整合性と読み込み整合性
  - 3つのポリシーの違いについて
    - IAM(ユーザー)ポリシー
    - バケットポリシー
    - ACLポリシー
    - ルールの強さ  IAMポリシー > バケットポリシー > ACLポリシー
  - 低冗長化オプション
  - ユースケースについて 
  - AWS SDKを利用したS3の操作方法
  - 暗号化
    - クライアント側の暗号化
    - サーバーサイド(S3側)での暗号化
      - 自分で作った鍵を使う
      - KMSを利用する 
  - S3 の事前署名付き（期限付き）URL
  - 単一であげられるファイルサイズは5GB、それ以上の場合はマルチパートアップロードを使う。その場合は5TBまでのファイルをあげられる。
  - パフォーマンスとの最適化
  - web strage pattern
    - 静的コンテンツをS3に動的コンテンツをEC2に載せて負荷を下げるクラウドデザインパターン 
    - http://aws.clouddesignpattern.org/index.php/CDP:Web_Storage%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3 
- 参考URL
  - http://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-aws-re-entering-s3/
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-amazon-s3  

#### Glacier 
- 安全で耐久性に優れた長期的なオブジェクトストレージ
- 押さえておきたい点
  - S3との違い
    - S3と比べて安い。ただし取り出すの時間がかかる。 
  - 月の無料枠(保存している全体データの5%を日毎に按分)
  - S3のライフサイクルと合わせてアーカイブに使える。
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-amazon-s3  

#### RDS (Relational Database Service)
- マネージネド型のRDBMSサービス
- 押さえておきたい点
  - AZサービス 
  - 利用できるデータベースエンジンの種類
    - MySQL
    - MariaDB 
    - PostgreSQL
    - Oracle 
    - SQL Server
  - Mutli AZ配置 
    - Multi AZのにすることの利点について
  - プライマリーセカンダリーの扱い
  - リードレプリカの同期タイミング
    - 非同期で行われる
  - フェイルオーバー 
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/black-belt-online-seminar-aws-amazon-rds  

#### ELB (Elastic Load Balancing)
- 抽象化されたロードバランサーサービス
- 押さえておきたい点 
  - EC2,ELB,RDSをMulti AZ配置すると可用性が高いMulti-Datacenter patternとか
    - http://en.clouddesignpattern.org/index.php/CDP:Multi-Datacenter%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3  
  - ヘルスチェックについて
  - スティッキーセッションが利用可能 
  - ELB自体が自動でscalingすること 
  - 負荷が多くなることがある場合はPre-warming(暖機運転) 申請ができること。 
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2016-elastic-load-balancing  

#### Route 53
- 可用性が高くスケーラブルなクラウドドメインネームシステム (DNS) ウェブサービス
- 押さえておきたい点
  - ルーティングポリシー
    - シンプルルーティングポリシー – ドメインで特定の機能を実行する単一のリソースがある場合に使用します。たとえば、example.com ウェブサイトのためにコンテンツを提供する 1 つのウェブサーバーなどです。
    - フェイルオーバールーティングポリシー – アクティブ/パッシブフェイルオーバーを設定する際に使用します。
    - 位置情報ルーティングポリシー – ユーザーの位置情報に基づいてトラフィックをルーティングする際に使用します。
    - レイテンシールーティングポリシー – 複数の場所にリソースがあり、レイテンシーの最も小さいリソースにトラフィックをルーティングする際に使用します。
    - 複数値回答ルーティングポリシー – アトランダムに選ばれた最大 8 つの正常なレコードを持つ DNS クエリに Amazon Route 53 を応答させる場合に使用します。
    - 加重ルーティングポリシー – 指定した比率で複数のリソースにトラフィックをルーティングするのに使用します。 
  - Aliasレコードでzone apexを解決する。 

#### CloudFront
- Amazon CloudFront は低レイテンシーの高速転送によりデータ、ビデオ、アプリケーション、API をビューワーに安全に配信するグローバルコンテンツ配信ネットワーク (CDN) サービス
- 押さえておきたい点
  - 静的コンテンツをキャッシュし、CroundFrontからキャッシュを返すことでウェブサーバーへの負荷を減らすことができる。
  - エッジロケーション、アクセスされた場所から近いキャッシュサーバー
- 参考URL
    - http://dev.classmethod.jp/cloud/cm-advent-calendar-2015-aws-re-entering-cloudfront/
    
#### EBS (Elastic Block Store)
- AWS クラウド内で Amazon EC2 インスタンスと組み合わせて使用できる、永続的なブロックストレージボリューム
- 押さえておきたい点
  - 各ボリュームタイプの特性 
  - 暗号化
    - 作成時に行う。 
    - 既存のEBSボリュームの暗号化はできない
  - snapshot
    - ディスクIOを止めてから撮ると、その時点のsnapshotをとることができる。
    - snapshotの取得は非同期に行われるので、取得の終了を待つ必要がない。
    - snapshotの実態はS3にデータ保存されている。
  - 実態はネットワークストレージだが、ユーザーは意識する必要がない。  
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-amazon-elastic-block-store-ebs 
  - http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSEncryption.html
  - https://aws.amazon.com/jp/ebs/faqs/

#### ElastiCache
- クラウドでのメモリ内データストアまたはキャッシュのデプロイ、運用、および縮小/拡張を容易にするウェブサービス
- 押さえておきたい点
  - マネージドサービス
  - RDBMSのクエリ結果をインメモリにキャッシュしてDBの負荷を下げることができる。
  - RedisとMemchachedの二週類を選んで使うことができる。
  - セッションキャッシュにも利用できる。
  - Multi AZ
            - Multi AZの利点について 
  - フェイルオーバー時の挙動
- 参考URL
  - https://aws.amazon.com/jp/elasticache/faqs/

#### IAM (Identity and Access Management)
- AWS操作を権限管理周りの仕組み
- 押さえておきたい点
  - ロール、ユーザー、グループの違い
  - 暗号化
    - 暗号化されIAMは鍵を持つ人以外で共有することができない 
  - IAMで使う認証情報の種類について
    - アクセスキーID
    - シークレットアクセスキー
    - パスワード
    - MFA(多要素認証) 
  - 最小責任で設定することがベストプラクティスということを理解する
  - JSON形式で記載する
  - デフォルトの設定は全拒否
    - 明示的な拒否は明示的な許可よりも優先される。
  - AWS STS (AWS Security Token Service） 
    - Tokenを利用することで一時的なユーザーを作成し、権限を委譲することができる。
  - AWS federationによる連携 
  - IAMのベストプラクティスは読んでおいたほうがよい。
    - http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html 
  - IAMの使用自体は無料 
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/20150617-aws-blackbeltiam

#### CroudFront
- Amazon CloudFront は低レイテンシーの高速転送によりデータ、ビデオ、アプリケーション、API をビューワーに安全に配信するグローバルコンテンツ配信ネットワーク (CDN) サービス
- 押さえておきたい点
  - CDNサービスの概要
  - エッジロケーションとは何か？
  - ユースケースについて 
    - サイトの高速化
    - 負荷軽減
    - 動画配信 
  - 署名つきURLを使った配信 
- 参考URL
  - http://dev.classmethod.jp/cloud/cm-advent-calendar-2015-aws-re-entering-cloudfront/ 
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-2016-amazon-cloudfront

#### KMS (AWS Key Management Service)
- AWS Key Management Service (KMS) とは、データの暗号化に使用する暗号化キーを簡単に作成および管理できるマネージド型サービス
- 押さえておきたい点
  - EC2,S3,RDSなどの各種AWSと連携して暗号化の鍵として使うことができる。 
- 参考URL
  - https://aws.amazon.com/jp/kms/
  - http://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-aws-relearning-key-management-service/ 

#### Trusted Advisor
- ベストプラクティスに沿ってリソースをプロビジョニングすることにより、システムのパフォーマンスや信頼性を向上させ、セキュリティを高め、コスト削減の可能性を探せるサービス
- 押さえておきたい点
  - コンソールパネルから利用者のaws環境を「コスト最適化」、「パフォーマンス」、「セキュリティ」、「フォールトトレーランス」の観点から分析し、推奨設定を教えてくれる。
- 参考URL
  - http://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-getting-started-again-aws-td/ 
  
#### CloudTrail
- AWS CloudTrail は、AWS アカウントのガバナンス、コンプライアンス、運用監査、リスク監査を可能にするサービス
- 押さえておきたい点
  - 各APIの呼び出しを記録して、ログをS3に保存することができる。
- 参考URL
  - https://aws.amazon.com/jp/cloudtrail/ 

#### AWS Config
- レポジトリ情報からAWSリソースの変更履歴、構成変更を管理するサービス
- 押さえておきたい点
  - AWS Configに対応しているサービス
    - EC2
    - VPC
    - EBS
    - IAM
    - RDS
    - CloudTrail
    - Certificate Manager  
- 参考URL
  - https://aws.amazon.com/jp/config/faq/ 
  
#### AWS Import/Export
- 安全な物理的な移動を目的として設計されたストレージアプライアンスを使用して、または AWS への移動をスピードアップさせるためのデータ転送ソリューション
- 押さえておきたい点
  - 数百テラを超える場合はこれを使う。 
  - 大量データテラからペタバイト、最近はsnowmobileというのが出てヘクサバイトまで対応し始めた。 
  - VMImport/Exportと混同しやすい。
- 参考URL
  - https://aws.amazon.com/jp/snowball/disk/
  - http://dev.classmethod.jp/cloud/aws/amazon-snowmobile-released/

#### AWS Storage Gateway
- AWS Storage Gateway は、オンプレミスアプリケーションが AWS クラウドでのストレージをシームレスに使用できるようにする、ハイブリッドストレージサービス
- 押さえておきたい点
  - ユースケース
    - オンプレミスの環境とクラウドの環境を接続して、段階的な移行を実現する。
    - S3やGlacierとの連携を行うことができる。   
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-aws-storage-gateway  

#### AWS Direct Connect
- AWS環境から顧客環境に専用線をひくサービス。
- 押さえておきたい点
  - データ移行や大量の帯域が必要な顧客の場合に使う。
  - クロスアカウント利用
  - 月額利用料
    - ポート利用料
    - データ転送量
  - オンプレミスとの連携設定など  
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-aws-direct-connect 
  - https://aws.amazon.com/jp/directconnect/faqs/   
  
#### DynamoDB
- Amazon DynamoDB は、整合性があり、10 ミリ秒未満のレイテンシーを必要とする、すべての規模のアプリケーションに対応した、高速かつフレキシブルな NoSQL データベースサービス
- 押さえておきたい点
   - ユースケースについて 
   - スループットを出すためのキャパシティユニット数の計算方法
    - 読み込み時 4KB * 1秒 につき1キャパシティユニット
    - 強い整合性を持つ読み込みの場合は2KB * 1秒 につき1キャパシティユニット
    - 書き込み 1KB * 1秒 につき1キャパシティユニット
  - API名やその使い方
  - レンジインデックスとハッシュインデックスについて 
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/20150805-aws-blackbeltdynamodb
  - https://aws.amazon.com/jp/dynamodb/faqs/
  - http://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-aws-re-entering-dynamodb/   


#### SQS (Amazon Simple Queue Service)
- Amazon Simple Queue Service (SQS) は、完全マネージド型のメッセージキューイングサービス
- 押さえておきたい点
  - ユースケースについて
  - SNSと連動した利用方法について
  - ロングポーリングについて
    - ロングポーリングを行った方が良いケースについて 
    - 各種設定値の意味について
  - API仕様
- 参考URL
  -  https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-amazon-sqs-amazon-sns

#### SNS (Amazon Simple Notification Service)
- Amazon Simple Notification Service (SNS) は柔軟なフルマネージド型の pub/sub メッセージング/モバイル通知サービス
  - 押さえておきたい点 
    - ユースケースについて
    - 対応しているプロトコル
      - SMS
      - HTTP/HTTPS
      - Email/Email-JSON
      - Mobile push
      - SQS 
    - 他のサービスとの連携について 
  - 参考URL
    - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-amazon-sqs-amazon-sns
    - https://aws.amazon.com/jp/sns/faqs/ 

#### SWF (Amazon Simple Workflow Service)
- 処理のステート管理とタスク間のコーディネートを行うためのフルマネージドサービス
- 押さえておきたい点
  - ワーカー、ディサイダー、ワークフロースターターについて
  - ユースケースについて
- 参考URL
  - http://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-getting-started-again-swf/    

#### Elastic Beanstalk
- 押さえておきたい点
  - サービスに対する理解
  - 利用できる言語・platformについて
    - Java SE
    - Java(Tomcat)
    - PHP
    - Ruby
    - Python
    - Node.js
    - .NET
    - docker
  - 自動的にデプロイされるサービスについて
    - ELB
    - EC2
    - RDS
    - Auto Scaling
    - S3
    - SNS
  - デプロイ戦略について
  - 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-aws-elastic-beanstalk 
  - https://aws.amazon.com/jp/elasticbeanstalk/faqs/

#### OpsWork
- 押さえておきたい点
  - Chefを利用するサービスであることについて 
  - Chefについての知識
  - デプロイでの環境構築を自動化する
- 参考URL    
  - https://aws.amazon.com/jp/opsworks/chefautomate/faqs/ 

#### CloudFormation
- AWS CloudFormation は、開発や本運用に必要な、互いに関連する AWS リソースのコレクションを作成しておき、そのリソースを適切な順序でプロビジョニングするためのサービス
- 押さえておきたい点
  - インフラのリソース作成の自動化を行うツールであることに対し
  - 記述形式
    - JSON
    - YAML 
  - CloudFormationの用語
    - Resources 
    - Stack
    - Template
    - Parameter
    - Conditions
    - Outputs
  - CloudFormer 
  - デフォルト時の挙動について
    - デフォルト時の途中でResourceの作成に失敗した場合 
  - 参考URL
  - https://aws.amazon.com/jp/cloudformation/faqs/

#### セキュリティ
- AWSを利用する上でのセキュリティ及び、コンプライアンスに関しての理解
- 押さえておきたい点
  - AWSの共有責任モデルを理解する。  
  - 侵入テスト
    - 侵入テストを行う時は自分の環境でもAWSへの事前連絡が必要。 
  - AWSのセキュリティのベストプラクティスを読んでおくべき
    - https://d0.awsstatic.com/International/ja_JP/Whitepapers/AWS_Security_Best_Practices.pdf 
  - 脆弱性レポート
    - https://aws.amazon.com/jp/security/vulnerability-reporting/  
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-23722701 
  
#### AWS Directory Service
- ディレクトリ対応型ワークロードと AWS リソースで AWS クラウド内のマネージド型の Active Directory を使用できるサービス
- 押さえておきたい点
  - WindowsのActive Directoryを使えるということ。 
  - Federationとの連携
- 参考URL 
  - http://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-aws-re-entering-directoryservice/
  - https://aws.amazon.com/jp/directoryservice/faqs/ 

#### Aurora
- Amazonがクラウド向けにMySQL5.6をベースに作り直したデータベースエンジン
- 押さえておきたい点
  - DBがクラスター構成で作られる
    - 自動で3つのAZにインスタンスが作成される。 
    - Writer、Readerの仕組みについて
  - 自己修復機能
  - フェイルオーバー時の挙動
  - ストレージが10GBから64TBまでシームレスに拡張できる
  - 99.99%の可用性
  - RDS for mysqlとの違い
- 参考URL
  - https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-amazon-aurora 
  - https://aws.amazon.com/jp/rds/aurora/faqs/
  - http://blog.nedia.ne.jp/2016/07/21/7882.html

#### サービスの各種制限
- AWSのサービスにはデフォルトの制限が存在する、AWSに申請することで規制が緩和される
  - http://docs.aws.amazon.com/ja_jp/general/latest/gr/aws_service_limits.html

## 各試験の印象
- 基本的にはAWSの試験範囲をよく確認することが重要です。個人的に受けた各試験の傾向の印象を記載します。

#### Solutions Architect 
- 可用性の視点が重視されている。
- EC2,VPC,S3,Glaciar,Elasticache,ELB,RDS,EBSなどを使った構成や結果整合性などの仕組みは押さえておくべき。
- AWSの各ベストプラクティスに沿った内容が出るのでblackbeltやwhite paperなどでベストプラクティスを把握しておく。
- 案件でがっつりAWSを使っている人はほぼ勉強でも理解できる範囲は大きいと思った。
- ELB EC2 RDSを利用したMulti Server Patternは一度自分で作っておくと勉強になる。

#### Developer
- 実際にAWSを利用したプロダクトの開発が重視されている。
- AWS SDKのAPI名や各設定値がそのまま出てくることがある。
- SNS,SQS,DynamoDBなど、AWSのマネージドサービスを押さえておく必要がある。

#### Sysops Administrator
- Solutions Architect の範囲 + デプロイ面(Opswork,Elastic Beanstalk)や運用面(CloudWatchやコスト計算)などの視点が重視されている。
- 他の資格の二つと比べて、配点分野が多岐にわたっているので広く用語を覚える必要があります。


# おわりに
- まずは基礎的な知識を叩きこみたいと思って、一気に受験しました。assciate levelはAWSを活用するというレベルよりもまずAWSのことをよく知ろうという温度感なので、AWSを触り始めた。もしくはもっとよく知りたいという人はオススメだと思います。      

- 次はprofessional levelを目指そうと思います!

- 何か記事の間違いやこうしたほうがいいよ。などの指摘をいただけるとありがたいです。