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

2019-09-29
amazon%20awsamazon%20ec2amazon%20s3aws%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

関連記事

Amplify CLI のインストール
Amplify CLI のインストール Amplify CLI の設定 バックエンド環境作成 Amplify CLI のインストールから設定まで Amplify CLI をインストール 設定 Amplify アプリを初期化 Amplify CLI…

AWS Amplify に Next.js (SSG) で作ったアプリをデプロイする
はじめに 操作 Next.js (React) アプリの作成、Gitへのプッシュ AWS Amplifyでプロジェクト作成 参考にしたサイト この記事では、React / Next.js アプリケーションを作成し、AWS Amplify…

Amazon S3 と ローカルファイルのチェックサムの比較
s3apiでEtagを取得 検証 マルチアップロード時の注意点 Amazon S3 の Etagを使ってファイルの整合性チェックをする。 s3apiでEtagを取得 S3 APIを利用するとEtagを取得します。この値はmd5のハッシュ値になります。 検証 MD…

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を静的サイトに変換するプラグインの紹介。WP2Static
静的化の目的 WP2Static StaticPress Simply Static 3つを比較して WordPressを静的化するプラグインとして、simply staticやStaticPress、WP2Static…

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: 確認とリクエスト ステップ…

最新の投稿

Python poetryでパッケージ開発 PyPIで公開 Pytestでテスト CIをGitHub Actionsで回す
Poetry でパッケージ開発 pytest でユニットテストを実施しカバレッジを算出する パッケージをビルドし PyPI で公開する 検証環境にデプロイする 本番環境にデプロイする GitHub Actions で CI を回す codecovの設定 GitHub…

Perlでconstant(定数)をhashのキーに使う
ハマった事象 解決方法 1 括弧をつける 2 & をつける 参考にしたサイト Perlでconstant(定数)をhash…

php-fpmのステータスページを表示 Apache & htaccess
試した環境 php-fpm の pm.status_path について php-fpmのconfの設定 .htaccess の設定 アクセスしてみる 参考にしたサイト Apache環境で php-fpm のステータスページを htaccess…

DBクライアントツールはDBeaverをおすすめしたい
DBeaver について 特徴 対応DB 対応OS 利用環境 アーカイブ インストール windows mac Linux コネクションの作成 SQLを実行する その他 CloudBeaverについて 今までいくつかのDB…

CentOS8 に Oracle12.2 clientをインストールする
実施した環境 セットアップ clientツールの 準備 インストール 環境変数にパスを通す 実行 libnsl.so.1: cannot open shared object file と表示される場合 CentOS8 に Oracle12.2 client…

フェールセーフやフェールソフト・フールプルーフ 障害対策用語の整理

JSで32ビット符号付き整数に対してのビット演算でハマった
具体例 参考にしたサイト JSでサブネットマスクの計算を行おうとしたとき、ビット演算でハマりました。その時のメモです。 JSでサブネットマスクの計算 JSでビット演算子を利用する場合 3…

Gitにプロキシを設定する
プロキシを設定する 確認 Gitでプロキシを通しておくメモです。 プロキシを設定する 以下のコマンドでproxyを通します。 ※ がプロキシのURL…

JSでIPアドレスがサブネットマスクで指定した範囲内にあるか判定する
IPアドレスが指定した範囲内にあるかどうか判定 参考にしたサイト JSでIPアドレス(IPv4)が指定したサブネットの範囲に含まれるか判定するロジックを作った時の記録です。 IPアドレスが指定した範囲内にあるかどうか判定 処理としては、IP…

プログラムの数値計算で発生する誤差の種類 丸め誤差・打ち切り誤差・桁落ち
はじめに 誤差の種類 丸め誤差 打ち切り誤差 桁落ち 情報落ち 桁溢れ誤差 参考にしたサイト コンピュータで出てくる誤差はいくつかありますが、 それらをコードに落として整理しました。 はじめに 例えば の計算の答えは 0.6666666666…

Tags

Dates

© 2021   404 motivation not found