SAA試験対策 AWS BlackBeltを写経する

2019-09-29
amazon%20awsec2aws%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93
    

目次

2019/09/23にAWSソリューションアーキテクトアソシエイト(通称SAA)に合格しました。 この記事はその際に行なった試験対策の話です。

はじめに

AWSソリューションアーキテクトアソシエイトの合格体験記を見ているとよく書かれているキーワードとして「BlackBelt」なるのもがあります。 BlackBeltはAWSが提供するオンラインセミナーのことであり、講義後に資料が公開されます。

この資料は「AWS クラウドサービス活用資料集」と呼ばれます。

AWS クラウドサービス活用資料集

https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/

これを使って、どのように学習に活用するかは色々なやり方があると思います。

例えば、通勤時間中にざっと流し読みするとか、ポイントをまとめるとか...あると思います。

私が行なった方法は「写経」です。

具体的には各スライドに出てくる文章やキーワード、図などを文章で構造化し、ひたすら書き写すという方法です。

初めて試験を受ける私にとってポイントを絞るとか山を張るような器用な対策ができなかったので、このようなやり方で進めました。

よかったか悪かったかも分かりませんし、少なくとも効率的なやり方では無いですが、結果的に合格することができました。

写経の例

EC2、EBS、ELBを例に「写経」します。

EC2

  • EC2とは?
    • 1時間または秒単位の従量課金で利用可能なAWSクラウド上の仮想サーバー
    • 追加・削除、マシンスペック変更も数分で可能
    • 20のリージョンにある61のアベイラビリティーゾーン(AZ)で運用
    • プロセッサとアーキテクチャ
      • Intel(x86_64 arch)、 AMD(x86_64 arch0)、 AWS Graviton Processor(64-bit Arm arch)
  • インスタンスタイプ
    • 命名規則: c5d.xlarge == ${インスタンスファミリー}${世代}${機能}.${インスタンスサイズ}
      • インスタンスファミリー[必須]: メモリ・I/O・CPUクロック・GPU・汎用性などの種別
        • 汎用:
          • A, T: 開発環境, Web,
          • M: DB、キャッシュサーバ
        • コンピューティング最適化:
          • C: バッチ、動画像処理、エンコーディング
        • ストレージ最適化:
          • H: BigData、分散型ファイルシステム
          • I: NoSQLデータベース
      • 世代[必須]: 数字が大きい方が新しい
      • 機能[任意]: インスタンスストア付加、ネットワーク強化、メモリ強化、等
    • EC2 Bare Metal: ハードウェアへのダイレクトアクセスを提供する
    • バースト: 負荷に応じて高いレベルまでCPU性能がバーストする機能
      • T2, T3のみ
  • 通信とセキュリティ
    • キーペア: AWSは公開鍵のみを保持、秘密鍵はユーザが管理
    • セキュリティグループ: ファイアウォール機能のこと
      • デフォルトでは全トラフィックが閉じている
      • 必要な通信のみ定義する: TCP/UDP、ポート、アクセス元IP
    • IPの種類 (VPCを利用した場合)
      • Private IP:
        • 必ず割り当てられる
        • 起動/停止した時 IPは変わらない
      • Public IP
        • ランダムに割り当てられる
        • 起動/停止した時 IPは変わる
      • Elastic IP
        • 静的なIP
        • 起動/停止した時 IPは変わらない
        • アタッチしたインスタンスを起動していない場合、課金発生
    • ENI: ネットワークインタフェース
      • 紐つけ対象: Private IP、Elastic IP、MACアドレス、セキュリティグループ
      • インスタンスによって割り当て可能な数が異なる
    • 拡張ネットワーキング
      • ixgbevf (Intel 82599VF)
      • ENA (Elastic Network Adapter)
  • ストレージ:
    • インスタンスストア
      • 概要: ホストコンピュータに内蔵されたディスク
      • 性能・容量はインスタンスタイプごとに規定
      • 費用: 無料
      • Stop/Terminateするとクリアされる
    • EBS
      • ネットワークで接続
      • EC2インスタンスとは独立管理
      • Snapshotを取得しS3に保存可能
      • 費用: 発生
      • Stop/Terminateしてもクリアされない
      • EBS最適化オプション: 通常のネットワークとは別にEBS専用帯域を確保する
        • 起動時に有効/無効を選択可
        • 帯域はインスタンスサイズによって異なる
        • インスタンスタイプによってはデフォルトで有効
  • AMI: OSイメージ
    • 自作可能
    • カスタムAMIを元に何台でもインスタンス作成可能
    • 別リージョンへのコピーも可能
    • AMIの分類
      • アーキテクチャ: x86 or Arm
      • ビット: 32 or 64
      • 仮装方式: PV(非推奨) or HVM
      • ブートストレージ: EBS Backed or Instance Store-Baked(S3 Baked)
    • AMIを探す: コミュニティAMI、マーケットプレイス
  • プレイスメントグループ: EC2インスタンスの物理的な配置オプション
    • クラスタ
      • インスタンスを密な場所に配置 => ネットワークパフォーマンスを最適化
      • 単一アベイラビリティゾーン
    • スプレッド
      • インスタンスを別々のハードウェアに分散して配置 => 障害リスク軽減
      • 複数AZへの配置可能かつ最大7つ
    • パーティション
      • 論理的な区切り(パーティション)に配置 + パーティションが異なるインスタンスを同一のハードウェアを共有しないように分散してインスタンスを配置 => 障害をパーティション単位に抑制
  • ライフサイクル
    • Running(実行中): 課金される、Stopped・Terminatedに遷移
    • Stopped(停止中): 課金されない、Runningに遷移
    • Terminated(削除済み): Running・Stoppedのどれにも遷移しない
  • 費用
    • オンデマンド: 初期費用なし、従量課金
    • リザーブド: 1年間または3年間、常に利用可能なキャパシティ予約により、最大75%の割引
      • スケジュールされたリザーブドインスタンス: 指定した時間帯のみのキャパシティ予約により、5%-10%の割引
    • スポット: 使用キャパシティを時価で提供、最大90%の割引
  • その他キーワード:
    • ユーザデータ: 起動時にスクリプト実行を行う機能
    • インスタンスメタデータ: 自インスタンスに関するデータを取得するための方法
    • 起動テンプレート: EC2起動時に設定すべき項目をテンプレート化
**Amazon EC2 (2019/03/05)**

Slideshare PDF YouTube

EBS

  • EBS概要
    • EC2インスタンスにアタッチして使用するストレージ
    • 目的: OS、アプリケーション、データ置き場
    • SnapshotによるS3バックアップ、ディスク暗号化が可能
    • 99.999%の可用性
  • 特徴
    • 容量 MAX 16TB
    • 同一AZからのみ利用可能
    • 複数のインスタンスから参照できない
    • Snapshot -> S3 は任意のAZに復元できる
  • EBS最適化インスタンス
    • 最適化あり: 独立した帯域で通信 -> I/Oの安定化
    • 最適化なし: 同じ帯域を利用 -> 他のネットワークの影響を受ける
    • 旧世代のインスタンスを除いてデフォルトでON
    • 大きいインスタンスタイプほど帯域が広い
  • ブロックストレージの種類
    • 一時記憶
      • EC2インスタンスストア
    • 永続記憶
      • SSD (gp2, io1)
      • HDD (st1, sc1)
  • EBSユースケース
    • 汎用SSD (gp1)
      • ブートボリューム
      • 負荷が少ないシステム
      • 開発テスト環境
      • 仮想デスクトップ
    • プロビジョンドIOPS (io1)
      • RDB
      • NoSQL
    • スループット最適化HDD (st1)
      • ビックデータ
      • Hadoop
    • コールドHDD
      • ログデータ
      • アーカイブ・大量データ
  • EBSボリュームタイプ
    • 汎用SSD (gp1)
      • サイズ: 1~16TiB
      • IOPS: 3 (1GiBあたり)
        • ベースラインパフォーマンスが 3,000 IOPS 以下の場合、3,000 IOPS までバーストが可能
        • 最小 100 IOPS (33.33 GiB 以下) から最大16,000 IOPS (5,334 GiB 以上)
      • スループット
        • 128 MiB /s( 170 GiB まで)
        • 最大 250 MiB /s( 170 GiB から 334 GiB )
        • 250 MiB /s ( 334 GiB 以上)
    • プロビジョンドIOPS (io1)
      • サイズ: 1〜16TiB
      • IOPS: 必要なIOPS値を指定可能
        • 容量(GiB)あたり50 IOPS を指定できる
        • 最小 100 IOPS
        • 最大 64,000 IOPS(Nitro ベースインスタンス)
        • 最大 32,000 IOPS(その他インスタンス)
      • スループット
        • 最大 1,000 MiB /s(2000 IOPS 以上のときかつ Nitro ベースインスタンス
        • 最大 500 MiB /s(その他のインスタンス)
    • スループット最適化HDD (st1)
      • サイズ: 500GiB~16TiB
      • IOPS: 最大500IOPS
      • スループット
        • ベース値:1 TiB あたり 40 MiB /s
        • バースト値:1 TiB あたり 250 MiB /s
        • バーストクレジット上限:1TiB / 1TiB
        • 最大 500 MiB /s
    • コールドHDD
      • サイズ: 500GiB~16TiB
      • IOPS: 最大250IOPS
      • スループット
        • ベース値:1 TiB あたり 12 MiB /s
        • バースト値:1 TiBあたり 80 MiB /s
        • バーストクレジット上限:1 TiB /1 TiB
        • 最大 250 MiB /s
  • 監視
    • 性能の監視
      • CloudWatch 標準メトリクス
      • Read/Bytes, Read/Ops, VolumeConsumedReadWrite
    • 容量
      • CloudWatch カスタムメトリクス
      • 空き容量・使用量
    • バーストクレジット
      • BurstBalance
  • NVMe
    • Nitro ベースインスタンスでは、NVMe ブロックデバイスとして EBS ボリューム認識
  • Elastic Volume
    • インスタンスアタッチ中にサイズ変更可能
  • EBS Snapshot
    • 定期的にバックアップを取得する
    • 作成時は静止点を設けることを推奨
    • 差分ごと管理できる
    • リージョン間コピーをサポート
  • 暗号化
    • 特徴
      • ONにすると全て暗号化される
      • ハードウェア機能で行うのでパフォーマンス影響は小さい
      • 暗号化されたsnapshotは復元すると暗号化されている
    • キー
      • AES-256
      • Data Key はボリュームごとに一意のキーを生成、ボリューム上に保存
      • Data Key 生成にはKMS CMK 両方 の利用が可能
    • 無効化・有効化
      • Snapshot経由
      • OS側のコピー rsyncなど
  • 価格
    • 汎用SSD (gp1)
      • $0.12 / GB / 月
    • プロビジョンドIOPS (io1)
      • $0.142
      • 指定IOPS
        • $0.074 / IOPS / 月
    • スループット最適化HDD (st1)
      • $0.054
    • コールドHDD
      • $0.03
**Amazon EBS (2019/03/05)** Slideshare PDF YouTube

ELB

  • ELBとは
    • 実現できるシステム: スケーラブル、可用性があるサービス
    • 特徴
      • スケーラブル : キャパシティを自動増減
      • 料金: 従量課金
      • 管理: マネージド
      • 連携: Auto Scaling, Route 53, Cloud Formation
    • リクエストやコネクションが均等になるような負荷分散
    • ELB自体も自動スケール
    • 複数AZに分散 => 2段階で分散
      • ラウンドロビンでAZ内のALBに振り分け
      • 負荷が均等になるようにEC2に振り分け
    • ヘルスチェック
      • 指定した設定に基づきインスタンスのヘルスチェックを行う
    • 課金体系
      • CLB: 処理料
      • ALB: LCU
  • ELB Tips
    • Route53 以外のDNSを利用する
      • CNAMEを使う
    • Route53 を使う
      • CNAME
      • エイリアス
      • Zone Apex を利用する場合
        • CNAMEは不可
        • エイリアスレコードを使用
    • クライアントのIPアドレス
      • ソースIPアドレスがELBのIPアドレスとなる
    • AZとキャパシティ
      • クロスゾーン不可分散でAZを超えて不可を均等にできる
    • コネクションタイムアウト
      • 異常だと自動で切断する
      • デフォルト: 60s (1~3600s に変更可能)
    • VPCでの利用
      • サブネットは最小 /27 CIDRブロックで、8個以上の空きIPが必要
    • Internet-Facing ELB / Internal ELB
      • Internet-Facing ELB: インターネットからアクセスできるELB
      • Internal ELB: オンプレミス環境からのみアクセスできるELB
    • セキュリティグループ
      • 任意のセキュリティグループを設定可能
      • バックエンドのEC2インスタンスはELBからのみリクエストを受け付ける設定を推奨
  • SSL
    • TLS 1.1, 1.2のサポート
    • Perfect Forward Secrecy (PFS) のサポート
    • Server Order Preference
  • スティッキーセッション
    • 同じユーザから来たリクエストを全て同じEC2インスタンスに送信
    • デフォルト: 無効
    • HTTP/HTTPSのみ可能
    • 独自のCookieを挿入
  • Connection Draining
    • EC2インスタンスをELBから登録解除したり、ヘルスチェックが失敗した時に、新規割り振りは中止して、処理中のリクエストは終わるまで一定期間待つ

ELB (2016/10/12) SlideShare PDFhttps://youtu.be/P5zX4DdlYOE)

    
s-yoshiki
s-yoshiki
githubtwitterqiita
Web作ってますが、インタラクティブなプログラミングも好きです。
JavaScript / Vue / node.js / PHP / AWS / OpenCV

関連記事

GitHub Actions で Gatsby をビルドし Amazon S3 にデプロイする
GitHub Actions について あらかじめ準備しておくもの AWS IAM ユーザを環境変数にセットする workflowの記述 ビルド バッジを利用する 終わりに 参考にしたところ Gatsbyで作った静的サイトを、GitHub Actions…

WordPressやめます Gatsbyに移行しました
これまでのWordPress運用 なぜWordPressを捨てるのか? なぜGatsbyを利用するのか? gatsbyについて WordPressから記事の救出 移行対象記事の抽出 記事の置換 Gatsbyテーマの作成 Gatsby…

AWS BlackBeltを写経する EC2編
問われやすいサービス EC2 AWSサービス別資料 https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/ 問われやすいサービス EC2 Amazon EC2 (201…

WordPressをAmazon S3 + CloudFront構成で月額200円で運用
システム全体の この構成のメリット・デメリット AWSの構成 静的ページを作成するWordPressプラグイン WP2Static WP Offload Media Lite WordPress on Docker環境 まとめ AmazonS…

AWS Lambdaから EC2起動&停止を行う
大まかな流れの紹介 IAMポリシー作成 IAMロール作成 Lambda作成 動作確認 起動テスト 停止テスト 参考 AWS Lambda から EC2 の起動と停止を行う方法の紹介。 大まかな流れの紹介 LambdaからEC…

S3 + CloudFront でコンテンツをHTTPS配信
S3バケットを作成する オプションの設定 アクセス許可の設定 S3アクセス権限の公開設定 ACM(AWS Certificate Manager) ステップ 1: ドメイン名の追加 ステップ 2: 検証方法の選択 ステップ 3: 確認とリクエスト ステップ…

AWSソリューションアーキテクト参考資料集
ブラックベルト サービス別資料 AWS Well-Architected フレームワーク 特に目を通すべき資料の一覧です。 ブラックベルト https://aws.amazon.com/jp/aws-jp-introduction/ サービス別資料 https://aws…

AWS ソリューションアーキテクト不合格体験記を集める
AWSソリューションアーキテクトアソシエイトに1回落ちたけど勉強し直して合格した話 AWS認定ソリューションアーキテクトアソシエイト(SAA)不合格体験記 非エンジニアがAWSソリューションアーキテクトに合格するまで AWSソリューションアーキテクト認定に落ちた話 AWS…

AWS EC2 + Bitnami で始める WordPress
Bitnami WordPressを使うメリット 個人的に感じた3つのメリット Amimoto AMI と比較して Bitnami AMIについて Bitnami WordPressの構成と設定 サーバの構成 各種設定 MySQL WordPress Apache…

AWS System Manager(SSM)でEC2にSSHを実行! ポート解放なし
環境 クライアント環境 macOS mojava AWS CLI Session Manager Plugin リモート環境 Ubuntu 18.04 amazon-ssm-agent クライアント環境のセットアップ macOS に Session Manager…

最新の投稿

GitHub Actions で Gatsby をビルドし Amazon S3 にデプロイする
GitHub Actions について あらかじめ準備しておくもの AWS IAM ユーザを環境変数にセットする workflowの記述 ビルド バッジを利用する 終わりに 参考にしたところ Gatsbyで作った静的サイトを、GitHub Actions…

cloudinaryによる画像ファイルの管理 はじめてみる
目的 cloudinary について 他のサービスとの比較 料金プラン アカウントの登録 利用してみる ダッシュボード 画像の編集 APIベースでのアクセス 感想 参考 画像の管理や配信、さらには加工といった事ができるsaas型のcloud…

JavaScriptによる2分探索(バイナリサーチ) のサンプルコード
2分探索について ソース 参考 JavaScriptで2分探索(バイナリサーチ)を実装してみました。…

Vue.jsで作成された、ちょっと面白くて役立ちそうなサービス
UIコンポーネント VueSocial CKEditor 5 Vue.Draggable Vuetable 2 vuejs-datepicker Kalendar Vue Apexcharts Vue.js Google Charts vue-cart WebIDE…

GitHubのリポジトリをGitLabに同期する GitLabのミラーリング機能
GitLabのミラーリングについて GitHubのリポジトリをGitLabに反映する その他 参考 GitLabのミラーリング機能によりGitHubなどの外部のリポジトリとのミラーリングを行うことができます。 これを使ってGitHub…

WordPressやめます Gatsbyに移行しました
これまでのWordPress運用 なぜWordPressを捨てるのか? なぜGatsbyを利用するのか? gatsbyについて WordPressから記事の救出 移行対象記事の抽出 記事の置換 Gatsbyテーマの作成 Gatsby…

WordPressのDBから記事データを抽出する
WordPressのDB関連図 公開記事一覧の取得 タグ・カテゴリの取得 サムネイルの取得 おまけ: PHPスクリプト化しました 参考にしたところ WordPressにため込んだデータMarkdown化しGatsby…

ハイフンとかマイナスとかダッシュとか

Firebase + Nuxt で認証付きページを作るときに参考にしたいところ
Webアプリケーションのセッション管理にJWT導入を検討する際の考え方 Service Worker によるセッション管理 ユーザー セッションの管理 Nuxt.jsとFirebaseでSPA×SSR×PWA×サーバーレスを実現する CookieとセッションとJWT SSR…

GolangをCGIとして実行する
環境 golang パッケージ ソースと実行 ビルドとサーバ実行 標準ライブラリのみ Golang を CGIとして実行する際のメモ 環境 golang パッケージ 以下のモジュールを利用しています。 github.com/gorilla/mux…

Tags

Dates

© 2020   404 motivation not found