【事前知識】

  • 静的webサイトホスティング
    ・サーバなしにWebサイトを構築できる
    ・クラウドでウェブサイトとウェブアプリケーションを構築、デプロイ、管理するための無料のサービス
  • IOPS(Input Output Per Second)
    1秒あたりに読み書きができる回数を表したもの。値が大きいほど性能の高いストレージである。

【ストレージについて】

gp2 ストレージのベースライン I/O パフォーマンスは、1 GiB あたり 3 IOPS で、最低 100 IOPS 。
ボリュームが大きいほどパフォーマンスが向上することを意味する。
(例)100 GiB⇒300 IOPS / 1 TiB⇒3,000 IOPS

  • ブロックストレージ【頻繁な更新】【高速アクセス】
    (データベース,トランザクションログ)データを物理的なディスクにブロック単位で管理する。

  • ファイルストレージ【データ共有】【過去データ一括保存】
    (ファイル共有,データアーカイブ)ブロックストレージ上にファイルシステムを構成し、データをファイル単位で管理する。

  • オブジェクトストレージ【更新頻度が低い】【大容量】
    (マルチメディアコンテンツ,データアーカイブ)ファイルに任意のメタデータを追加してオブジェクトとして管理する。

インスタンスストア

・ホストコンピューティングに内蔵されたディスクでEC2と不可分のブロックレベルの物理ストレージ
・EC2の一時的なデータが保持され、EC2の停止・終了とともにデータがクリアされる
・無料

S3

Simple Storage Service

ネットワーク上のオブジェクトストレージサービス(HTTP,HTTPSでアクセスする)。S3エンドポイントを使用してVPC内からS3にアクセスする。耐久性、可用性99%で、ストレージ容量は無制限であり、ユーザー側で設定する。データは3つのAZに保存される。
・S3ユーザーによって既に指定されている命名規則は使えない

・使用したストレージの容量に対して費用を支払い、使えば使うほど安くなる

・画像保存に適しており、アプリケーション用として使用することが多い

・データの初回のフルバックアップ以降は、追加のバックアップはすべて増分される

・DynamoDBよりレイテンシーが高いため更新が多いファイルはおすすめされない

【S3をWebサイトホスティング用にバケットを構成する場合】
ウェブサイトエンドポイントのリソースレコードの名前が、S3バケットの名前と一致する必要がある。

【S3リクエスタ支払い】
データのリクエスト者がデータ転送コストを支払う仕組み

〇構造

  • バケット
    S3 に格納されるオブジェクトのコンテナ。すべてのオブジェクトはバケット内に格納される。
    ・バケットへのアップロードは書き込みアクセス許可が必要
    【階層】バケット(最大5TB)/バックアップ領域 /1ファイル(オブジェクト:メタデータで管理)5TBまで、総計制限なし(5GBまでは無料)

    ●AWSユーザーの正規ID
    他のAWSアカウントにアクセスを許可するために必要

  • オブジェクト(バケット>オブジェクト)
    S3 に格納される基本エンティティ(ファイルデータ)。オブジェクト(ID)データとメタデータで構成される。キー (名前) とバージョン ID によってバケット内で一意に識別される。オブジェクト所有者はオブジェクトのアクセスコントロールリスト(ACL)を更新することによって、バケット所有者にオブジェクトのフルコントロールを付与できる。

    ・ファイルが保存されるグループに対して、それぞれにセキュリティーポリシーを適用する

    ●キー
    バケット内のオブジェクト固有の識別子。バケット内のすべてのオブジェクトは、厳密に 1 個のキーを持つ。

【オブジェクトの取得方法】

  • 1 回で取得
    Amazon S3 に格納されているオブジェクトを 1 回の GET オペレーションで取得。
  • オブジェクトを複数回に分けて取得
    GET リクエストの Range HTTP ヘッダーを使用すると、 S3 に格納されているオブジェクトの特定のバイト範囲を取得できる。アプリケーションの準備ができた時点でいつでも残り部分の取得を再開でき、この再開可能なダウンロードは、オブジェクトデータの一部だけが必要な場合に便利。また、ネットワーク接続の状態が悪く、障害に対処する必要がある場合にも役立つ。

【オブジェクトのアップロード方法】
AWS SDK、REST API、または AWS CLI を使用して、
・1 回のオペレーションでオブジェクトをアップロード。
※1回のPUTオペレーションで、最大 5 GB の単一のオブジェクトをアップロード可能

マルチパートアップロード API を使用すると、最大 5 TB のサイズの単一の大容量オブジェクトをアップロード可能。

・Amazon S3 コンソールを使用して 1 つのオブジェクトをアップロード。
※Amazon S3 コンソールでは、最大 160 GB のオブジェクトをアップロード可能

・オブジェクト格納成功時、【HTTPステータスコード200】を返す。

【s3 Sync コマンド】
S3バケット間でデータを同期するために使用される。
※EFSやFSx for Windows File Server を転送先としてサポートしていない

●S3 Object Lambda アクセスポイント

S3オブジェクトにアクセスする際にLambda関数を使ってデータを動的に加工・変換できる仕組み
通常のS3 GET、HEAD、LISTリクエストに対して、カスタムコードを挟むことが可能。これにより、オブジェクトの内容やメタデータを動的に変更して返すことができる。

生データを直接変更することなく、各アプリケーション固有の処理要件に合わせたデータの動的変換が可能になる。

【主な用途】

  • 画像の動的リサイズ(例:レスポンシブ対応)
  • 機密情報のマスキング(例:個人情報の除去)
  • CSVやJSONのフィルタリング(例:特定行だけ返す)
  • カスタムビューの生成(LISTリクエストで特定条件のオブジェクトだけ表示)

〇ポリシー

アクセスコントロールタイプAWSアカウントレベルの制御IAMユーザーレベルの制御形式
ACL×XML
バケットポリシーJSON
IAMポリシー×JSON

※バケットポリシーでは、プリンシパルとして対象のアカウントIDが使用するIAMロールを指定してアクセス許可を付与することができる。

  • ACL
    バケットとオブジェクトへのアクセスを管理できる。各バケットとオブジェクトには、サブリソースとして ACL がアタッチされている。これにより、アクセスが許可される AWS アカウントまたはグループとアクセスの種類を定義。リソースに対するリクエストを受信時、S3 は該当する ACL を調べて必要なアクセス許可がリクエスタにあることを確認する。

    【(バケットの)アクセス許可を付与する】
    AWSユーザーの正規ID を設定することで対応可能。

    【種類】
    ●BucketACL
    手軽に基本的なアクセス権(バケット及び個々のオブジェクトへのアクセス権の設定)許可のみであり拒否はなし。

    ●ObjcetACL
    オブジェクト単位で制御したいときに向いている。
    [指定バケット > アクセス権限 > アクセスコントロールリスト],[指定オブジェクト > アクセス権限]
READバケット内のオブジェクトをリストできる/オブジェクト、メタデータを表示
WRITE(※オブジェクトは使用不可)バケット内にオブジェクトを作成
READ_ACPバケットACL、オブジェクトACLを読み込むことが出来る
WRITE_ACPバケットACL、オブジェクトACLを変更することが出来る
FULL_CONTROLバケットACL、オブジェクトACLの読み込み、書き込みを実施できる
  • バケットポリシー【S3への高度なアクセス制御を実施する】
    S3オブジェクトへのアクセス許可。バケット単位でIAMユーザやグループのアクセス権、他のAWS アカウントを指定することが可能。BucketPolicyの方が強いが、設定されていない場合は、ACLによって制御される。

    ・サーバー側の暗号化を必要としないオブジェクトのアップロードを拒否できる

    ・バケットにアクセス権を付けただけではアクセスできないため、オブジェクトへのアクセス許可も必要。

    ●x-amz-server-side-encryption
    ヘッダーに追加することで、S3 へオブジェクト保存時に暗号化を強制できる。

    ●bucket-owner-full-control ACL
    オブジェクトをアップロードする際に使えるACL設定の一種で、バケットの所有者にそのオブジェクトへの完全なアクセス権を与える。

    【エレメント】
    プリンシパル(Principal)
    Principalエレメントは、リソースへのアクセスを許可または拒否するユーザー、アカウント、サービス、または他のエンティティを指定。
    [参考公式サイト]

  • ユーザー(IAM)ポリシー
    別のAWSアカウントに自分が所有するS3バケットへのアクセス利用を許可したい時、バケットポリシー及びユーザーポリシーの 両方の許可設定が必要(特定のIAMユーザー、IAMロールだけ操作できるようにしたいとき)。レプリケーションを実施するためには、両方のS3バケットにおいてバージョン管理を有効化。
  • 被付与者
    AWS アカウント または事前定義済みのいずれかの Amazon S3 グループ。
    E メールアドレスまたは正規ユーザー ID を使用。AWS アカウント にアクセス許可を付与。ただし、付与のリクエストでメールアドレスを指定すると、Amazon S3 はそのアカウントの正規ユーザー ID を確認して ACL に追加する。その結果、ACL には AWS アカウント の E メールアドレスではなく、常に AWS アカウント の正規ユーザー ID が含まれる。

〇ストレージクラス

※IA はinfrequent access (低頻度アクセス) の略

  • Standard (S3 標準)
    デフォルトのストレージ、高耐久性(低レイテンシー、高スループット)

  • Standard – IA(低頻度)
    読み込みは早く、Standardよりも安価に利用可能。 アクセスが頻繁ではないマスターデータの長期保存に適している。データの読み込みに対し課金される。耐久性はスタンダードと同じ。
  • OneZone – IA(低頻度)
    アクセス頻度が低いが、すぐにデータを取り出せる。Standard-IA と比べて20%のコストを削減できる。単一AZ内にデータを複製する(データを少なくとも 3 つのAZ に保存する他の S3 ストレージクラスとは異なり、S3 1 ゾーン – IA はひとつのAZ にデータを保存する)データの耐久性は落ちるがコストは節約できる。
  • 低冗長化(RRS)
    重要でない再生可能なデータ向けデータの耐久性は落ちるものの、コスト面はよい。
  • Intelligent-Tiering
    参照頻度の判別がつかない時に使用。30日間使用されなければ、更に低頻度とする。アクセスパターンが変化するような状況でも、性能の影響なく利用料金を節約することができる。最もコスト効率の高いアクセス階層に自動的にデータを移動することで、コストを最小限に抑えるように設計されている。

  • Amazon Glacier
    アーカイブを目的としたストレージ。大容量のデータを安価に安全で耐久性が高く、非常に低コストのストレージクラス。S3と同じ耐久性をもち、また同様に複数AZにデータを保存するため回復性が高い。読み込みに時間がかかる。

    ・Glacierの最低保持期間は90日。3カ月以上保管されていたアーカイブを削除する場合は無料。
    ・1つのアーカイブの最大サイズは 40 TB。1カ月あたり10GBまで無料。保存可能なアーカイブ数とデータ量に制限なし。

    【階層】
    ボールト/アーカイブ/インベントリ

    【取り出しオプション】
    高速、標準、バルク(大容量)

    【機能】

    ・S3 glacier Select
    S3 Graicerの保存データの参照

    ・S3 Glacierボールト
    機密性の高いアーカイブデータを保存してから、ボールトロックポリシーを使用してコンプライアンス管理。

    ボールトロックポリシー
    一度ロックされると変更できなくなる。保護されているアーカイブがなくなるまでロックされたポリシーを削除または変更できない。

    ボールトアクセスポリシー
    ボールトに対するアクセス許可を管理する。

    ●ボールト通知
    ジョブが完了すると、メッセージがSNSトピックに送信されるように設定できる。

    ・迅速取り出し
    アーカイブの最大容量は250MBまで

    【暗号化】
    保存時にSSLで実施。サーバー側ネイティブで暗号化される。キー管理とキー保護が自動的に行われ、AES-256が使用される。

    【ストレージクラス】
    ●Instant Retrieval【高速引き出し】
    アクセスされることがほとんどなく、ミリ秒単位で取り出すことが可能。取り出す期間が四半期に一度などと、長期間であると大幅にコストを削減することができる。
    ・高速の復元が必要になるアーカイブ済みデータ
    ・ミリ秒単位で復元

    ●Flexible Retrieval
    一年に1~2回アクセスするなどと取り出し頻度が少なく、大量のデータを取り出すことができる。Instant Retrievalよりも最大10%安くコストを抑えられる。
    ・予測不能だが復元が必要になるオブジェクト
    ・数分~数時間で復元

    Glacier Deep Archive
    Flexible Retrieval より安く、取り出しに12時間~かかる。
    ・復元される可能性が低いアーカイブデータ
    ・12時間以内で復元(オブジェクトを取得する度に、復元リクエストも必要になる)

    ◎オプション
    ・迅速 (250 MB 以上) を除く:1~5分
    ・標準取り出し:3~5時間
    ・大容量取り出し:12時間 (高い←→安)

〇暗号化

デフォルトで暗号化が有効化。HTTPSを使用してデータをS3にプッシュして転送中に暗号化できる。

※転送時:S3との間でデータを送受信するとき。
保管時:S3データセンター内のディスクに格納されている時。

・HTTP 503 レスポンスとは「サービスが利用できない」ときに表示されるエラー
・Secure File Transfer Protocol (SFTP) を使用して ファイルを直接転送することができる

★トピック「暗号化」にて記載

〇機能性

【保護機能】

  • パブリックアクセスブロック機能
    デフォルトはパブリックアクセスブロックは無効化。AWSアカウント全体または各S3バケット単位、アクセスポイント単位での制御が可能となり、オブジェクトがパブリックアクセスを受けないようにする。
  • S3 オブジェクトロック(ログの上書き、削除防止)

    ●ガバナンス
    特別なアクセス権限を持たない限り、オブジェクトの上書きや削除、ロック設定の変更ができない

    ●コンプライアンス
    保持期間中はルートユーザーを含め誰もオブジェクトの上書きや削除、ロック設定の変更ができない
  • バージョニング機能

    S3 MFA Delete
    S3オブジェクトの誤削除を防止するセキュリティ機能の1つ。バケットからオブジェクトを削除する際にMFAデバイスによる二段階認証を必須にできる。

【管理機能】

  • S3インベントリ
    正確なオブジェクトのリスト化ができる。暗号化できているか確認等できる。
    カンマ区切り値 (CSV)、Apache Optimized Row Columnar (ORC)、または Apache Parquet 出力ファイルを通じて、S3 バケットや共有プレフィックス (オブジェクト名の先頭が共通文字列) を持つオブジェクトについて、オブジェクトおよび対応するメタデータを毎日または毎週一覧表示する。

    毎週のインベントリを設定すると、最初のレポートの後は毎週日曜日 (UTC タイムゾーン) にレポートが生成される。
  • S3 RTC
    ※Replication Time Control
    S3 に保存された新規オブジェクトの 99.99% を 15分以内に別リージョンへレプリケート可能。
    (予測可能な時間内でのレプリケーションを保証する機能で、SLAに基づいている)

    ・レプリケーションの時間を可視化
    ※「S3 API オペレーションの総数」、「オブジェクトの合計サイズ」、および最大レプリケーション時間をモニタリング
    ・レプリケートを完了次第、S3イベント通知を受け取ることができる
    ・デフォルトでS3レプリケーションメトリクスとS3イベント通知が含まれている
  • S3ライフサイクルポリシー
    S3バケット内のオブジェクトを自動的に確認して、Glacerに移動させるか、S3からオブジェクトを削除することができる。Tierringにて削除まで実行する(保存期間に基づいて削除や移動を実施する)。オブジェクトのライフタイムでS3が実行するアクションを定義することができる。
  • S3バッチオペレーション
    S3オブジェクトに対して大規模なバッチ操作ができる。コンソールで数回クリックするだけでS3の数十億オブジェクトのリストに対して、1つのオペレーションを実行することができる。また、全てのオブジェクトタグを置き換えすることが可能。
  • S3 Range Get
    オブジェクト全体を読み取らず、必要な部分やバイトの身を読み取ることができる。
  • Multi-Object Delete API
    単一の HTTP リクエストで最大 1,000 個のオブジェクトを削除。
  • 破損検出
    Content-MD5チェックサムと周期的な冗長性(CRC)チェック。

【共有(クロス)機能】

  • CRR(クロスリージョンレプリケーション)
    リージョンを跨いで別のバケットにリアルタイムでオブジェクトをコピーできる。 障害発生時にデータを保護する観点から有効なサービス。
  • SRR(同一リージョンレプリケーション)
    同じリージョン内のS3バケット間でオブジェクトをコピーする際に使用。
  • CORS(クロスオリジンリソースシェアリング)
    1つのWEBサイトを複数のドメインでS3リソースを共有して利用できる、最新ウェブブラウザのセキュリティ機能。設定することで、特定のドメインに関連付けられたWEBアプリケーションが異なるドメイン内のリソースと通信する方法を定義する。
  • クロスアカウントレプリケーション
    S3バケットを別のアカウントに共有(コピーが生成)することができる。
  • Mount Point for Amazon S3
    S3のデータ領域をEC2やECSにマウントして、共有ディスクのように利用できる。
    ※各 EC2 と S3 間の最大100 GB/秒のデータ転送などと高スループット
    EC2上のアプリケーションは「開く・読み取る」などのファイルシステム操作を通じて S3に保存されているオブジェクトにアクセスできる。これらの操作はS3オブジェクト API 呼び出しに自動的に変換し、アプリケーションがS3のエラスティックなストレージとスループットにファイルインターフェイスを通じてアクセスできるようにする。

【その他機能】

  • 静的Webホスティング機能
    バケットに格納した静的なファイルをウェブサイトとして公開することができる機能。

  • S3イベント
    「新しいオブジェクトの作成イベント」,「オブジェクト削除イベント」,「オブジェクト復元イベント」,「低冗長化ストレージ (RRS)。 オブジェクト消失イベント」,「レプリケーションイベント」発生時、イベントを通知発行する。

    【S3のイベント発行トリガー】
    ①Amazon SNSトピック:S3をトリガーとしてメールなどを通知できる。
    ②Amazon SQSキュー:S3をトリガーとしてStandardキューを配信できる。
    ③AWS Lambda
    Lambda関数を作成時、カスタムコードをパッケージ化してLambdaにアップロード。S3をトリガーにLambda関数を実行できる。

    S3 トリガーを使用して Lambda 関数を呼び出す
    S3へのアクションをトリガーにLambdaを呼び出すことができる。

    [引用元サイト]

  • S3アクセスポイント
    S3 の共有データセットへの大規模なデータアクセスの管理を簡素化する機能。アクセスポイントはバケットにアタッチされた名前付きのネットワークエンドポイントで、S3 オブジェクトのオペレーション (GetObject や PutObject など) を実行するために使用できる。。同時書き込みのオブジェクトロックはサポートしない。2020年12月まで、結果整合性モデルを主だったが、現在は強い結果整合性モデル。
    (アクセス制御に役立つが、プライベート接続の確立には不十分)

    ※VPCエンドポイントの接続先として利用されることもある

[引用元サイト]

  • S3 アダプター
    プログラムによるデータ転送とデータ転送を行うことができル。AWS Snowball EdgeAmazon S3 REST API アクションを使用するデバイス。AWS Snowball Edge デバイスにデータを転送する方法として利用される。

  • ストレージクラス分析
    ストレージアクセスパターンを分析し、適切なデータを適切なストレージクラスに移行すべきタイミングを判断できる。フィルタリングされたデータセットのアクセスパターンを一定期間監視することで、ライフサイクルポリシーを設定することができる。

〇エラー

●403 Access Denied
オブジェクトは存在するが、そのオブジェクトの読み取りアクセス許可が付与されていない。

【考えられる要因】
・リクエスタ支払いバケットに関するリクエストがすべて認証されていない場合、アクセスできない
・S3バケットからS3ブロックパブリックアクセスのオプションを削除していない

EBS(Elastic Block Store)

EC2とEBS間に専用線をひくことで、EC2にアタッチされる永続的なブロックレベルのネットワーク接続型ストレージ。(外付けストレージのようなもの)データに素早くアクセスできる。サイズ(割り当てたボリューム分)と利用期間によって課金される。

【アタッチ・デタッチについて】

・複数のインスタンスを対象に接続はできない(他のインスタンスへ付け替えは可能)
・AZは跨げない(EBSマルチアタッチ:AZ内の複数のインスタンスにアタッチできる)
・インスタンスに EBSボリュームをアタッチ後に任意のファイルシステムでボリュームをフォーマットしてからマウントすることが必要

  • DeleteOnTermination
    属性を使用すると、EC2インスタンスが削除されても接続されたEBSとデータは保持される。

【性能面】

・初期化を必要としない
・ディスクの縮小は不可
・書き込みのスループットが高いアプリケーションに適する。[IOPS最大割合(GiB単位)500:1]
・他のリージョンにコピー可能(スナップショットから作成する)
・EBSボリュームが作成されるとすぐに最大パフォーマンスを発揮。
・セキュリティグループによる保護は対象外(全ポートを閉じても利用可能)
・NFSv4 プロトコルは利用していない
・保存世代や世代数は無制限
・RAID5,RAID6構成はIOPSがパリティ書き込みによって消費されるため推奨されない(RAID構成はRAID0 , RAID1)

  • Amazon EBS 最適化インスタンス
    最適化された設定スタックを使用し、EBS I/O に対して追加の専用の容量(帯域幅)を提供する。この最適化は、EBS I/O とその他のインスタンスからのトラフィック間の競合を最小化することで、EBS ボリュームの高パフォーマンスを提供する。

【バックアップ】
スナップショットによる、増分バックアップ。スナップショット中は読み書きが可能。
※EBSのスナップショットをS3にコピーすることはできない

  • EBS高速スナップショット復元機能
    通常のスナップショット復元で発生するブロックの初回アクセス時におけるI/Oオペレーションのレイテンシーがなくなる。
  • Data Lifecycle Manager (Amazon DLM)
    EBSのバックアップであるスナップショットの作成、保存、削除を自動化。
    また、スナップショットの管理に必要な許可を得るためには、IAMロールを使用する。
    ※リージョン間でコピーすることができる

    ●クロスリージョンコピー機能
    一度作成するだけで、EBSスナップショットを少なくとも2つのリージョンへ毎日自動複製できる。

【ステータス】
ok:通常状態
warning:パフォーマンスが下回っている
impared:致命的な被害
insufficient-data:実行中

〇ボリュームタイプ

  • SSD
    ●汎用SSD
    EC2のブートボリューム、アプリケーションリソース向け。バースト機能で3000IOPSまで処理できる(ベースラインは300IOPS)

    ●プロビジョンドIOPS
    I/O負荷の高いデータベースのデータ領域向け⇒IOPSに対して課金あり、DBによく使われる。
    ボリュームサイズに対するプロビジョンド IOPS の最大割合(GiB 単位)は500:1。

  • HDD
    スループット最適化HDD
    ログ分析、バッチ処理用大容量インプットファイル向け

    ●コールドHDD
    アクセス頻度が低いデータのアーカイブ向け

    ●マグネティック
    旧世代のボリュームタイプ

【EBS ボリューム拡張方法】

  1. EC2コンソールまたはCLIからEBSボリュームのサイズを増やす。
  2. オペレーティングシステムにマウントされたボリュームのファイルを拡張して、追加したストレージ容量をしようする。

〇暗号化

EBSボリュームやスナップショット作成時、KMSのCMKを使用して暗号化。

  • EBS Encryption
    EBSストレージ間でのデータ保存と転送中のデータの両方のセキュリティを暗号化し保証する。
    ただし、新規作成されるボリュームに対してのみである。
    ※既存ボリュームの暗号化はConfigやEventBridgeなどを利用して暗号化すること

【ボリューム内の保存データも可能】

現世代のすべてのインスタンスタイプ、旧世代のインスタンスタイプ A1、C3、cr1.8xlarge、G2、I2、M3、R3 で使用可能。暗号化処理はインスタンスが稼働するホストで実施される(ストレージ自体の暗号化)。ボリュームから取得したスナップショットも暗号化は適用される(スナップショット数:デフォルト最大100,000)。スナップショットは基本的に自動的にS3に保存される。

【既存EBSボリュームを暗号化する手順】

  1. 既存EBSボリュームのスナップショットを取得
  2. 取得したスナップショットを、[EBS暗号化] を有効化しコピー
  3. コピーしたスナップショット(暗号化済み)から EBS ボリュームを作成
  4. EC2インスタンスから既存EBSボリュームをデタッチする
  5. EC2インスタンスに作成した EBSボリューム(暗号化済み)をアタッチする

EFS

※Elastic File System

リージョン、AZ、VPC間でファイルシステムにアクセスできる。Direct ConnectあるいはVPNを介して複数のEC2インスタンスやオンプレミスサーバー間でファイルを共有できる。
※Windowsファイルサーバーをサポートしていない

EFSは、「ファイルシステム」と「マウントターゲット」という2つの主要な構成要素から成り立ちます。

  • ファイルシステム
    ファイルを保存するための論理的なストレージ領域です。VPC内に作成され、複数のAZにまたがってデータを複製することで高可用性を実現します。
  • マウントターゲット
    ファイルシステムへのアクセスを提供するエンドポイントです。各AZにマウントターゲットが作成され、EC2インスタンスはそのマウントターゲットを介してファイルシステムにアクセスします。

●EFS CSIドライバー
Kubernetes(特にAmazon EKS)でAmazon EFSを使うためのストレージドライバー

【主なポイント】

項目内容
目的KubernetesのPodからEFSをマウントしてファイル共有
利用方法Persistent Volume(PV)としてEFSを使う
特徴複数Podで共有可能、動的プロビジョニング対応(v1.2以降)
導入EKSアドオンとして簡単にインストール可能
対応環境Amazon EKS、Fargate(一部制限あり)、Graviton

【利用メリット】

  • Pod間でファイルを共有できる
  • ステートフルなアプリに最適
  • EFSの高可用性・スケーラビリティを活用可能

【構造】
・POSIX準拠、耐久性、高可用性、MySQL・PostgreSQL
・マウントターゲット(エンドポイントのようなもの)はAZ内に作成しなくてはならない。
・自動的に3か所のAZに作成される。オンプレミスを含めて、複数のAZに跨ることが可能。

【機能性】
・競合することなく部分的な変更もできる。
・大規模で並列の共有アクセスできる設計。
・アクセス頻度の低いストレージクラスに適している。
・強い整合性やファイルのロックなど が用意されている。
・インスタンス間で共有ストレージを頻繁に読み取ることができる。

※Windowsファイルサーバーはサポート外

【アプリケーション処理】
高レベルのスループットとIOPSを一定の低レイテンシーで実施。
中断することなく、ファイルの追加や削除に合わせて、自動的にペタバイトのオンデマンドにストレージ容量の拡張や縮小する。

【暗号化】
・「転送時の暗号化」と「保管時の暗号化」をサポートしている。

※EFSを作成する際は、「保管時の暗号化」を有効にすること。(暗号化するときに再度作成する羽目になる)

【料金面】
・S3より少し料金が高くなる

○ファイルシステム

  • EFSリージョナルファイルシステム(推奨)
    複数のAZにわたってデータを保存したりすることで、高レベルの耐久性と可用性を実現する。
  • EFS One Zone
    1つのAZ内にデータを冗長的に格納する。そのため、耐久性、可用性に脆弱性がある。

〇パフォーマンスモード

●汎用パフォーマンスモード(基本)
●最大I/Oパフォーマンスモード
●スループットモード
●バーストスループットモード
●プロビジョニングスループットモード

  • プロビジョンドスループット
    ファイルシステムが駆動できるスループットのレベルを指定する

〇バックアップ

EFSデータの保護と復元が柔軟かつ効率的に行えるよう設計されている。

  • AWS Backupとの統合
    完全に管理されたポリシーベースのサービス「AWS Backup」とネイティブに統合されている。
  • バックアップの種類
    • 継続的バックアップ:ある時点の状態(Point-in-time)への復元が可能
    • 定期的バックアップ:長期的な保存目的で使用
  • バックアッププランの管理
    自動化されたスケジュール設定や保持ポリシーの指定が可能。以下の項目を管理できます:
    • 頻度(どれくらいの間隔でバックアップするか)
    • タイミング(いつ開始するか)
    • 保持期間(バックアップの保存期間)
    • ライフサイクル(保存・削除の自動管理)
  • 復元の柔軟性
    ・新しいファイルシステムへの復元
    ・既存のファイルシステムへの復元
    ・完全復元または項目レベルでの復元も選択可能

〇その他性能

  • amazon-efs-units
    ファイルシステムにトラブルが発生した場合のトラブルシューティングに役立つログを記録できる。

Fsx

for Windows File Server
※NFSバージョン4 非対応

フルマネージド型ファイルサービス(Windows向け)【Windows File Serverと互換性あり】

・デプロイタイプは一度作成すると更新できない

for Windowsファイルシステム当たり最大 2 GB/秒のスループット、数百万のIOPS、一貫したミリ秒未満のレイテンシーという高速パフォーマンスが実現可能な高性能なストレージ。
・HDDからSSDに変更することはできない
for Lustreハイパフォーマンスコンピューティングなどで高速ストレージを必要とするアプリケーション向けに設計されている。Lustre ファイルシステムを簡単かつ費用効果の高い方法で起動して実行する

※Lustre ファイルシステム
高速ストレージを必要とするアプリケーション向けに設計されており、ストレージがコンピューティングに対応できるように設計されている。リ秒未満のレイテンシー 最大数百 Gbps のスループット、および最大数百万のIOPS を提供。
for OpenZFSOpenZFS ファイルシステム上に構築され、NFS プロトコル (v3、v4、v4.1、および v4.2) を介してアクセスできるフルマネージド共有ファイル。
for NetApp ONTAPAWS 上でフルマネージドの NetApp ONTAP ファイルシステムを提供するストレージサービス。オンプレミスの NetApp 環境と同様の機能・API をクラウドで利用可能。
・NFS、SMB、iSCSI などの業界標準プロトコルに対応
・Linux、Windows、macOS からの広範なアクセスをサポート
・スナップショット、クローン、レプリケーション などの高度なデータ管理機能を簡単に利用可能
・圧縮・重複排除 によるストレージコスト削減
・フルエラスティックで実質無制限のストレージ容量

【[for NetApp ONTAP] SnapMirror によるレプリケーション概要】

〇スケジュールされたレプリケーションによるデータ保護

    • FSx for ONTAP 間、またはオンプレミスから AWS への定期的なデータ複製が可能。
    • リージョン内・クロスリージョン両方に対応。
    • 最短 5 分間隔でレプリケーション可能(RPO/RTO/パフォーマンスを考慮して設定)。

    〇SnapMirror の技術的特徴

      • ONTAP の Snapshot 技術を活用。
      • 差分データのみを転送することで、ネットワーク帯域を節約し、高速なレプリケーションを実現。
      • 高可用性と効率的な災害対策に有効。

      〇デプロイタイプ

      以下の2つのデプロイタイプを提供する。
      コストを抑えたい用途にはシングル AZ。高い可用性・耐障害性が必要な業務にはマルチ AZ。

      シングル AZ
      (アベイラビリティーゾーン)
      構成:1つのAZにファイルサーバーとストレージを配置。
      可用性:単一コンポーネント障害には自動復旧、ただし完全な可用性は保証されない。
      ダウンタイム:メンテナンスや障害復旧時に約30分のダウンタイムあり。
      リスク:稀に複数障害で回復できない場合があり、その際はバックアップから復元可能。
      マルチ AZ構成:2つのAZにまたがる高可用性クラスタ(WSFC使用)。
      可用性と耐久性:AZ間での同期複製と自動フェイルオーバーにより、可用性とデータ保護が強化。
      ダウンタイム回避:計画的/計画外の障害でも継続利用が可能。

      snowball

      • Snowball Edge Compute Optimized(42TB)
        AWSが提供する物理デバイスで、ローカル環境で強力なコンピューティング処理が可能
        限られたネットワークインフラストラクチャをもつ工場サイトでのアプリケーションホスティングに適している。このデバイスはエッジロケーションでのコンピューティング、データ転送、ストレージのタスクを処理する能力を持っており、同時に一貫したAWS開発者エクスペリエンスを提供する。
      項目内容
      vCPU104コア
      メモリ416 GiB
      GPUオプションで NVIDIA Tesla V100 を搭載可能
      ストレージ28TB(NVMe SSD)で S3 互換または EBS 互換として利用可能
      インスタンスタイプsbe-c(C5, M5a 相当)、sbe-g(G3, P3 相当)
      • Snowball Edge Storage Optimized(HDD:80 TB/NVMe 容量:210 TB)
        大容量データ(例:200TB)をネットワークに頼らず迅速かつ安全にオンプレミスから Amazon S3 へ移行できる専用デバイス。特に帯域が限られた環境で、時間とセキュリティの面で大きな利点がある。

      ※[2025年11月12日までサポート]Snowcone
      エッジコンピューティングとデータ転送のためのポータブルで堅牢かつ安全なデバイス。
      デバイスをAWSに発送してオフラインで、またはDataSyncを使用してオンラインでデータを収集、処理し、AWSクラウドに移動できる。

      ※[使用不可]snowball:(50~80TB) 

      No responses yet

      コメントを残す

      メールアドレスが公開されることはありません。 が付いている欄は必須項目です

      error: Content is protected !!