AWSのストレージサービス・データベースの概要理解

インフラ

ストレージ系サービスの概要をまとめました。

ストレージについての理解

  • ブロックストレージ:データをブロック単位で管理するサービス。データベースや仮想サーバーのイメージ保存など、頻繁に更新されたり、高速アクセスが必要とされる用途で使用。
  • ファイルストレージ:ブロックストレージにファイルシステムを構成。データをファイル単位で管理するサービス。
  • オブジェクトストレージ:ファイルに任意のメタデータを追加してオブジェクトとして管理する。
  • 1秒あたりに処理できるI/Oアクセスの数。
  • 単位時間あたりに処理できるデータ量のこと。

分散ファイルシステムとそのプロトコルのこと。

amazon-efs-utilツールを使うとEFSへのマウントに関する推奨オプションが含まれている。

software development kitの略。

AWSのストレージサービス

  • Elastic Block Storeの略。AZを指定するため、指定したAZに存在するEC2インスタンスにのみアタッチが可能。
  • 汎用SSD(gp2):SSDをベースにした最も一般的なボリュームタイプ
  • プロビジョンドIOPS SSD:EBSの中で最も高性能。高いIOPSを発揮できる
  • スループット最適化HDD:大容量ファイルを高速に読み取るようなユースケースに適している。
  • Cold HDD:最も低コストなボリュームタイプ。

一時的な処理の増加への対応可能。

  • 複数のEC2インスタンスにアタッチが可能。
  • ただし、別 AZからのアタッチは不可。
  • プロビジョンドIOPSボリュームのみ利用可能。
  • 変更作業を行なった場合、同一のEBSボリュームへの変更作業は6時間空ける必要がある。
  • 現行世代以外のEC2インスタンスタイプで使用中のEBSに対する変更作業はインスタンスの停止やEBSのデタッチが必要になる可能性。
  • 1ボリュームあたりの最大容量は16GB
  • 拡張はできるが縮小はできない。プロビジョンドIOPSのIOPS値については増減可能。
  • ボリュームタイプ変更(汎用SSDからプロビジョンドIOPSへ)も可能。
  • 通常使用するネットワーク帯域とEBSとのやりとりで利用できる帯域を共有。外部リクエストが増えると、通常のネットワーク帯とは別にEBSの帯域が確保される。
  • Elastic File System。容量無制限で複数のEC2インスタンスから同時アクセスが可能なファイルストレージサービス。
  • ファイルが作成されると3ヶ所のAZに保存される。
  • AZごとにサブネットを指定してマウントターゲットを作成
  • 汎用パフォーマンスモード:基本的に使うモード
  • 最大I/Oパフォーマンスモード:大量データを扱う場合。
  • CloudWatchのPercentIOLimitが参考になる。
  • バーストスループットモード:スループットが急増した場合に耐えられるようなバースト機能をもったモード
  • プロビジョニングスループットモード:スループットが急増したりしたときに、任意のスループット値を指定できるモード
  • CloudWatchのBurstCreditBalanceが参考になる
  • バケット:オブジェクトを保存する領域
  • オブジェクト:保存されるデータ。オブジェクト名が付与され、一意。
  • メタデータ:オブジェクト管理用の情報。
  • S3標準:一般的なやつ
  • S3標準-低頻度アクセス:参照頻度が低いデータ向け
  • S3 1ゾーン:単一のAZ内のみでデータを複製するストレージクラス。
  • S3 Glacier:ほとんど参照されないアーカイブ目的のデータを保存する。
  • S3標準とS3標準-低頻度アクセスの2層構成で30日以上参照されなければ、低頻度アクセスの方に移動される。
  • S3 Glacierにアクセスする場合は、事前にアクセスをリクエストする必要がある。
  • データの取り出しには、3~5時間かかることもある。
  • バルクによる大量データだと、5~12時間かかる
  • データ取り出しは12時間いない、
  • バルクだと12~48時間かかる。
  • 移行アクション:データの利用頻度に応じてストレージクラスを変更するアクション。
  • 有効期限アクション:指定された期限がきたらおぶじぇくとを削除する。
  • バージョニング:1つのオブジェクトに対して複数のバージョンを管理できる。
  • ACL、バケットポリシーでパブリックアクセスを無効にできる。
  • S3オブジェクトをフィルタリングし、必要なデータのみを取得する機能。
  • 遠隔地のS3へのデータ転送をサポートする機能。
  • バケットポリシー:バケット単位でアクセス制御する。
  • ACL:オブジェクト単位で公開・非公開を設定できる。
  • IAM:名称と一致したバケットのみを利用させる。
  • ボールト:アーカイブを保存する領域。バケットに相当する。
  • アーカイブ:オブジェクトに相当
  • インベントリ:アーカイブの情報
  • ジョブ:検索をかけたりダウンロードなどの処理
  • オンプレ環境のデータをAWS上に持ってくるゲートウェイ。Storage Gatewayを使って連携されたデータの保存先はS3やS3Glacierになる。
  • NFSもしくはSMBプロトコルを使用
  • ローカルと比べると読み込み・書き込みは遅いが、可用性・耐久性を上げることができる。
  • APIでアクセスはできない。
  • スナップショットを取得することができるため、スナップショットからEBSを作成し、EC2インスタンスにアタッチすることでAWS上のデータにアタッチできる。
  • iSCSI接続
  • S3やS3Glacierにデータをバックアップするタイプのゲートウェイ
  • iSCSIで接続する際に、使用できる
  • CHAP認証を設定することで、不正なクライアントからの成りすましの防止や、通信の盗聴リスクを軽減できる。

AWSのKMSを使ってデータの暗号化が可能。

  • HTTPSが使用されるため、通信時のデータは暗号化される。
  • フルマネージドなファイルストレージ。
  • 単一のサブネットにエンドポイントとなるENI(Elastic network Interface)を配置し、SMBプロトコルを介してアクセス可能。
  • ファイルシステム作成時にS3バケットと関連付けする。
  • 初回アクセス時はS3からデータを取得するので遅いが、2回目以降はキャッシュされているので高速。

DB関係の用語

  • RDBの操作にはSQLを使用する。

RDBのデータ操作でSQLを使用せずにデータベースアーキテクチャ

AWSのDBサービス

  • AWSが提供するマネージドRDBサービス。
  • 汎用SSD、プロビジョンドIOPS SSD、マグネティックの3つ。
  • マルチAZ構成:1つのAZにDBインスタンスをそれぞれに配置。障害発生時やメンテナス時のダウンタイムを短くする。
  • 書き込み速度が低下する。複数のAZ間でデータを同期しているため書き込みやコミットにかかる時間が長くなる。
  • フェイルオーバーが発生した場合、DNSがスタンバイIPアドレスに書き換えられる。その間に接続することができない。
  • リードレプリカ:参照専用のDBインスタンス。
  • 自動バックアップ:1日1回DBスナップショットを作成して自動バックアップできる。保持期間は35日。バックアップからDBを復旧させるには、スナップショットを選択する。
  • 手動スナップショット:任意のタイミングでバックアップを取れる
  • RDS。
  • データベースエンジン。DBインスタンスを作成すると、DBクラスタが作成される。
  • AuroraのデータストレージはSSDをベースとしたクラスタボリューム。単一リージョンで3つのAZにそれぞれ2つずつ。
  • リードレプリカに特徴あり。プライマリインスタンスがフェイルオーバーしたらリードレプリカがプライマリインスタンスに昇格する。
  • データウェアハウス(大量データ)向けのデータベースサービス。
  • 複数ノードのまとまりをRedshiftクラスタと呼ぶ。
  • リーダノードとコンピュートノードから構成。リーダーノードは最適な分散処理を提案。各クラスタに1台。コンピュートノードは実際に処理を行う部分。ストレージとセット。

NoSQL式。自動的に3つのAZに保存される仕組み。

  • RCU(リード)、WCU(ライト)の2種類がある。

直近24時間の追加。更新、を保持する。

  • DynamoDBの前段にキャッシュクラスタを構成する。
  • DynamoDBは有効期限を設定でき、過ぎたデータは自動的に削除される。(有効期限が切れてから48時間以内、TTL機能)
  • AWSが提供するインメモリ型データベースサービス
  • Memcached:kvs型インメモリデータベース。永続機能がない。
  • クラスタ構成。最大20のElasticCacheインスタンスで構成される。
  • スケーリングが可能。スケールアップすると、新規にクラスタを作成しないといけないのでデータが削除される。
  • Redis:多くのデータ型が扱える。メッセージブローカーやキューを構成する。永続化できる。
  • クラスタ有効・無効がある。有効にするとシャードにデータを分割して保存できる。
  • シングルスレッドのため、1コアで稼働する。

メモリ上でデータを管理するデータベースサービス。

  • グラフデータベース。
  • MongoDB互換のドキュメント

Apache Cassandra互換のデータベース。

  • 時系列データを扱うことに特化したデータベース
  • 台帳データベース。変更履歴などを全て残し、検証可能なサービス。

コメント

タイトルとURLをコピーしました