AWS勉強備忘録17 - UL/DLの方法、 S3のアクセス管理と改ざん防止機能

# UL/DLの方法について

| 方法                    | 説明                                                                                                               | 適用シナリオ                                                                                 | メリット                                                                                              | デメリット                                                                                     |
|-----------------------|------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
| マネジメントコンソール           | AWSのウェブインターフェイスを通じてファイルのアップロードやダウンロードを行う。                                                    | 少量のファイル操作、初心者やGUIを好むユーザー向け。                                                        | - 直感的な操作<br>- 初心者にも理解しやすい<br>- 特別なツールや設定が不要                                        | - 大量のファイルや自動化されたプロセスには不向き<br>- 操作に時間がかかる場合がある                                  |
| CLI、API、SDK            | コマンドラインインターフェイス、プログラミング言語向けのAPIやSDKを使用してファイル操作を行う。                                      | 自動化されたプロセスや開発者向け。大量のファイル操作やスクリプトを介した処理に適している。                              | - 自動化とスクリプトによる操作が可能<br>- 高い柔軟性とコントロール性<br>- 大規模なデータの扱いに適している                     | - CLIやAPIの使用にはある程度の技術的知識が必要<br>- 開発環境のセットアップが必要                                  |
| マルチパートアップロード         | 大きなファイルを小さなパーツに分割してアップロードし、後で結合する方法。AWS SDKやCLIから利用できる。                                | 大きなファイルのアップロードに適している。特に5GBを超えるファイルに推奨される。                                           | - 大容量ファイルのアップロードを効率化<br>- ネットワークの問題でアップロードが中断されても再開しやすい                  | - 設定やプロセスが複雑になる可能性がある<br>- 小規模ファイルにはオーバーキルとなる場合がある                    |
| AWS Transfer Family     | SFTP、FTPS、FTPを使用してAWSへファイルを安全に転送するマネージドサービス。                                              | 既存のFTPベースのワークフローをAWSに移行したい企業や、セキュアなファイル転送が必要な場合。                                   | - 既存のFTPクライアントやツールをそのまま利用可能<br>- セキュリティとスケーラビリティ<br>- 管理が容易                    | - コストがかかる<br>- FTPに関する基本的な知識が必要                                           |
| AWS DataSync            | オンプレミスのストレージとAWSストレージサービス間でデータを簡単かつ迅速に転送するためのマネージドサービス。                              | 大量のデータ転送、オンプレミスからAWSへのデータ移行、データバックアップや災害復旧に。                                      | - 自動化されたデータ転送<br>- 高速転送<br>- データの同期と監視が容易<br>- 大規模データの扱いに最適                      | - 初期セットアップにコストと時間がかかる<br>- 小規模なデータ転送には他の方法がコスト効率が良い可能




# AWS S3のアクセス管理と改ざん防止機能

AWS S3は、アクセスログ記録、ストレージクラス分析、オブジェクトロック、S3インベントリなど、データのセキュリティとアクセス管理を強化するための多彩な機能を提供しています。

## アクセスログ

S3のアクセスログ機能を使用すると、バケットへのアクセス詳細を記録できます。ログには以下のような情報が含まれます。なお、S3の機能としてアクセスログの記録が提供されているので、料金はかかりません。ただし、ログを書き込んだファイルは対象となるバケットと同じリージョンのバケットに保存されるため、その保存には料金がかかります。

- **Remote IP**: リクエストを送信したクライアントのIPアドレス。
- **リクエスタ**: リクエストを行ったAWSアカウントのID。
- **リクエストID**: リクエストを一意に識別するためのID。
- **オペレーション**: 実行されたアクション（例: GET Object）。
- **キー**: アクセスされたオブジェクトのキー。
- **Request-URL**: リクエストされたURL。
- **エラーコード**: リクエストが失敗した場合のエラーコード。
- **Bytes Sent**: クライアントに送信されたバイト数。
- **Object Size**: オブジェクトのサイズ。
- **Total Time**: サーバーがリクエストを処理するのに要した総時間。
- **Turn-Around Time**: リクエストを受信してからレスポンスを送信するまでの時間。
- **Referrer**: リクエストのリファラー。
- **User-agent**: リクエストを行ったクライアントのユーザーエージェント。
- **Version Id**: アクセスされたオブジェクトのバージョンID。
- **ホストヘッダー**: リクエストに含まれるホストヘッダー。

## ストレージクラス分析

ストレージクラス分析は、オブジェクトへのアクセス頻度を分析し、データ管理戦略を立てるのに役立ちます。この機能により、アクセス頻度の低いデータをコスト効率の良いストレージクラスに移動させることができます。

## オブジェクトロック

オブジェクトロックは、オブジェクトの削除や上書きを防ぐための機能です。二つのロックモードがあります。

| モード            | 特徴                                                                                                                                 |
|----------------|------------------------------------------------------------------------------------------------------------------------------------|
| ガバナンスモード  | ユーザーは特別な権限を持つ場合に限り、オブジェクトの削除や上書きが可能です。                                                                                          |
| コンプライアンスモード | 一度ロックされると、どんなユーザーもオブジェクトの削除や上書きを行うことができなくなります。このモードは、法的要件などに基づく厳格なデータ保持ポリシーを適用する場合に有効です。 |

## S3インベントリ

S3インベントリは、バケット内のオブジェクトに関する詳細情報を提供するレポート機能です。定期的にインベントリレポートを生成し、オブジェクトのバージョン、メタデータ、暗号化ステータスなどを確認できます。この機能により、大規模なバケットの管理や、データ監査プロセスを効率化することが可能になります。インベントリレポートは、特定の分析や管理タスク、またはコンプライアンスの監査に非常に役立ちます。これにより、S3上でのデータの可視性が高まり、より効果的なデータ管理戦略を立てることができます。