【AWS認定】AWS Certified Data Analytics Specialty学習メモ特集④ ~Analytics(分析)/Visualization(可視化)編~

SCSK三上です。

AWS Certified Data Analytics Specialtyを受験し、分野ごとに抑えておいた方が良い点まとめました。

今回は、Analytics(分析)、Visualization(可視化)編です!

Analytics(分析)

Amazon Kinesis Data Analytics 

SQLやJavaを使って、ストリーミングデータに対してリアルタイム分析を行うことが出来るマネージドサービス。

  • ストリーミングソース
    •  DataStreamまたはDataFirehoseのいずれか
  • Kinesis Data Analytics + Lambda
    • リアルタイム分析をLambdaに送信するようにKinesis Data Analyticsで設定可能。処理済みデータに基づいて、LambdaがDyanamoDBやAurora、SNS、SQSを使用したリアルタイムアラートの送信や独自のカスタムAPIを呼び出すことが出来る。
  • Kinesis Data Analytics + Apache Flink
  • RANDOM_CUT_FOREST
    • 異常検出

Amazon OpenSearch Service

  • Amazon OpenSearch Service
    • 検索エンジン、分析ツール
    • 全文検索
    • ログ分析
    • リアルタイムなアプリケーションモニタリング
    • セキュリティ分析
    • クリックストリーム分析
  • 特長
    • フルマネージド型(≠サーバレス)
    • ダウンタイムなしにスケールアップダウン可能
    • ネットワークは独立している
    • 他サービス
      • S3(LambdaからKinesisを介して)
      • Kinesis Data Stream
      • DynamoDB Stream
      • CloudWatch/CloudTrail
      • Zone awareness

Amazon Athena

  • サポートされている形式
    • CSV
    • JSON
    • ORC
    • Parquet
    • Avro
  • 構造
    • 非構造化、半構造化、または構造化
  • 具体例
    • アドホックなクエリ
    • Redshiftにデータを入れる前のステージングデータ
    • S3に入っているCloudTrail、CloudFront、VPC、ELBの分析
    • Jupyter、Zeppelin、RStudioノートブックとの連携
    • QuickSightとの連携
    • ODBC/JDBCを経由して他の可視化ツールとの連携
  • Athena+Glue
    • クロスリージョン
      • Athenaはクロスリージョン対応をしていない。が、Glue Crawlerは出来る。
      • Glue Data Catalogを介して
  • ワークグループ
    • デフォルトでは、各アカウントにはプライマリワークグループがあり、デフォルトのアクセス許可により認証されたすべてのユーザーがこのワークグループにアクセス可能。
    • ユーザ・チーム・アプリケーション毎にワークグループ作成可能。
    • クエリのアクセスやコスト管理が可能。
    • IAMやCloudWatchやSNSと連携可能。
  • コスト
    • ORC,Parquetは30-90%削減かつパフォーマンスが良い。
  •  アンチパターン
    • OLTP
    • 高度にフォーマットされたもの
    • ETL 
    • RDS・DynamoDBがBetter
    • アドホックデータのクエリ
      • AthenaがBetter
  •  Athenaのパフォーマンスチューニング
    • 大きなファイルの数が少ない方が、小さなファイルが多い方よりパフォーマンスが良い。
    • 後からパーティションを追加する場合は、「MSCK REPAIR TABLE」コマンドを実行する。
    • パーティションの分け方
      • ★カラム名あり(HIve標準)
        • CREATE TABLEをしてからMSCK REPAIR TABLEを実行すればOK
        • パーティションが増えた際も、MSCK REPAIR TABLEを1回実行すればOK
        • この形式にするためには前処理が必要
      • カラム名なし
        • 自然な形式
        • MSCK REPAIR TABLEが使えないため、ALTER ADD PARTITIONをパーティション数分実行する必要がある。
        • 後からパーティションが増えた際、増えた分だけALTER TABLE ADD PARTITIONを行う。
    • ワークグループ
      • 同一アカウント内で仮想的なワークグループを作成することが可能。
      • ワークグループごとに下記設定を実施可能。
        • クエリワークロードの分離
        • クエリメトリクスの分離
        • クエリ毎のスキャン量上限設定
      • スキャン量が一定を超えたらアラームをあげることも可能。

Amazon Redshift

  • 特長
    • フルマネージド型でペタバイトのスケールのDWH。
    • 他のDWHより10倍のパフォーマンス
    • OLAP
    • SQL、ODBC、JDBCのインターフェイスが用意されている。
    • レプリケーションやバックアップが可能。
    • CloudWatchやCloudTrail経由でモニタリング可能
  • ユースケース
    • 分析ワークロードの高速化
    • 統合DWHとデータレイク
    • グローバル売上データの分析
    • 過去の株式取引データを保存する
    • 広告のインプレッションとクリック数を分析する
    • ゲームデータの集計
    • 社会動向の分析
  • Redshift Spectrum
    • ロードしなくてもS3にあるデータをクエリ実行出来る
    • 無限の同時実行
    • 水平方向のスケーリング
    • 個別のストレージコンピューティング
    • 多種多様なデータ形式
    • GzipやSnappyの圧縮をサポ―トしている
  • Redshiftのパフォーマンス
    • 大規模並列処理
    • 列の圧縮
  • 耐久性
    • クラスター内でレプリケーション
    • S3へバックアップ
    • 自動スナップショット
    • 失敗したドライバーやノードは自動的に置き換えられる。
  • 分散スタイル
    • AUTO分散
      • デフォルト。Redshiftはテーブルのデータ量に基づいて最適な分散スタイルを自動的に割り当てる。
    • EVEN分散
      • 特定のカラム値に含まれている値し関わらずラウンドロビン方式によって複数のスライス間で行を均等に分散させる。
      • テーブルが結合に関与していない場合や、KEY分散とALL分散どちらで選択すべきか明確でない場合に適切な分散スタイル
    • ALL分散
      • テーブル全体のコピーを全ノードに分散させる。
      • EVEN分散またはKEY分散によってテーブルの一部の行のみが各ノードに配置されている場合、ALL分散を行うと、テーブルが関与しているあらゆる結合で全行が確実に併置されるようになる。
      • 注意点は、クラスタ内のノード数だけ必要なストレージが増えるため、データをロードまたは更新したり、複数のテーブルに挿入したりするのに時間がかかる。
      • ①更新頻度が低い②更新範囲が狭い③データ量が少量④別テーブルと頻繁に結合させる(≒ディメンションテーブル)
    • KEY分散
      • 分散キーに指定されたカラムに含まれている値に従って行の分散を行う。
      • 複数の一致する値が同じノードスライスに配置されるため、結合キーに基づいてテーブルのペアを分散する場合、結合するカラムに含まれている値に従って行をスライスに併置する。共通のカラムで一致する値が物理的にまとめて格納されるようになる。
      • 分散キーは、①値に偏りがない②値の種類が多いカラムが適している。
  • ソートキー
    • ソートキーを指定すると行が物理的に並び替えられる。
    • データの更新行数が多い場合、VACUUMのソート処理によって時間・リソース消費がかかる。
  • インポート/エクスポート
    • COPYコマンド
      • S3、EMR、DynamoDB、リモートホストから実行可能
    • UNLOADコマンド
      • RedshiftテーブルからS3内のファイルへアンロード
    • VPC拡張ルーティング
  • ワークロード管理(WLM)
    • 短い高速クエリと長くて低速なクエリに優先順位をつける
    • クエリキュー
    • コンソールやCLI、API経由
  • Concurrency Scaling
    • クラスターの容量を自動的に追加する。
    • 実質的に無制限の同時実行をサポート
    • WLMキューはどのクエリが同時実行スケーリングクラスターに送信されるかを管理する。
  • 自動ワークロード管理
    • 8個までキューを作成可能。デフォルトは5個。
    • 設定項目
      • 優先順位
      • Concurrency scaling mode 
      • ユーザーグループ
      • クエリグループ
      • モニタリングルール
  • 手動ワークロード管理
    • 同時実行レベル5のデフォルトキューが1つ
    • 同時実行レベル1のスーパーユーザーキューが1つ
    • 8個まで定義可能で、50レベルまで設定できる。
  • SQA
    • ショートクエリに対して、優先順位を先にする。
    • 短いクエリは専用のスペースで実行させる。
  • サイジングクラスター
    • Elastic resize
      • クラスターのサイズをオンデマンドで迅速に伸縮させパフォーマンスを向上させる。
      • 新しいクラスターを作成しない。
    • Classic resize
      • データはコンピューティングノードまたはターゲットクラスターのノードに並列にコピーされる。
      • 数時間から2,3日かかる。
  • VACUUMコマンド
    • 行が削除された空いたスペースをカバーする
    • VACUUM FULL
    • VACUUM DELETE ONLY
    • VACUUM SORT ONLY
    • VACUUM REINDEX
  • アンチパターン
    • スモールデータ
    • OLTP
    • 構造化されていないデータ
    • BLOBデータ
  • セキュリティ
    • データの暗号化は、KMSかHSM(ハードウェアセキュリティモジュールを使う)
    • 暗号化されていないクラスターをHSM暗号化クラスターに移行する場合は、暗号化された新しいクラスターを作成してからデータを移行する必要がある。
    • ユーザやグループ単位で権限付与可能。

Amazon RDS

  • Amazon Aurora
    • MySQL,PostgreSQL
    • MySQより5倍速く、PostgreSQLより3倍速い。
    • 64TBまでのインスタンスが可能で、15個までリードレプリカ可能。
    • S3にバックアップされる。
    • Aurora Serverlessでスケーリング可能。

Visualization(可視化)

Amazon QuickSight 

  • サポートされているデータソース
    • Redshift
    • Aurora/RDS
    • Athena
    • EC2がホストしているDB
    • S3やオンプレのファイル
  • SPICE
    • インメモリのエンジンなので早い。
    • ユーザ毎に10GBある
  • ユースケース
    • アドホックな探索やデータ可視化
    • ダッシュボードやKPI
    • 履歴の分析
    • 分析やビジュアライズ化
  • アンチパターン
    • 高度にフォーマットされたもの。
    • ETL
  • セキュリティ
    • QuickSightのIPレンジをDBのSGに設定する
    • 行レベルの設定
    • ENIやDirectConnect利用
    • デフォルトでは、同リージョン内のデータストアからのみアクセス可能になっている。
    • 別リージョンのRedshiftからアクセスさせたい場合は、セキュリティグループでIPレンジを許可する。
  • ユーザ管理
    • IAM
    • Email
    • AD
      • EnterPriseのみカスタマー提供のKeyが利用可能。
  • ★エディションによる違い
      エンタープライズエディション スタンダードエディション
    無料トライアル作成者 (30 日間) 4 4
    SPICE 搭載容量 10 GB/ユーザー 10 GB/ユーザー
    閲覧者  
    組み込みダッシュボード  
    組み込みダッシュボードオーサリング  
    スプレッドシート、データベース、データレイク、ビジネスアプリケーションへの接続
    AutoGraph による容易なデータ分析
    インタラクティブなデータアクセス用のダッシュボードの公開
    SAML または OpenID Connect によるシングルサインオン
    ウェブおよびモバイルアクセス
    詳細情報へのドリルダウンおよびフィルターのカスタマイズ
    AWS CloudTrail による監査ログの有効化
    メールレポート  
    プライベート VPC およびオンプレミスのデータへの安全なアクセス  
    行レベルのセキュリティ  
    SPICE データの 1 時間ごとのリフレッシュ  
    保管中のデータの安全な暗号化  
    Active Directory への接続  
    Active Directory グループの使用  
    管理された共有フォルダ  
    カスタマイズされたアクセス許可  
    API 新規!  
    マルチテナントの名前空間 新規!  
    機械学習インサイト 新規!  
    プログラムによるダッシュボード作成用テンプレート 新規!  
    ダッシュボードカスタマイズのテーマ 新規!  
    AWS データソース (S3、Athena など) に対するきめ細かなアクセスコントロール 新規!  
    SPICE データセットごとに 2 億 5,000 万行のデータ 新規!  
  • MLインサイト
    • データの予測が可能。
  • 可視化タイプ
    • 棒グラフ
      • 比較と分布(ヒストグラム)
    • 折れ線グラフ
      • 時間の経過に伴う変更
    • 散布図、ヒートマップ
      • 相関の場合
    • 円グラフ・ツリーマップ
      • 集計用
      • 階層的集計
    • ピポットテーブル
      • 表形式データ
    • その他
      • KPI
        • ターゲットとの比較
      • 地理空間グラフ
      • ドーナツチャート
      • ゲージチャート
      • ワードクラウド
        • 単語やフレーズの頻度

その他:セキュリティ

  • AWS KMS
    • EBS
      • ボリュームの暗号化
    • S3
      • サーバーサイドオブジェクトの暗号化
    • Redshift、RDS
      • データの暗号化
    • SSM
      • パラメータストアの暗号化など、、、
    • 特長
      • AWS管理のサーバを共有して利用し、暗号化キーを管理する。
      • システムに他の組織へのアクセスは制限されるが、物理的には同じ場所に存在する。
  • CloudHSM
    • マネージド型ハードウェアセキュリティモジュール。
    • 専用のハードウェアで暗号化キーを保存する。
    • KMSより高価。
  • Kinesis
    • Kinesis Data Streams
      • HTTPSプロトコルを利用して、SSL通信。
      • KMSを提供。クライアント暗号化の場合は管理が必要。
      • VPCエンドポイントやPrivateLinkを利用可能。
      • KCLはDynamoDBに書き込み・読み込みがある。
    • Kinesis Data Firehose
      • S3、ES、Redshift、SplunkへのIAMロール
      • 配信はKMSで暗号化
      • VPCエンドポイントやPrivateLinkを利用可能。
    • Kinesis Data Analytics
      • Kinesis Data Streamやサポートされたソースへの出力についてはIAMロールをアタッチ。
  • SQS
    • HTTPSエンドポイントで暗号化。
    • KMSやIAMポリシー利用可能。
    • キューのアクセスポリシー
  • IoT
    • IoTポリシー
    • IAMポリシー
    • RuleEngineにロールをアタッチ
  • S3
    • IAMポリシー
    • バケットポリシー
    • ACL
    • HTTPSで通信の暗号化
    • バージョニング+MFA削除
    • CORS
      • Websiteから守る
    • VPCエンドポイント
    • Glacier
  • DynamoDB
    • TLS(HTTPS)でデータの暗号化
    • KMS利用可能。ベーステーブルとセカンダリインデックスの暗号化。
    • IAMを利用してAPIやDAXにアクセスする
    • DynamoDB Streamsは暗号化されていない。
    • VPCエンドポイントはGatewayを利用する
  • RDS・Aurora
    • ネット―ワークの独立化
    • SG、KMS、SSL、IAM
    • MSSQL ServerとOracleはTDE(透過的なデータ)をサポートする
  • Lambda
    • IAMロールを関数にアタッチ
    • ソースやターゲット
    • KMS
    • SSMパラメータストア
    • CloudWatch Logs
    • VPC内にもOK
  • Glue
    • IAMポリシーで制御
    • SSLを通してJDBCアクセスが可能。
    • データカタログはKMSを利用する。
    • KMSでパスワードは暗号化される。
  • EMR
    • SSH証明書はEC2キーペアを利用する
    • SG
  • ES
    • KMSでデータを暗号化
    • SSLで通信の暗号化
    • IAMかCognitoで権限
  • Redshift
    • SG
    • JDBCはSSLで暗号化
    • KMSかHSMで暗号化
  • Athena
    • IAMポリシー
    • データはS3にある
    • AthenaとS3とJDBC間はTLSで暗号化
    • Glue Catalogを利用してきめ細かいアクセス
  • QuickSight
    • Standard Edition
      • IAMユーザ
      • Emailベースのアカウント
    • EnterPrise Edition
      • AD
      • フェデレートログイン
      • MFA
      • SPICEの暗号化
    • 行レベルでのアクセス制御が可能。
  • STS
    • AWSへの一時的なアクセスを提供する。
    • クロスアカウントアクセス
      • IAMロールでの定義
      • Assume Role API
      • 15分から1時間の一時的な認証
    • AD(フェデレーション)
      • AWSユーザじゃない人がアクセスする。一時的なURLで
      • SAMLを利用する
      • SSOを可能にする
    • Third Party・Cognito
      • FacebookやGoogleやAmazonなど

他の分野のメモ

他の分野のメモはこちらです。

概要編
【AWS認定】AWS Certified Data Analytics Specialty学習メモ特集① ~概要編~
過去に受験したAWS Certified Data Analytics Specialtyの勉強方法をまとめていきたいと思います。 本記事は勉強方法と概要です。
Storage(格納)/Processing(処理)編
【AWS認定】AWS Certified Data Analytics Specialty学習メモ特集② ~Storage(格納)/Processing(処理)編~
AWS Certified Data Analytics Specialtyを受験し、分野ごとに抑えておいた方が良い点まとめました。 今回は、Storage(格納)・Processing(処理)編です!
Collection(収集)編
【AWS認定】AWS Certified Data Analytics Specialty学習メモ特集③ ~Collection(収集)編~
AWS Certified Data Analytics Specialtyを受験し、分野ごとに抑えておいた方が良い点まとめました。 今回は、Collection(収集)編です!

皆様のお役に立てば幸いです。
よろしくお願いします。

著者について
三上晶子

■ 所属:SCSK エンタープライズソリューション部
■ 経歴:
 2019年度~2020年度:Oracle、MySQL設計・開発
 2020年度~2022年度:AWS中心にデータ活用案件、サービス開発
 2023年度~ :Informatica IDMC設計・導入
■ その他
・ANGEL Dojo2021にて「ANGEL賞」と「ベストアーキテクチャ賞」第2位受賞
https://blog.usize-tech.com/report-angel-dojo-season3/

・Amazon QuickSight利用方法についてYouTube動画で紹介!
https://www.youtube.com/watch?v=YFvNYgR62Xs

三上晶子をフォローする
クラウドに強いによるエンジニアブログです。
SCSKは専門性と豊富な実績を活かしたクラウドサービス USiZE(ユーサイズ)を提供しています。
USiZEサービスサイトでは、お客様のDX推進をワンストップで支援するサービスの詳細や導入事例を紹介しています。
AWSクラウドソリューションデータ分析・活用基盤
シェアする
タイトルとURLをコピーしました