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

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

2019-09-297 min read

目次

  1. はじめに
  2. 写経の例

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)

Tags
javascript(109)
linux(54)
node.js(53)
amazon%20aws(47)
typescript(44)
%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0(36)
%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86(30)
html5(29)
php(24)
centos(24)
python(22)
%E7%AB%B6%E6%8A%80%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0(21)
mac(21)
mysql(20)
canvas(19)
opencv(17)
%E9%9B%91%E8%AB%87(16)
docker(16)
wordpress(15)
atcoder(14)
apache(12)
%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92(12)
%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9(12)
amazon%20s3(12)
red%20hat(12)
prisma(12)
ubuntu(11)
github(10)
git(10)
vue.js(10)
%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86100%E6%9C%AC%E3%83%8E%E3%83%83%E3%82%AF(10)
mariadb(10)
react(9)
aws%20cdk(9)
css3(8)
%E5%8F%AF%E8%A6%96%E5%8C%96(8)
%E5%B0%8F%E3%83%8D%E3%82%BF(8)
nestjs(8)
amazon%20lightsail(7)
next.js(7)
%E3%83%96%E3%83%AD%E3%82%B0(6)
cms(6)
oracle(6)
perl(6)
gitlab(6)
iam(5)
amazon%20ec2(5)
%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93(5)
aws%20amplify(5)
curl(4)
Author
githubzennqiita
ただの備忘録です。

※外部送信に関する公表事項