Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

awsのストレージサービス #3

Open
fr-sasaki opened this issue Jul 4, 2013 · 3 comments
Open

awsのストレージサービス #3

fr-sasaki opened this issue Jul 4, 2013 · 3 comments

Comments

@fr-sasaki
Copy link
Owner

awsの提供するストレージサービスと内容を調べてください

@fr-sasaki
Copy link
Owner Author

Amazon S3

安価かつ高い耐久性を持つオンラインストレージサービス

Amazon S3の用語
用語 説明
バケット オブジェクト置き場。最大100/アカウント。名前がユニークな必要がある。
オブジェクト Amazon S3に置くファイルでURLによるアドレスが付与。バケット内には無制限にオブジェクトを置くことが可能。1オブジェクトのサイズは5TBまで
キー オブジェクト毎に付与される一意なキー
ACL アクセスコントロールリスト
Amazon S3のコンセプト
  • Durable(堅牢であること)
  • Available(いつでも利用可能であること)
  • Scalable(スケールすること)
  • Secure(安全であること)
  • Fast(高速に動くこと)
  • Simple(シンプルに使えること)
  • Cost Effective(低コストであること)
Durable
  • データを失わない設計
    • データを3箇所以上にレプリケーション
    • 障害検知とデータ修復
  • 99.999999999%の堅牢性
    • 3つ以上同時にDCが消失しない限りデータを失わない
Available
  • 常に利用可能なように設計
    • 99.9%可用性SLA、実際ほぼ100%
  • 計画停止無し
  • 全世界からどの地域でもインターネット経由で利用可能
    • 異なる8つのリージョンから選択
Scalable
  • 論理的には無限にスケールする
  • どれだけのファイルでも保存可能
    • 1byteから、いくらでも保存可能
    • 1つのファイルサイズは最大5TBまで
Secure
  • 全ての通信はSSL暗号化
  • 認証・許可機能を持つ
    • ACLベース/ポリシーベース
    • ユーザアクセスコントロール
  • 暗号化機能を持つ
    • サーバサイド/クライアントサイド暗号化
  • ログ機能
  • 認定・認証の取得
    • ISO27001/PCI-DSS/SOC1など
Fast
  • ピーク時最大85万リクエスト/秒
  • 常に安定したレイテンシ
  • 世界8箇所にリージョン展開
    • 最も近い場所を利用可能
  • 専用線で直結も可能
Simple
  • ファイルのPUT/GET/DELETE/LIST
    • データサイズも数も気にしなくてよい
  • サードパーティツールでFTPライクに利用
  • SDKで様々な言語からすぐに利用可能
Cost Effective
  • 従量課金で使った分だけお支払
  • 初期費用もいらない
Amazon S3の機能
  • マルチパートアップロード
  • Webサイト機能
  • バージョニング
  • サーバアクセスログ
  • S3セキュリティ機能
  • データの暗号化
  • オブジェクトの機能付き保存
Amazon S3マルチパートアップロード
  • 巨大なオブジェクトを複数のチャンクに分割してアップロード
    • 各チャンク < 5GB
    • チャンクがアップロードされたら、単一オブジェクトに結合
Amazon S3 Webサイト機能
  • 静的なWebサイトのホスティングをS3で
    • ファイルをアップロードして、Website機能をON
Amazon S3バージョニング
  • 全てのオブジェクトのバージョン管理下におき保存、検索、リストアが可能。バージョニング中はオブジェクトは削除されない。
  • Amazon S3 でよくみる光景はユーザアクションによるデータ消失。こういった事態から重要なデータを保護する。ただし課金はバージョニング分かかる
Amazon S3サーバアクセスロギング
  • Amazon S3バケットへアクセスログを保存
    • デフォルトでは出力しない
  • API/SDKで設定可能
  • アクセスログのデリバリではチャージしていない
    • ログの保存ではチャージ。ただしいつでも削除可能
    • アクセスログへのアクセスについては若干のチャージ
Amazon S3の認証機構
  • Amazon S3を含む全AWSサービスでセキュリティは最優先事項
  • 認証のないアクセスからはデータは確実に保護
  • オブジェクトは全てフルコントロール可能
  • 特定ユーザに対して権限を与えることも可能
AWS Identity and Access Management(IAM)
  • アカウント内で複数ユーザを作成し、セキュリティクレデンシャルや権限を付与する事が可能
    • S3のバケットにオブジェクトのPUT/LIST/GETなど
  • IAMで出来ること
    • ユーザレベルでのコントロール
  • アクセスポリシー言語を記述する
Amazon S3バケットポリシー
  • Amazon S3バケットレベルのポリシーベースのコントロール
  • バケットオーナーだけが適用可能
    • バケットレベルでのAllow/Deny
    • バケット内のオブジェクトの権限のDeny
    • バケットオーナーがオブジェクトオーナーだった場合のみオブジェクトに適切な権限を与える
  • アクセスポリシー言語を記述する
    • JSON format
Amazon S3 Access Control List
  • バケットからオブジェクトへのコントロール
  • バケットのACLをオブジェクトは継承しない
  • 作成と適用はいつでも可能
  • 100個ACLは作成可能
    • Owner
    • Email
    • Any AWS account
    • Anyone
  • パーミッション
    • READ - Object or bucket
    • WRITE - Create, overwrite, delete objects
    • READ_ACP - Read ACL for bucket or object
    • FULL_CONTROL - All of the above
サーバサイド暗号化
  • マネージメントコンソールから実施する
  • GUIツールで実施する
  • コードで実施する
クライアントサイド暗号化
  • GUIツールで実施する
  • コードで実施する
オブジェクトの期限付き保存
  • バケット単位でオブジェクトの生存期間を指定可能
    • Prefix単位
    • 期間・日付で指定可能

@fr-sasaki
Copy link
Owner Author

Amazon Glacier

超安価かつ高い耐久性を持つコールドストレージサービス

Amazon Glacier用語集
用語 説明
Vault アーカイブ格納用コンテナ
Archive 格納データファイル
Inventory Vault内に格納されたアーカイブ情報
Retrieve Job アーカイブおよびインベントリ取り出し要求ジョブ
Download Retrieveされたアーカイブもしくはインベントリのダウンロード処理
Amazon Glacier用語集
Vault
  • 格納アーカイブの制限なし
  • 1アカウントの1リージョン毎に1000個まで作成可能
  • IAMによるアクセス製塩指定可能
  • Vault毎にデフォルトのSNS通知設定可能
    • Amazon Simple Notification Serviceを利用
Archive
  • 格納データファイル
  • アップロード時にシステム側でArchive IDを自動発行
    • 別途メタデータ/インデックス管理DBを準備することを推奨
  • 格納データの更新不可(新規登録・削除のみ)
  • マルチパートアップロードに対応
  • 1アーカイブ最大40TBまで
Inventory
  • Vaultに格納されたアーカイブ一覧情報
  • JSONもしくはCSV形式でダウンロード可能
  • 情報は1日1回バッチにより自動更新
Retrieve Job
  • アーカイブおよびインベントリ取得要求ジョブ
  • 非同期によるデータ取得
  • 並列処理要求可能
  • Retrieve Job実施後、ダウンロード準備可能まで3~5時間
  • JobIDによる処理状況のトラッキング
  • Amazon SNSを利用した、個別のJob完了通知指定可能
Download
  • Retrieveされたデータのダウンロード
  • Retrieve Job完了後、24時間はダウンロード可能
  • AWS内でのデータ転送は無料
Vault情報の取得

ManagementConsoleもしくはAPIで取得可能

  • リージョン
  • 最終イベントリ更新日時
  • 格納合計サイズ
  • 格納アーカイブ数
インベントリ情報取得

Retrieve Job経由で情報ファイルをダウンロード

  • アーカイブID
  • アーカイブ詳細
  • 作成日
  • サイズ
  • ハッシュキー

AWS Import / Export

  • AWSのリージョンに対してデータが格納されたHDDを送付することで、直接Glacierに対しデータをアップロードすることが可能
  • 現在Tokyoリージョンは未対応

@fr-sasaki
Copy link
Owner Author

Amazon Elastic Block Store (EBS)

EBSとは、EC2に仮想外付けされるブロックレベルのストレージサービス

  • サイズは1GB単位で~1TBまで
  • サイズ/期間/IOで課金される
  • 各EC2インスタンスで、複数EBSを使える
  • データは永続的に保存される
  • いつでもバックアップ(スナップショット)
  • スナップショットから、EBSを作成可能(他のAZに作成できる)
  • Provisioned IOPSでIOパフォーマンス指定
  • 他のEC2インスタンスに付け替え可能
EBSの利点
  • 疎結合(EC2インスタンスとは独立)
    • インスタンスタイプとディスクサイズが無関係になる
    • インスタンスがTerminateされてもEBSボリュームは残る(設定による)
    • 別のインスタンスに付け替えることが可能
  • 柔軟性(必要に応じて作成可能)
    • 必要になった時に必要なサイズのボリュームを作成し利用できる
  • 利便性、耐久性(スナップショット機能)
    • ディスクイメージをそのままS3に保存
    • スナップショットからボリュームの複製を作成できる
    • 1つのボリュームからスナップショットを何度でも取得できる(世代管理)
EBSの適用箇所
  • OSブートディスクとしての利用
  • データ用ディスクとしての利用

OSブートディスクとデータ用ディスクは、別々のEBSを推奨

EC2のOSブートディスクとしてのEBS
  • EBS
    • 寿命はインスタンスと独立している(データは永続的に保存される)
    • あらゆる種類の永続的データ、ブートデータ、DBデータ
    • t1.micro、及び第2世代EC2インスタンスからは必須
  • インスタンスストレージ(Ephemeral Disc)
    • 寿命はインスタンスと同じ(インスタンスを落とすとデータは消える)
    • インスタンスに付属して存在
    • 一時データの書き込み、低料金を活かした高度な利用
OSによるEBS接続の制約

EBSをEC2にアタッチさせる際に、デバイス名を指定するが、
OSタイプとEBSタイプによって、命名の制約がある。

  • Linuxの場合
    • 仮想デバイスが認識できる範囲でアタッチが可能
    • ただし、ファイルシステムによっては総容量上限があるので、容量上限に抵触する場合は、XFS等を活用する。
  • Windowsの場合
    • 仮想デバイスの関係でアタッチできるEBSが16までという上限制約がある
EBSを共有ディスクとして利用する場合の制約
  • 複数のインスタンスから同時に1つのEBSボリュームをアタッチできない(逆に、1つのインスタンスから複数のEBSのアタッチは可能)
  • 共有ディスク型のクラスタソフトやOracle RACといったソリューションをそのまま利用はできない
  • 共有ディスク構成は、NFS、GlusterFSを活用(詳細はAppendix参照)
EC2のブロックデバイスマッピング
  • ブロックデバイスマッピングとは、EC2のデバイスとEBSやその作成元となるスナップショットのIDを関連付けする機能
  • 起動中のEC2に関しては、以下画面の通り、Brock Devicesで対象のデバイス名を指定することで確認が可能
AMIのブロックデバイスマッピング
  • AMIの場合は、以下画面の通り、スナップショットとのマッピングになる
  • 外付けのデータを変更したい場合には、AMIのブロックデバイスマッピングを、AMIからEC2起動時に無効化することも可能
AMIのブロックデバイスマッピングの変更
  • AMIのルートデバイス以外のマッピングは変更可能
  • 変更方法をAMIをLaunchする際に、Storage Device Configrationの「EBS Volumes」を変更することで実現可能
  • 変更する対象データはスナップショットの中から選択する
  • EC2起動後OS側の設定も必要
Delete on Terminationの無効化
  • デフォルトでは、EC2にアタッチされたEBSは、EC2が「Stop」の場合は保持されるが、EC2が「Terminate」された際は削除されてしまう
  • これを防止するためには、EC2LaunchやAMI作成の際に、Storage Device Configurationの「Delete on Terminaton」のチェックを外すことで実現が可能(Management Consoleにも対応)
EBSスナップショットとは
  • EBSスナップショットとは
    • EBSボリュームの特定時点のスナップショットとはをS3に保存
    • 2回目以降のスナップショットは差分のみS3に保存する差分バックアップ
    • スナップショットの世代管理が可能
    • 安価に長期保存が可能
    • スナップショットからいくつでもAZ間でもEBSボリューム作成・復元可能
    • 他アカウントと共有設定も可能
    • AZ固定ではない
    • EBSのサイズ変更もスナップショット活用により実現可能

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant