Amazon EBSについてまとめています。
AWS EBSは、EC2ブロックストレージボリューム
AWS EBS(Amazon Elastic Block Store)は、EC2用のブロック・ストレージボリュームです。EC2インスタンスにマウントするローカルディスクのように扱えるんですね。
関連)Amazon EBS(EC2 ブロックストレージボリューム)| AWS
Amazon EBS を使用すると、ストレージボリュームを作成して Amazon EC2 インスタンスにアタッチできます。すると、EC2のオペレーションシステムから操作できるファイルシステムや、データベース領域として利用できるんですね。EC2インスタンスのローカルに保存されているデータはインスタンス終了時に消えてしまいますが、EBSに保存されたデータはインスタンスの寿命とは関係なく保持されます。EC2インスタンスには複数のEBSがアタッチできるので、ブート用ボリュームとデータ用ボリュームを分けて別々にアタッチするのが良いでしょう。Amazon EBSボリュームは到底のアベイラビリティゾーンに配置されて、障害発生時にデータを保護できるよう自動的にレプリケートされます。その結果、99.999% の可用性を維持する設計になっています。
Amazon EBS では、SSDバックドストレージと、HDDバックドストレージが選べます。SSDタイプにはgp2(汎用SSD)と、io1があります。gp2はコストパフォーマンスに優れており、io1はIO性能を保証します。SSDは即時応答性が求められるトランザクション用途に使うのが良いでしょう。HDDタイプにはst1とsc1があり、st1はスループット最適化HDDでバッチ処理などに向いています。sc1はコールドHDDで、アクセス頻度の低いログ処理などに向いています。なお、gp1、st1、sc1はバーストが可能で、突発的に巨大なIO負荷(スパイク)発生時に対応できるようになっています。
Amazon EBSには、エラスティックボリュームという機能があり、動的に容量を拡張したり、ライブボリュームのタイプを変更できます。変更時にダウンタイムはなく、パフォーマンスへの影響もありません。
Amazon EBSとAmazon S3の大きな違いは、S3はEC2インスタンスにアタッチして「ローカルディスク」のように扱えない点です。S3はストレージ料金が安いので、バックアップや静的なデータの保管に向いています。
【関連記事】
▶AWS S3ってどんなサービス?初心者向けに機能紹介
Amazon EBSの暗号化
Amazon EBS暗号化システムによって、EBSデータボリュームとスナップショットがシームレスに暗号化されます。セキュアキー管理インフラストラクチャの構築や管理は不要です。暗号化のキーには、Amazonが管理するキーを仕様するか、AWS Key Management Service(KMS)を使って作成するキーを使用します。AWS KMSは暗号化キーの作成と管理を容易にするマネージド型サービスです。
EC2インスタンスとEBSストレージ間を移動するデータが暗号化されます。EBSのブートボリュームの暗号化をおこなったり、インスタンスの作成時に暗号化されたデータボリュームを作成することも可能です。
Amazon EBSのスナップショット
Amazon EBS スナップショットは、EBSのスナップショットをAmazon S3に保存する機能です。
Amazon EBSは、高可用性を誇るストレージサービスですが、オペミスなどの論理的な障害に対しては何らかのバックアップを取得する必要があります。
Amazon EBSスナップショットは、EBSデータボリューム、ブートボリューム、オンプレミスのブロックデータなどを保護するように設計されています。スナップショットはある時点でのEBSのイメージを保存するもので、極めて短時間で取得できるという利点があります。ただし、データの整合性が取れているかどうかのチェックは行なわないため、障害発生時のバックアップとしては使用できません。
スナップショットは、サービスを止めずに取得できます。そのため、システム障害によるデータ消失が許容できない場合に、サービスを行ないながらスナップショットを作成し、障害やオペレーションミスでファイルが消えてしまった場合にスナップショットから戻すといったことが可能になります。
EBSスナップショットは、AWSマネジメントコンソール、AWS CLI、AWSSDK経由で作成または管理できます。
【関連記事】
▶AWSを集中管理したい!AWS マネジメントコンソールを使いこなそう!
【関連記事】
▶AWS CLIのインストール方法 AWSアクセスキーの登録と疎通確認
AWS CLIでスナップショットを作成するには、以下のコマンドを実行します。
aws ec2 create-snapshot --volume-id vol-1234567890abcdef0 --description "This is my root volume snapshot"
上記は、ボリュームID「vol-1234567890abcdef0」で、説明「This is my root volume snapshot」をつけてスナップショットを作成する例です。実行時の出力は以下のようになります。
{ "Description": "This is my root volume snapshot", "Tags": [], "Encrypted": false, "VolumeId": "vol-1234567890abcdef0", "State": "pending", "VolumeSize": 8, "StartTime": "2018-02-28T21:06:01.000Z", "Progress": "", "OwnerId": "012345678910", "SnapshotId": "snap-066877671789bd71b" }
AmazonEBSスナップショットはAmazonData Lifecycle Manager(DLM)と統合されていて、ライフサイクル管理のポリシーを定義できます。Amazon EBSスナップショットは増分保存され、2回目以降は変更した箇所のみ保存するんですね。
参考)Amazon EBS Snapshots- backup and data protection service – Amazon Web Services
AWS EBSの料金
Amazon Elastic Block Store (EBS) では、プロビジョニングした分だけ料金が請求されます。プロビジョニングした容量 (GB/月) だけで料金が決まり、ストレージを解放するまで毎月料金が発生するんですね。オプションとして、1 秒あたりの入力/出力操作 (IOPS) や、ベースラインパフォーマンスを超えるスループットをサポートする EBS ボリュームでは、コストが増加します。
参考)ハイパフォーマンスブロックストレージの料金 – Amazon EBS の料金 – Amazon Web Services
AWS EBSには、無料利用枠があります。利用開始から12ヶ月間、Amazon Elastic Block Store (EBS) のストレージ 30 GB、I/O 200 万回、スナップショットストレージ 1 GB が無料です。
AWS EBSのまとめ
- AWS EBSは、EC2インスタンスにアタッチできるストレージボリューム
- ストレージタイプが4種類あり、用途に応じて選べる
- スナップショットの作成や、ストレージボリュームの暗号化が可能