2022/06/24

AWSのS3とは?CLIを使用するメリットやCLIを使ったS3へのファイルアップロード手順を紹介!

 
  

S3とは?

S3(Simple Storage Service)とは、AWSが提供するオブジェクトストレージサービスです。S3はバックアップおよび復元、アーカイブ、エンタープライズアプリケーションなど様々なユースケースに沿ってデータを保存することが可能です。

保存時は、アクセス制御を細かく調整するために使いやすい機能が提供されています。また、99.999999999% (9×11) の耐久性を実現するように設計されており、世界中の企業のために、何百万ものデータを保存しています。

S3の概念と用語

S3を使用する上で、理解しておく必要のある重要な概念と用語について説明します。

[バケット]
バケットとは、S3に格納されるオブジェクトのコンテナです。
すべてのオブジェクトはバケット内に格納されます。
バケット、キー、バージョン ID の組み合わせで、各オブジェクトを一意に識別します。

[オブジェクト]
オブジェクトとは、S3に格納される基本エンティティです。
オブジェクトは、オブジェクトデータとメタデータで構成されます。

[キー]
キーとは、バケット内のオブジェクトの識別子です。
バケット内のすべてのオブジェクトは、厳密に1個のキーを持ちます。

[リージョン]
S3で作成したバケットを保存する地理的なリージョンを選択できます。
レイテンシーを最適化し、コストを最小限に抑えて規制用件に対応できるリージョンを
選ぶとよいでしょう。

AWS CLIを利用するメリット

AWSは、マネージメントコンソールを利用したGUIによる操作のほか、AWS CLIで操作する方法もあります。

AWS CLIは、AWSサービスを管理するための統合ツールで、専用ツールを使用して、コマンドラインから複数のサービスを制御できます。また、スクリプトを使用して自動化することも可能です。

AWS CLIの導入における前提条件

WindowsにAWSCLIバージョン2をインストールする前に、次の2点があることを確認してください。

・64ビットバージョンのWindows XP以降
・ソフトウェアをインストールするための管理者権限

AWS CLIのインストール手順

CLIを使ってS3へファイルをアップロードするには、AWS CLIをインストールする必要があります。

本手順では、Windowsへ導入することを想定しています。

下記手順でインストールしましょう。

1.インストーラーのダウンロード
Windows用のAWSCLI MSIインストーラー(64ビット)をダウンロードします。
https://awscli.amazonaws.com/AWSCLIV2.msi

2.インストール
ダウンロードしたMSIインストーラーを実行し、画面の指示に従います。

3.インストールされたか確認
インストールをされているかの確認は、[スタート]メニューを開き、[cmd]と検索してコマンドプロンプトウィンドウを開き、コマンドプロンプトで下記コマンドを使用します。

aws --version

コマンドを実行してベージョンが表示されれば、正常にインストールされているためAWSのCLI 操作が可能な状態になります。

表示例:aws-cli/2.1.20 Python/3.7.9 Windows/10 exe/AMD64 prompt/off

CLIを使ったS3のアップロード手順

それでは、AWS CLIを使ってS3へファイルをアップロードする手順を説明します。

1.バケットの作成
バケットを作成するには、下記コマンドを使用します。

aws s3 mb s3://<作成するバケット名>

ファイルをアップロードするバケットを作成しましょう。
test-bucket という名前の新しいバケットを作成する場合下記コマンドを実行します。

実行例:

aws s3 mb s3://test-bucket

注:バケットの名前は、他のAWS ユーザーと同じ名前をつけることはできません
他のユーザと同じ名前をつけようとするとエラーになります。

2.バケットが正常に作成されたかを確認
先程作成したバケットが正常に作成されているかを確認しましょう。
下記コマンドを実行することで作成されているバケットの一覧を確認することが可能です。

aws s3 ls

下記のように、先頬作成したベケット名が表示されているか確認しましょう。

実行結果の例:

2020-01-23 19:09:53 test-bucket

3. ファイルのアップロード
バケットにファイルをアップロードするには、下記コマンドを使用します。

aws s3 cp <アップロード対象ファイルの場所> s3://<アップロード先のバケット>

PC内のローカルディレクトリ (C:\users) の test.txtファイルを S3 のバケット test-bucket に
アップロードする場合、下記のコマンドを実行します。

実行例:

aws s3 cp “C:\users\test.txt” s3://test-bucket/

4.アップロードされたかを確認
先程作成したファイルが正常に作成されているかを確認しましょう。
下記コマンドを実行することでアップされているファイルの一覧を確認することが可能です。

aws s3 ls s3://test-bucket/test.txt/

下記のように、先頬アップロードしたファイル名が表示されているか確認しましょう。

実行結果の例:

2018-12-06 18:59:32 3 test-bucket

その他のコマンド

その他のコマンドを紹介しますので、是非参考にしてみて下さい。

・バケットの削除
バケットを削除するには、下記コマンドを使用します。

aws s3 rb <削除するバケット> [--options]

[test-bucket]というバケットを削除する場合、下記のコマンドを実行します。

実行例:

aws s3 rb s3://test-bucket

注:上記コマンドを実行するにはバケットが空にする必要があります。
空でないバケットを削除するには下記のように、–force オプションを指定する必要があります。

aws s3 rb s3://test-bucket --force

・オブジェクトの削除
バケット内またはローカルディレクトリ内のオブジェクトを削除するには、下記コマンドを使用します。

aws s3 rm  <削除するオブジェクト名> [--options]

s3://test-bucket/からtest.txtを削除する場合、下記のコマンドを実行します。

実行例:

aws s3 rm s3://test-bucket/test.txt

・オブジェクトの移動
バケットまたはローカルディレクトリからオブジェクトを移動するには、下記コマンドを使用します。

aws s3 mv <移動するオブジェクト> <移動先> [--options]

次の例では、すべてのオブジェクトを s3://test-bucket/example から s3://my-bucket に移動します。

aws s3 mv s3://test-bucket/example s3://my-bucket/

現在の作業ディレクトリからバケットにファイルを移動するには、下記コマンドを使用します。

aws s3 mv test-file.txt s3://test-bucket

逆に、S3 バケットから現在の作業ディレクトリにファイルを移動するには、下記コマンドを使用します。
(./ で現在の作業ディレクトリを指定します)。

$ aws s3 mv s3://test-bucket/test-file.txt ./

CLIを利用してS3へ複数ファイルをアップロードしてみよう!

ここでは、AWS CLIを利用してS3(Simple Storage Service)へファイルをアップロードする方法について解説しました。

AWS CLIを利用することでAWSマネージコンソールを活用したときより多く、迅速に多くの
ファイルをアップロードすることができます。

S3へ複数ファイルをアップロードする場合は、是非CLIを利用してアップロードをしましょう。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】