ストレージ管理およびモニタリング
ストレージ管理およびモニタリング
Amazon S3 のフラットで非階層な構造や、数多くの管理機能は、あらゆる規模の企業や業界のお客様が、ビジネスやチームにとって価値のある方法でデータを整理する上で役立っています。オブジェクトはすべて、S3 バケットに保存され、プレフィックスと呼ばれる共有の名前で整理できます。S3 オブジェクトタグと呼ばれるキーと値のペアを各オブジェクトに最大 10 個付加することもできます。これは、オブジェクトのライフサイクル内で作成、更新、および削除することができます。オブジェクトと対応するタグ、バケット、プレフィックスをそれぞれ追跡するには、S3 インベントリレポートを使用して、S3 バケット内に保存したオブジェクト、または特定のプレフィックス、それぞれのメタデータおよび暗号化ステータスで一覧表示します。S3 インベントリは、毎日または毎週のレポートを生成するように設定できます。
ストレージ管理
S3 バケット名、プレフィックス、オブジェクトタグ、S3 Metadata (プレビュー)、S3 インベントリを使用すると、データを分類して報告後、他の S3 機能を設定して対策を講じることができます。 保存するオブジェクトの数が数千であろうと数十億であろうと、S3 バッチオペレーションを使用すると、Amazon S3 のデータをあらゆる規模で簡単に管理できます。S3 バッチオペレーションでは、バケット間のオブジェクトのコピー、オブジェクトタグセットを置き換え、アクセスコントロールの変更、S3 Glacier Flexible Retrieval ストレージクラスおよび S3 Glacier Deep Archive ストレージクラスからのアーカイブされたオブジェクトの復元を 1 回の S3 API リクエスト、または S3 コンソールで数回クリックして復元できます。また、S3 バッチオペレーションを使用してオブジェクト全体で AWS Lambda 関数を実行し、データの処理や画像ファイルのトランスコーディングなどのカスタムビジネスロジックを実行することもできます。開始するには、ソースバケットとフィルターを選択するか、S3 インベントリレポートを使用するか、カスタムリストを提供してターゲットオブジェクトのリストを指定し、事前入力されたメニューから目的の操作を選択します。S3 バッチオペレーションリクエストを行うと、変更がすべて完了したことを示す通知とレポートが送信されます。ビデオチュートリアルを見て、S3 バッチオペレーションについて詳しくご覧ください。
Amazon S3 Metadata (プレビュー) は、クエリ可能なオブジェクトメタデータをほぼリアルタイムで配信し、データを整理してデータ検出を迅速化します。これにより、ビジネス分析やリアルタイム推論アプリケーションといった用途に S3 データをキュレート、特定、および使用しやすくなります。S3 Metadata は、サイズやオブジェクトのソースなどのシステム定義の詳細を含むオブジェクトメタデータと、タグを使用して製品 SKU、トランザクション ID、コンテンツレーティングなどの情報を注釈としてオブジェクトに付加できるカスタムメタデータをサポートしています。 S3 Metadata は、オブジェクトがバケットにアップロードされるときに自動的にメタデータを取得し、そのメタデータを読み取り専用テーブルでクエリできるように設計されています。バケット内のデータが変更されると、S3 Metadata は数分以内にテーブルを更新して最新の変更を反映します。
Amazon S3 は、データのバージョン管理を維持し、偶発的な削除を防ぎ、同じまたは別の AWS リージョンにデータをレプリケートするのに役立つ機能もサポートしています。S3 バージョニングを使用すると、Amazon S3 に保存されているオブジェクトのすべてのバージョンを保存、取得、復元できるため、意図しないユーザー アクションやアプリケーションの障害から回復できます。偶発的な削除を防止するには、S3 バケットの多要素認証 (MFA) の削除を有効にします。MFA Delete が有効なバケットに保存されているオブジェクトを削除しようとすると、2 種類の認証 (AWS アカウント認証と、有効なシリアル番号、スペース、ハードウェアキー fob や Universal 2nd Factor (U2F) セキュリティキーなどの承認された認証デバイスに表示される 6 桁のコードを連結したもの) を求められます。
S3 レプリケーションを使用すると、レイテンシーの低減、コンプライアンス、セキュリティ、ディザスタリカバリ、その他のユースケースのために、1 つ以上の送信先バケットに対して、オブジェクト (およびそのメタデータとオブジェクトタグ) を同一または異なる AWS リージョンにレプリケートできます。S3 クロスリージョンレプリケーション (CRR) は、ソース S3 バケットから異なる AWS リージョンの 1 つ以上の送信先バケットにオブジェクトをレプリケートするように設定できます。 S3 セイムリージョンレプリケーション (SRR) では、同一の AWS リージョンのバケット間でオブジェクトをレプリケートします。CRR や SRR などのライブレプリケーションでは、新しくアップロードされたオブジェクトがバケットに書き込まれるときに自動的にレプリケートされますが、S3 バッチレプリケーションでは既存のオブジェクトをレプリケートできます。S3 バッチレプリケーションを使用して、新しく作成したバケットに既存のオブジェクトをバックフィルし、以前にレプリケートできなかったオブジェクトを再試行し、アカウント間で、データを移行し、データレイクに新しいバケットを追加することができます。 Amazon S3 Replication Time Control (S3 RTC) は、SLA とレプリケーション時間の可視性を提供することで、データレプリケーションのコンプライアンス要件を満たすのに役立ちます。
AWS リージョンとアカウント間で S3 バケットのレプリケートされたデータ セットにアクセスするには、Amazon S3 マルチリージョンアクセスポイントを使用して、アプリケーションとクライアントが場所に関係なく使用する単一のグローバル エンドポイントを作成します。このグローバルエンドポイントを使用すると、1 つのリージョンで使用するのと同じシンプルなアーキテクチャで複数リージョンのアプリケーションを構築し、それらのアプリケーションを世界中のどこでも実行できます。Amazon S3 マルチリージョンアクセスポイントは、複数の AWS リージョンとアカウントに複製されたデータセットにアクセスする際に、パフォーマンスを最大 60% 高速化できます。AWS Global Accelerator をベースに、S3 マルチリージョンアクセスポイントは、ネットワークの混雑状況やリクエストするアプリケーションの位置などの要素を考慮し、AWS ネットワーク上でリクエストを最も低いレイテンシーのデータコピーに動的にルーティングします。S3 マルチリージョンアクセスポイントのフェイルオーバーコントロールを使用すると、AWS リージョン間で複製されたデータ セット間でフェイルオーバーできるため、S3 データ リクエスト トラフィックを別の AWS リージョンに数分で移行できます。
また、S3 Object Lock で、Write-Once-Read-Many (WORM) ポリシーを適用することもできます。この S3 管理機能は、お客様が定義した保持期間中にオブジェクトバージョンの削除をブロックするため、データ保護の追加レイヤーとして、またはコンプライアンス義務を満たすために保持ポリシーを適用できます。事前定義されたリテンション期日またはリーガルホールド期日以前のオブジェクトバージョンの削除を防ぐには、ワークロードを既存の WORM システムから Amazon S3 に移行し、S3 オブジェクトロックをオブジェクトレベルおよびバケットレベルで設定します。S3 オブジェクトロックが設定されているオブジェクトは、S3 ライフサイクルポリシーを使用して別のストレージクラスに移動しても、WORM 保護はそのまま適用されます。S3 オブジェクトロックが設定されているオブジェクトを追跡するには、オブジェクトの WORM ステータスを含む S3 インベントリレポートを参照します。S3 オブジェクトロックは、2 つのうちいずれかのモードで設定できます。ガバナンスモードでデプロイされると、特定の IAM アクセス許可を持つ AWS アカウントはオブジェクトから S3 オブジェクトロックを削除できます。規制を遵守するためにより強力なイミュータビリティが必要な場合は、コンプライアンスモードを使用することができます。コンプライアンスモードでは、ルートアカウントを含め、どのユーザーも無効にすることはできません。
ストレージのモニタリング
これらの管理機能に加えて、Amazon S3 機能やその他の AWS のサービスを使用して、S3 リソースをモニタリングおよび制御します。S3 バケットにタグを適用して、複数のビジネスディメンション (例: コストセンター、アプリケーション名、所有者) にコストを割り当て、AWS コスト割り当てレポートを使用してバケットタグで集計された使用状況とコストを表示します。また、Amazon CloudWatch を使用して、AWS リソースの運用上のヘルスを追跡し、ユーザーが定義したしきい値に到達する推定料金についての請求アラートを設定することもできます。AWS CloudTrail を使用して、バケットレベルおよびオブジェクトレベルのアクティビティを追跡およびレポートし、ワークフローとアラートをトリガーするか、S3 リソースに特定の変更が加えられたときに AWS Lambda を呼び出すように S3 イベント通知を設定します。S3 イベント通知は、メディアファイルが S3 にアップロードされるときに自動的にトランスコードし、データファイルが利用可能になると処理し、オブジェクトを他のデータストアと同期します。さらに、最新の AWS SDK では、すべてのアップロードの効率的な CRC ベースのチェックサムが自動的に計算されます。S3 はそのチェックサムを個別に検証し、パブリックインターネット経由での転送中にデータの整合性が維持されていたことを確認した後にのみオブジェクトを受け入れます。事前に計算されたチェックサムを提供しないバージョンの SDK を使用してオブジェクトをアップロードする場合、S3 はマルチパートアップロードの場合でも、オブジェクト全体の CRC ベースのチェックサムを計算します。チェックサムはオブジェクトメタデータに保存されるため、いつでもデータの整合性を検証できます。アプリケーションのニーズに応じて、アップロード時とダウンロード時のデータ整合性チェックのためにサポートされている 5 つのアルゴリズム (CRC64NVME、CRC32、CRC32C、SHA-1、SHA-256) のいずれかを選択できます。
ストレージ分析と洞察
S3 Storage Lens
S3 ストレージレンズは、オブジェクトストレージの使用状況とアクティビティの傾向を組織全体で可視化します。また、費用対効果を向上させ、データ保護のベストプラクティスを適用するための、実用的な推奨事項を作成します。S3 Storage Lens は、組織内の数百から数千のアカウント全体での、オブジェクトストレージの使用状況とアクティビティを 1 つのビューに表示できる、最初のクラウドストレージ分析ソリューションです。アカウント、バケット、さらにはプレフィックスレベルでの詳細な洞察が提供されます。S3 ストレージレンズは、お客様がストレージを最適化するのを支援してきた 16 年以上の経験から、コンテキストに応じた推奨事項を提供して、組織全体の指標を分析して、ストレージコストを削減し、データ保護にベストプラクティスを適用する方法を見つけられるようにします。
S3 ストレージクラス分析
Amazon S3 ストレージクラス分析を使用してストレージアクセスパターンを分析し、適切なデータを適切なストレージクラスにいつ移行するかを決定するのに役立てます。この Amazon S3 機能は、データアクセスパターンを監視して、アクセス頻度の低いストレージを低コストのストレージクラスにいつ移行するかを決定するのに役立ちます。結果を使用して、S3 ライフサイクルポリシーの改善に役立てることができます。バケット内のすべてのオブジェクトを分析するようにストレージクラス分析を設定できます。あるいは、共通のプレフィックス、オブジェクトタグ、またはプレフィックスとタグの両方で分析するために、オブジェクトをグループ化するようにフィルターを設定できます。詳細については、ストレージ分析とインサイトのページをご覧ください。
テーブルストレージ
Amazon S3 Tables
Amazon S3 Tables は、オープンテーブル形式のサポートが組み込まれた初めてのクラウドオブジェクトストアであり、表形式のデータを大規模に保存する最も簡単な方法でもあります。S3 テーブルは分析ワークロード専用に最適化されているため、セルフマネージドテーブルと比較して、クエリパフォーマンスが最大 3 倍速く、1 秒あたりのトランザクション数が最大 10 倍多くなります。S3 Tables は Apache Iceberg 標準をサポートしており、一般的な AWS やサードパーティーのクエリエンジンで簡単にクエリを実行できます。さらに、S3 テーブルは、データレイクが拡大し進化しても、継続的にテーブルメンテナンスを実行して、クエリ効率とストレージコストを時間の経過とともに自動的に最適化するように設計されています。 S3 Tables と AWS Glue データカタログの統合はプレビュー段階にあり、Amazon Data Firehose、Amazon Athena、Amazon Redshift、Amazon EMR、Amazon QuickSight などの AWS 分析サービスを使用して、S3 Metadata テーブルを含むデータのストリーミング、クエリ、および可視化を行うことができます。
S3 テーブルでは、テーブルバケットを使用しています。これは、表形式のデータを格納するための新しいバケットタイプです。テーブルバケットを使用すると、テーブルを簡単に作成し、テーブルレベルの権限を設定してデータレイクへのアクセスを管理できます。その後、標準 SQL を使用してテーブルにデータをロードしてクエリし、行レベルのトランザクション、クエリ可能なスナップショット、スキーマの進化などの Apache Iceberg の高度な分析機能を活用できます。テーブルバケットはポリシー主導型のテーブルメンテナンスも提供するため、コンパクション、スナップショット管理、未参照ファイルの削除などの運用タスクを自動化できます。
ストレージクラス
ストレージクラス
Amazon S3 を使用すると、特定のユースケースとアクセスパターン専用に構築されたさまざまな S3 ストレージクラスにデータを保存できます。それには、S3 Intelligent-Tiering、S3 Standard、S3 Express One Zone、S3 Standard-Infrequent Access (S3 Standard-IA)、S3 One Zone-Infrequent Access (S3 One Zone-IA)、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive、および S3 Outposts があります。
すべての S3 ストレージクラスが、特定のデータアクセスレベルに対応し、コストや地理的ロケーションをサポートしています。
データレイク、分析、新しいアプリケーションなど、データへのアクセスパターンが変化する、不明、または予測できない場合は、ストレージコストを自動的に最適化する S3 Intelligent-Tiering を使用します。S3 Intelligent-Tiering は、高頻度アクセス、低頻度アクセス、まれなアクセス用に最適化された 3 つの低レイテンシーアクセス階層間でデータを自動的に移動します。オブジェクトのサブセットが時間の経過とともにアーカイブされるようになると、非同期アクセス用に設計されたアーカイブアクセス層をアクティブ化できます。
アクセスパターンがより予測可能な場合は、アクセス頻度の高いミッションクリティカルな本稼働データを S3 Standard に保存したり、最も頻繁にアクセスされるデータを S3 Express One Zone に保存してパフォーマンスクリティカルなアプリケーションを高速化したり、アクセス頻度の低いデータは S3 標準 – IA または S3 1 ゾーン – IA に保存することでコストを節約したり、また、アーカイブはコストが最も低いアーカイブストレージクラス (S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive) で保存したり、などが可能です。 S3 ストレージクラス分析を使用して、オブジェクト間のアクセスパターンをモニタリングし、低コストのストレージクラスに移動する必要のあるデータを検出することができます。その結果、この情報を使用して、データ転送の S3 ライフサイクルポリシーを設定することができます。また、S3 ライフサイクルポリシーを使用して、ライフサイクルの終了時にオブジェクトの期限が切れるように設定することもできます。
既存の AWS リージョンでは満たせないデータレジデンシー要件がある場合は、AWS 専有ローカルゾーン用の S3 ストレージクラスまたは Outposts ラックの S3 ストレージクラスを使用して、特定のデータ境界にデータを保存できます。
データレジデンシーとデータ分離
Amazon S3 は、特定のデータ境界にデータを保存する必要がある場合に、データレジデンシーとデータ分離のユースケースをサポートします。既存の AWS リージョンでは満たせないデータレジデンシー要件がある場合は、AWS 専有ローカルゾーン用の S3 ストレージクラスまたは Outposts ラックの S3 ストレージクラスを使用して、特定のデータ境界にデータを保存できます。これは、クラウドの極めて高度な一連の主権コントロールと機能を提供するという当社のコミットメントである AWS Digital Sovereignty Pledge をさらに拡大したものです。
アクセス管理およびセキュリティ
アクセス管理
デフォルトでは、Amazon S3 のデータを保護するために、ユーザーは作成した S3 リソースにのみアクセスすることができます。次のアクセス管理機能の 1 つまたは組み合わせを使用して、他のユーザーにアクセスを許可できます。AWS Identity and Access Management (IAM) を使用してユーザーを作成し、それぞれのアクセスを管理します。許可されたユーザーが個々のオブジェクトにアクセスできるようにするためのアクセス制御リスト (ACL)。単一の S3 バケット内のすべてのオブジェクトのアクセス許可を設定するバケットポリシー。各アプリケーションまたはアプリケーションのセットに固有の名前とアクセス許可を持つアクセス ポイントを作成することにより、共有データ セットへのデータ アクセスの管理を簡素化する S3 アクセスポイント。S3 Access Grants により、企業のアイデンティティに基づいてエンドユーザーに S3 アクセスを自動的に付与することでデータのアクセス許可を大規模に管理できます。クエリ文字列認証により、一時的な URL を使用して時間制限付きのアクセスを他のユーザーに許可します。Amazon S3 では、S3 リソースに対して行われたリクエストを一覧表示する監査ログもサポートしており、アクセスしたユーザーとアクセスされたデータを明確に把握することができます。
セキュリティ
Amazon S3 は、アクセス許可のないユーザーによるデータへのアクセスをブロックする柔軟なセキュリティ機能を提供します。VPC エンドポイントを使用して Amazon Virtual Private Cloud (Amazon VPC) とオンプレミスから S3 リソースに接続します。Amazon S3 は、任意のバケットへのすべての新規データのアップロードを暗号化します。(2023 年 1 月 5 日現在)。Amazon S3 は、データのアップロードにはサーバー側の暗号化 (4 つのキー管理オプションを使用) とクライアント側の暗号化 (S3 によるデータ暗号化の詳細については、 Amazon S3 ユーザーガイドを参照してください) の両方をサポートしています。S3 オブジェクトの暗号化ステータスを確認するには、S3 インベントリを使用します (S3 インベントリの詳細についてはストレージ管理を参照)。
S3 ブロックパブリックアクセスは、S3 バケットとオブジェクトにパブリックアクセス権を付与しない一連のセキュリティコントロールです。パブリックアクセスブロックは、すべての新しいバケットでデフォルトで有効になっていますAmazon S3 コンソールで数回クリックするだけで、AWS アカウント内のすべてのバケットまたは特定の S3 バケットに S3 ブロックパブリックアクセス設定を適用することができます。設定が AWS アカウントに適用されると、すべての既存または新しいバケットと、そのアカウントに関連付けられたオブジェクトは、パブリックアクセスを防止する設定を継承します。S3 ブロックパブリックアクセス設定は、他の S3 アクセス許可よりも優先され、オブジェクトの追加方法、バケットの作成方法、または既存のアクセス許可があるかどうかに関係なく、アカウント管理者は「パブリックアクセスなし」ポリシーを適用しやすくなります。S3 ブロックパブリックアクセスコントロールは監査可能で、制御レイヤーを追加します。また、AWS Trusted Advisor のバケットのアクセス許可チェック、AWS CloudTrail ログ、Amazon CloudWatch アラームを使用します。 パブリックにアクセスしたくないすべてのアカウントとバケットに対して、ブロックパブリックアクセスを有効にする必要があります。
S3 Object Ownership は、アクセスコントロールリスト (ACL) を無効にし、すべてのオブジェクトの所有権をバケット所有者に変更し、S3 に保存されているデータのアクセス管理を簡素化する機能です。 S3 Object Ownership バケット所有者強制設定を構成すると、ACL はバケットとその中のオブジェクトのアクセス許可に影響を与えなくなります。すべてのアクセス制御は、リソースベースのポリシー、ユーザー ポリシー、またはこれらの組み合わせを使用して定義されます。 ACL を無効にする前に、バケットとオブジェクトの ACL を確認してください。認証のために ACL を必要とする Amazon S3 リクエストを特定するには、 Amazon S3 サーバーのアクセスログまたはAWS CloudTrailの aclRequired フィールドを使用することができます。
仮想プライベートクラウド (VPC) に制限されている S3 アクセスポイントを使用すると、プライベートネットワーク内で S3 データを簡単にファイアウォールできます。さらに、AWS サービスコントロールポリシーを使用して、組織内のすべての新規 S3 アクセスポイントを VPC 経由のアクセスに限定できます。
IAM Access Analyzer for S3 は、S3 バケットとアクセスポイントのポリシーを設定、検証、調整する際の権限管理を簡素化するのに役立つ機能です。Access Analyzer for S3 は、既存のバケットアクセスポリシーをモニタリングして、S3 リソースへの必要なアクセスのみを提供していることを確認します。Access Analyzer for S3 は、バケットアクセスポリシーを評価して、不要なアクセス権を持つバケットを迅速に修復できるようにします。バケットへ潜在的に共有されたアクセスを示す結果を確認する場合、S3 コンソールで 1 回クリックするだけで、バケットへのパブリックアクセスをブロックできます。監査のために、Access Analyzer for S3 の結果を CSV レポートとしてダウンロードできます。 また、S3 コンソールが、S3 ポリシーを作成するときに、IAM Access Analyzer からのセキュリティ警告、エラー、および提案をレポートします。コンソールは、ポリシーを検証するために 100 を超えるポリシーチェックを自動的に実行します。こうしたチェックは時間を節約し、エラーを解決するためのガイドとなり、セキュリティのベストプラクティスを適用するのに役立ちます。
IAM は、ユーザーまたはロールが最後に S3 や関連するアクションを使用したときのタイムスタンプを提供することにより、アクセスを分析し、アクセス許可を減らして最小特権を容易に達成できるようにします。この「最後にアクセスされた」情報を使用して、S3 アクセスを分析し、未使用のアクセス許可を識別して、確実に削除することができます。さらに詳しくは、サービスの最終アクセス時間データを使用したアクセス許可の調整をご覧ください。
また、Amazon Macie を使用して、Amazon S3 に保存されている機密データを検出、保護することもできます。Macie ではバケットレベルで完全な S3 インベントリが自動的に収集され、すべてのバケットが継続的に評価されるため、パブリックにアクセス可能なバケット、暗号化されていないバケット、またはお客様の組織外の AWS アカウントと共有したバケットや複製したバケットにアラートが表示されます。その後、選択したバケットに機械学習とパターンマッチング手法を適用し、個人を特定できる情報 (PII) などの機密データを特定してアラートを発信します。生成されたセキュリティの結果は Amazon CloudWatch Events へプッシュされます。これにより、既存のワークフローシステムとの統合や、AWS Step Functions などのサービス (パブリックバケットを閉じる、リソースタグを追加するなどのアクションを実行する) を使用した自動修復のトリガーが容易になります。
AWS PrivateLink for S3 は、Amazon S3 とオンプレミスの間でプライベート接続を行えるようにします。VPC で S3 のインターフェイス VPC エンドポイントをプロビジョニングして、オンプレミスアプリケーションを AWS Direct Connect または AWS VPN を介して S3 に直接接続できます。S3 の VPC エンドポイントのインターフェイスを作成するリクエストは、Amazon ネットワークを介して S3 に自動的にルーティングされます。セキュリティグループを設定し、インターフェイス VPC エンドポイントの VPC エンドポイントポリシーを設定して、アクセスコントロールを強化できます。
詳細については、S3 アクセス管理とセキュリティ、S3 セキュリティとデータ保護に関する eBook、Amazon S3 でのデータ保護をご覧ください。
データ処理
S3 Object Lambda
S3 Object Lambda を使用すると、S3 GET、HEAD および LIST リクエストに独自のコードを追加して、データがアプリケーションに返されるときにそのデータを変更および処理できます。初めて、カスタムコードを使用して、標準 S3 GET リクエストによって返されるデータを変更し、行のフィルタリング、画像の動的なサイズ変更、機密データの編集などを行うことができるようになりました。また、S3 Object Lambda を使用して、バケット内のオブジェクトのカスタムビューを作成する S3 LIST リクエストの出力や、オブジェクト名やサイズなどのオブジェクトメタデータを変更する S3 HEAD リクエストの出力を変更することができます。AWS Lambda 関数により、コードは AWS によって完全に管理されているインフラストラクチャで実行されるため、データの派生コピーを作成して保存したり、高価なプロキシを実行したりする必要はなく、アプリケーションに変更を加える必要もありません。
S3 Object Lambda は、AWS Lambda 関数を使用して、標準 S3 GET、HEAD または LIST リクエストの出力を自動的に処理します。AWS Lambda は、基盤となるコンピューティングリソースの管理を必要とせずに、顧客定義のコードを実行するサーバーレスコンピューティングサービスです。AWS マネジメントコンソールで数回クリックするだけで、Lambda 関数を設定し、S3 Object Lambda アクセスポイントにアタッチすることができます。その時点から、S3 は自動的に Lambda 関数を呼び出し、S3 Object Lambda アクセスポイントを介して取得されたデータを処理し、変換した結果をアプリケーションに返します。S3 Object Lambda のデータ変換を特定のユースケースに合わせて調整し、独自のカスタム Lambda 関数を作成して実行することができます。
すぐに活用できるクエリ
すぐに活用できるクエリ
Amazon S3 には、別の分析プラットフォームやデータウェアハウスにコピーしてローディングすることなく、データのクエリを実行する無料サービスがあります。つまり、Amazon S3 に保存されたデータに対して、データ分析を直接実行できます。
Amazon S3 は AWS 分析サービス、Amazon Athena および Amazon Redshift Spectrum と互換性があります。 Amazon Athena では、Amazon S3 のデータに対して、クエリを実行できます。別のサービスやプラットフォームにロードする必要はありません。標準の SQL 式を使用してデータを分析後、数秒で結果を取得します。この結果は、一般的にアドホックデータの検出に使用されます。 Amazon Redshift Spectrum は、Amazon S3 で保管中のデータに対して直接 SQL クエリを実行します。複雑なクエリや大規模なデータセット (最大エクサバイト) に適しています。Amazon Athena および Amazon Redshift は、共通のデータカタログおよび共通のデータフォーマットを共有しているため、Amazon S3 の同じデータセットに対していずれも使用することができます。
Amazon S3 でのデータクエリの詳細については、のブログ記事をご覧ください。
データ転送
データ転送
AWS ではデータ転送サービスのポートフォリオをご用意して、あらゆるデータ移行プロジェクトに最適なソリューションを提供しています。データの移行にとって、接続性レベルは重要な要因となります。AWS は、お客様が抱える、ハイブリッドクラウドストレージや、オンラインおよびオフラインでのデータ転送のニーズに対応するための機能をご提供します。
ハイブリッドクラウドストレージ: AWS Storage Gateway は、お客様によるオンプレミスアプリケーションの AWS ストレージへのシームレスな接続と拡張を可能にする、ハイブリッドクラウドストレージサービスです。お客様は、Storage Gateway を使うことで、テープライブラリのクラウドストレージへの置き換え、クラウドストレージによるファイル共有の実施、および、オンプレミスアプリケーションが AWS 内のデータにアクセスするための低レイテンシーキャッシュの作成などが、シームレスに行えます。
オンラインデータ転送: AWS DataSync により、数百テラバイトにおよぶ数百万のファイルを Amazon S3 に簡単かつ効率的に転送することができ、オープンソースツールと比較して最大 10 倍高速です。DataSync は、コピージョブのスクリプト記述、転送のスケジューリングやモニタリング、データ検証、ネットワーク利用量の最適化などを含む手動作業の多くを、省略あるいは自動化します。さらに、S3 on Outposts にあるバケットと、AWS リージョンに保存されたバケットの間でオブジェクトをコピーするためにも、AWS DataSync が利用できます。AWS Transfer Family は、SFTP、FTPS、および FTP を使用して、Amazon S3 にシンプルでシームレスなフルマネージド型のファイル転送を提供します。 Amazon S3 Transfer Acceleration で、クライアントと Amazon S3 バケットの間での長距離ファイル転送を高速化できます。
オフラインでのデータ転送や、接続性がほとんどまたはまったくない場合: AWS Snowball サービスは、データ収集、処理、移行のために、堅牢で可搬性のあるストレージデバイスとエッジコンピューティングデバイスを使用します。お客様は、AWS に対するオフラインデータ転送のための、Snowball の物理デバイスを出荷できます。
また、AWS パートナーネットワーク (APN) のサードパーティープロバイダーと連携してハイブリッドストレージアーキテクチャをデプロイしたり、Amazon S3 を既存のアプリケーションやワークフローに統合したり、AWS との間でデータを転送したりすることもできます。
詳細については、AWS クラウドデータ移行サービス、AWS Storage Gateway、AWS DataSync、AWS Transfer Family、Amazon S3 Transfer Acceleration、AWS Snowball にアクセスしてください。
データ交換
データ交換
AWS Data Exchange for Amazon S3 は、データプロバイダーの Amazon S3 データへの直接アクセスにより、インサイトへの時間を加速させます。AWS Data Exchange for Amazon S3 は、ストレージコストの最適化やデータライセンス管理の簡素化など、サードパーティーのデータファイルを簡単に検索、サブスクライブ、利用できるようにします。データコピーの作成や管理の必要なく、AWS サービスでのデータ分析にサードパーティーデータファイルを簡単に使用したいサブスクライバーを対象としています。また、Amazon S3 バケットにホストされているデータへのインプレースアクセスを提供したいデータプロバイダーにも役立ちます。
データサブスクライバーは、AWS Data Exchange for Amazon S3 データセットの権限を付与されるとデータ分析を開始できます。独自の S3 バケットの設定、そうした S3 バケットへのデータファイルのコピー、関連するストレージ料金の支払いを行う必要はありません。データ分析は、Amazon Athena、Amazon SageMaker Feature Store、Amazon EMR などの AWS のサービスを使用して行うことができます。サブスクライバーは、データプロバイダーが維持しているものと同じ S3 オブジェクトにアクセスします。そのため、エンジニアリングや運用上の追加作業を行うことなく、常に利用可能な最新のデータを使用できます。データプロバイダーは、既存の S3 バケット上に AWS Data Exchange for Amazon S3 を簡単に設定して、S3 バケット全体または特定のプレフィックスと S3 オブジェクトへの直接アクセスを共有できます。設定後、サブスクリプション、使用権限、請求、支払いについては、AWS Data Exchange で自動的に管理されます。
パフォーマンス
パフォーマンス
Amazon S3 は、クラウドオブジェクトストレージについて、業界をリードするパフォーマンスを提供します。Amazon S3 が並列リクエストをサポートしているので、アプリケーションのカスタマイズを行うことなく、コンピューティングクラスター数の倍率によって S3 のパフォーマンスを拡張することができます。プレフィックスごとにパフォーマンスが増大するため、必要なスループットを達成するために必要な数のプレフィックスを並列で使用することができます。プレフィックス数に制限はありません。Amazon S3 のパフォーマンスは、1 秒あたり少なくとも 3,500 のデータ追加リクエスト、および 1 秒あたり 5,500 のデータ取得リクエストをサポートします。それぞれの S3 プレフィックスがこうしたリクエストレートをサポートできるようになり、パフォーマンスを大幅に向上させることが簡単になります。
この S3 リクエストレートのパフォーマンスを達成するために、オブジェクトプレフィックスをランダム化してパフォーマンスを向上させる必要はありません。つまり、パフォーマンスに関係なく、S3 オブジェクトのネーミングで論理的または順次のネーミングパターンを使用できます。Amazon S3 のパフォーマンス最適化に関する最新情報については、Amazon S3 のパフォーマンスガイドラインおよび Amazon S3 のパフォーマンスデザインパターンを参照してください。
整合性
Amazon S3 は、パフォーマンスや可用性を変更することなく、アプリケーションのリージョン分離を犠牲にすることなく、追加コストなしで、すべてのアプリケーションに対して、強力なリードアフターライトの整合性を自動的に提供します。S3 Strong Consistency により、S3 は、アプリケーションに変更を加える必要をなくすことでオンプレミス分析ワークロードの移行を簡素化し、強力な整合性を提供するための追加のインフラストラクチャの必要性を排除することでコストを削減します。
S3 ストレージのリクエストには強力な整合性があります。新しいオブジェクトの書き込みが成功した後、または既存のオブジェクトが上書きされた後、後続の読み取りリクエストはすぐにオブジェクトの最新バージョンを受け取ります。S3 はリスト操作にも強力な整合性を提供するため、書き込み後、変更を反映した状態でバケット内のオブジェクトのリスト化をすぐに実行できます。
想定される使用目的と制約
このサービスのご利用にはアマゾン ウェブ サービスカスタマーアグリーメントが適用されます。