blog

Linuxのコマンドラインを使ってAmazon S3クラウドストレージにアクセスするには?

Amazon S3 は、Amazon Web Drop Services が提供するクラウドストレージです。Amazon S3 は、数多くのサードパーティの商用サービスや、開発されたクライアントソフト...

Jul 5, 2025 · 5 min. read
シェア

Amazon S3は、Amazon Web Drop Servicesが提供するクラウドストレージです。Amazon S3は、既に開発されている数多くのサードパーティの商用サービスやクライアントソフトウェアの上に、一連のウェブサービスインターフェースを公開しています。このチュートリアルでは、Linuxのコマンドラインを使ってAmazon S3クラウドストレージにアクセスする方法を説明します。

*** シンプルなAWS S3コマンドラインツールとして、s3cmdのアイデアは、毎日のバックアップのようなスクリプト化されたcronタスクを実行するために使用されます。

Linuxへのs3cmdのインストール

UbuntuまたはDebianへのs3cmのインストール

$ sudo apt-get install s3cmd 

Fedora への s3cmd のインストール

$ sudo yum install s3cmd 

CentOSまたはRHELへのs3cmのインストール

$ s3cmd put –acl-public 4.png s3://dev99 
4.png -> s3://dev99/4.png [1 of 1] 
30778 of 30778 100% in 8s 3.34 kB/s done 

まず、公式サイトからrpmパッケージをダウンロードし、手動でインストールします。64ビットのCentOSまたはRHEL 6の場合は、以下のコマンドでインストールします:

$ sudo rpm -ivh s3cmd-1.0.0-4.1.x86_64.rpm 

s3cmd の設定

***次にs3cmdを実行するときは、設定のために以下のコマンドを実行する必要があります:

$ s3cmd -設定する 

一連の質問が表示されます:

  • AWS S3のアクセスキーとセキュリティキー
  • AWS S3双方向転送のための暗号化されたパスワードと暗号化されたデータ
  • 暗号化データのGPGプログラムへのパスの設定
  • https プロトコルを使用するかどうか
  • httpプロキシを使用する場合は、名前とポートを設定します。

設定はプレーンテキスト形式で ~/.s3cfg に保存されます。

s3cmdの基本的な使い方

アカウントに存在するすべてのバケットを一覧表示します:

$ s3cmd ls 
2011-05-28 22:30 s3://mybucket1 
2011-05-29 00:14 s3://mybucket2 

新しいバケツを作成します:

$ s3cmd mb s3://dev99 
Bucket  ://dev99/’ created 

既存のバケツにファイルをアップロードします:

$ s3cmd put 1.png 2.png 3.png s3://dev99 
1.png -> s3://dev99/1.png [1 of 3] 
26261 of 26261 100% in 5s 4.33 kB/s done 
2.png -> s3://dev99/2.png [2 of 3] 
201430 of 201430 100% in 2s 98.05 kB/s done 
3.png -> s3://dev99/3.png [3 of 3] 
46630 of 46630 100% in 0s 56.62 kB/s done 

アップロードされたファイルへのデフォルトのアクセスはプライベート、つまりあなただけがアクセスできます。

公開されているファイルを既存のバケットにアップロードします:

$ s3cmd put --acl-public 4.png s3://dev99 
4.png -> s3://dev99/4.png  [1 of 1] 
30778 of 30778   100% in    8s     3.34 kB/s  done 
Public URL of the object is: http://...com/.png 

アップロードされたファイルがパブリックアクセスを許可している場合、ブラウザを使用して誰でもhttp://.../アクセスできます。

既存のバケツの内容を表示します:

$ s3cmd ls s3://dev99 
2013-06-02 02:52 26261 s3://dev99/1.png 
2013-06-02 02:52 201430 s3://dev99/2.png 
2013-06-02 02:52 46630 s3://dev99/3.png 
2013-06-02 02:56 30778 s3://dev99/4.png 

既存のバケツに含まれるファイルをダウンロードします:

$ s3cmd get s3://dev99/*.png 
s3://dev99/1.png -> ./1.png [1 of 4] 
26261 of 26261 100% in 0s 39.39 kB/s done 
s3://dev99/2.png -> ./2.png [2 of 4] 
201430 of 201430 100% in 7s 24.64 kB/s done 
s3://dev99/3.png -> ./3.png [3 of 4] 
46630 of 46630 100% in 1s 39.34 kB/s done 
s3://dev99/4.png -> ./4.png [4 of 4] 
30778 of 30778 100% in 0s 97.01 kB/s done 

既存のバケツからファイルを削除します:

$ s3cmd del s3://dev99/*.png 
File s3://dev99/1.png deleted 
File s3://dev99/2.png deleted 
File s3://dev99/3.png deleted 
File s3://dev99/4.png deleted 

ストレージの場所やアクセス制御リストなど、既存のバケツに関する情報を取得します:

$ s3cmd info s3://dev99 
s3://dev99/ (bucket): 
Location: us-east-1 
ACL: dan.nanni: READ 
ACL: dan.nanni: WRITE 
ACL: dan.nanni: READ_ACP 
ACL: dan.nanni: WRITE_ACP 

既存のバケットにアップロードした後に暗号化されたファイル:

$ s3cmd -e put encrypt.png s3://dev99 
/tmp/tmpfile-pzT1zV3kLZlxDwqA0kwy -> s3://dev99/encrypt.png [1 of 1] 
196890 of 196890 100% in 1s 99.51 kB/s done 

s3cmdで暗号化されたファイルをダウンロードする場合、自動的に暗号化を検出し、ダウンロードプロセス中に暗号化を解除します:

$ s3cmd get s3://dev99/encrypt.png 
s3://dev99/encrypt.png -> ./encrypt.png [1 of 1] 
196890 of 196890 100% in 1s 131.29 kB/s done 

既存のバケツを削除します:

$ s3cmd rb s3://dev99 
Bucket  ://dev99/’ removed 

空でないバケツは削除できないことに注意してください。

Read next

モバイル接続でクラウドサービス NETGEAR新ストレージ製品フルシリーズ

ビッグデータ時代において、データ量は飛躍的に増加しており、ストレージ製品のデータ保存効率が非常に重要になります。 ReadyNASのオートシンプロビジョニング、データ圧縮、無制限スナップショットは、データ保存効率を向上させる重要な武器になります。クラウドによって時代が変化する中、NETGEARは最初のチャンスをつかむために一連のクラウドサービスを開始しました。

Jul 5, 2025 · 4 min read