LoginSignup
0
0

More than 1 year has passed since last update.

ファイルのアップロードとダウンロード

Last updated at Posted at 2022-08-24

アップロードとダウンロード

S3バケットにファイルをアップロード・ダウンロードする方法はマネジメントコンソールを使用する方法とCLIを使う方法がある。ツールやプログラムから操作するにはAPIやSDKを使用する。
マネジメントコンソールを使用する場合は、ドラッグ&ドロップもしくはポイントとクリックの操作でアップロードできる。ドラッグ&ドロップはGoogle ChormeとFirefoxブラウザのみのサポート。
S3には全てのファイルタイプをアップロードできるが、アップロードできるファイルサイズには制限がある。アップロードのファイルサイズ制限は、マネジメントコンソールからは160GBまで。それ以上はSDKやAPIを使う。

様々なアップロード

ファイルをクライアントからアップロードするには、様々な方法がある。

  1. APIやSDK
    APIやSDKを使うとサーバーパーティ製のツールを使ってファイル操作できるようになる。使用にはIAMユーザーでアクセスキーとシークレットアクセスキーを発行し、利用したいツールに設定。
  2. マルチパートアップロード
    マルチパートアップロードを使用するとオブジェクトをパーツに分解し、1つのセットをしてアップロードできる。アップロード中はパーツとして表示され、全てがアップされると再びオブジェクトになる。100MB以上のファイルはマルチパートアップロードを使用することが推奨されている。なぜなら、通常のリクエストやアップロードにかかる料金はかかるが、マルチパートアップロード機能を使うことにおける独自の課金はかからない。
    マネジメントコンソールやCLIでは大きなファイルを操作するときに、マルチパートアップロードに切り替わる。
  3. AWS Transfer for SFTP
    AWS Transfer for SFTPは、SFTPを使用してファイルを転送できるサービス。SFTPツールでなくSFTPサーバーを提供するサービス。SFTPサーバーエンドポイントを設置することで、サードパーティー製などのSFTPツールが使えるようになる。初期費用はかからないが、SFTPサーバーを使用している期間とデータ転送量(アップロード及びダウンロード)に対して課金される。
  4. AWS DataSync
    AWS DataSyncはオンプレミスのストレージサービスとAWSのストレージサービス(EC2やS3)との大量のデータ移動を想定したサービス。コピーした量に対して料金がかかる。
  5. その他
    S3とクライアントを繋ぐ方法として、S3バケットをオンプレミスのストレージのように扱えるAWS Storage Gateway(ハイブリットクラウドストレージサービス)がある。

余談

大規模データのやり取り

PB(ペタバイト)やEB(エクサバイト)単位のような非常に大きなデータ通信のアップロードは、物理的にAWSとデータのやり取りをする。
AWS Snowball(HDDにデータを入れて送る方法)
AWS Snowball Edge(データの加工処理もできる)
AWS Snowmobobile(トレックで配送する方法)
がある

ブロックパブリックアクセス

バケット単位で全てのユーザーにアクセス許可をするかどうかを決定する機能。
バケットポリシーやユーザーポリシーで全員がアクセスをできるように設定していても、ブロックパブリックアクセスがブロックする設定ならば、アクセスできなくなる。バケットを全ユーザーに公開する際は、とても慎重にならなければならないため、このようなバケット単位での設定が必要になる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0