

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ローカルマシンと CloudShell の間で複数のファイルをコピーする
<a name="multiple-files-upload-download"></a>

このチュートリアルでは、ローカルマシンと CloudShell の間で複数のファイルをコピーする方法を示します。

 AWS CloudShell インターフェイスを使用して、ローカルマシンとシェル環境の間で一度に 1 つのファイルをアップロードまたはダウンロードできます。CloudShell とローカルマシン間で複数のファイルを同時にコピーするには、次のいずれかのオプションを使用します。
+ Amazon S3: ローカルマシンと CloudShell 間でファイルをコピーするときは、S3 バケットを仲介として使用します。
+ Zip ファイル: CloudShell インターフェイスを使用してアップロードまたはダウンロードできる 1 つの zip フォルダに複数のファイルを圧縮します。

**注記**  
CloudShell は着信インターネットトラフィックを許可しないため、現時点では `scp` または `rsync` などのコマンドを使用してローカルマシンと CloudShell コンピューティング環境の間で複数のファイルをコピーすることはできません。

## Amazon S3 を使用した複数のファイルのアップロードとダウンロード
<a name="multiple-files-S3"></a>

このステップでは、Amazon S3 を使用して複数のファイルをアップロードおよびダウンロードする方法について説明します。

### 前提条件
<a name="prerequesities-s3-multiple-files"></a>

バケットとオブジェクトを操作するには、次の Amazon S3 API アクションを実行するアクセス許可を付与する IAM ポリシーが必要です。
+ `s3:CreateBucket`
+ `s3:PutObject`
+ `s3:GetObject`
+ `s3:ListBucket`

Amazon S3 のアクション一覧については、*Amazon Simple Storage Service API リファレンス*の「[アクション](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)」を参照してください。

## Amazon S3 AWS CloudShell を使用して複数のファイルを にアップロードする Amazon S3


このステップでは、Amazon S3 を使用して複数のファイルをアップロードする方法について説明します。

1. で AWS CloudShell、次の`s3`コマンドを実行して S3 バケットを作成します。

   ```
   aws s3api create-bucket --bucket your-bucket-name --region us-east-1
   ```

   コールが成功すると、コマンドラインに S3 サービスからのレスポンスが表示されます。

   ```
   {
       "Location": "/your-bucket-name"
   }
   ```

1. ローカルマシンからバケットにディレクトリ内のファイルをアップロードします。ファイルをアップロードするために、次のいずれかのオプションを選択します。
   + AWS マネジメントコンソール: ドラッグアンドドロップを使用してフォルダとファイルを S3 バケットにアップロードするには
   + AWS CLI: ローカルマシンにインストールされているバージョンのツールで、コマンドラインを使用してファイルとフォルダをバケットにアップロードします。

------
#### [ Using the console ]
   + [https://s3.console.aws.amazon.com/s3/]( https://s3.console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

     ( を使用している場合は AWS CloudShell、 コンソールに既にログインしている必要があります）。
   +  左のナビゲーションペインで、［**バケット**］を選択し、次にフォルダやファイルのアップロード先のバケット名を選択します。［**バケットの作成**］からも、選択したバケットを作成することができます。
   +  アップロードしたいファイルやフォルダを選択するには、［**アップロード**］を選択します。次に、選択したファイルやフォルダーを宛先バケット内のオブジェクトを一覧表示するコンソールウィンドウ内にドラッグアンドドロップします。または、［**ファイルの追加**］もしくは［**フォルダーの追加**］を選択します。

     選択したファイルは、[**Upload (アップロード)**] ページに一覧表示されます。
   + チェックボックスを選択して、追加するファイルを指定します。
   + ［**アップロード**］を選択して、選択したファイルをバケットに追加します。

**注記**  
コンソールを使用する際の設定オプションの全範囲の詳細については、[Amazon Simple Storage Service コンソールユーザーガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)の「*S3 バケットにファイルとフォルダをアップロードする方法*」を参照してください。

------
#### [ Using AWS CLI ]

**注記**  
このオプションでは、 AWS CLI ツールをローカルマシンにインストールし、 AWS サービスの呼び出し用に認証情報を設定する必要があります。詳細については、「[AWS Command Line Interface ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)」を参照してください。
   +  AWS CLI ツールを起動し、次の`aws s3`コマンドを実行して、指定されたバケットをローカルマシンの現在のディレクトリの内容と同期します。

     ```
     aws s3 sync folder-path s3://your-bucket-name 
     ```

   同期が成功すると、バケットに追加されたすべてのオブジェクトについてアップロードメッセージが表示されます。

------

1. CloudShell コマンドラインに戻り、次のコマンドを入力して、シェル環境のディレクトリを S3 バケットの内容と同期させます。

   ```
   aws s3 sync  s3://your-bucket-name folder-path
   ```
**注記**  
パターンマッチングを実行して特定のファイルやオブジェクトを除外または含めるには、`--exclude "<value>"` や `--include "<value>"` のパラメータを `sync` コマンドに追加します。  
 詳細については、［AWS CLI コマンドリファレンス］の［[除外フィルタと包含フィルタの使用](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html#use-of-exclude-and-include-filters)］を参照してください。

   同期が成功すると、バケットからディレクトリにダウンロードされたすべてのファイルについて、ダウンロードメッセージが表示されます。
**注記**  
新しいファイルおよび更新されたファイルをソースディレクトリから送信先に再帰的にコピーします。

## Amazon S3 AWS CloudShell を使用して から複数のファイルをダウンロードする


このステップでは、Amazon S3 を使用して複数のファイルをダウンロードする方法について説明します。

1.  AWS CloudShell コマンドラインを使用して、次の`aws s3`コマンドを入力して、S3 バケットをシェル環境の現在のディレクトリの内容と同期します。

   ```
   aws s3 sync folder-path s3://your-bucket-name
   ```
**注記**  
パターンマッチングを実行して特定のファイルやオブジェクトを除外または含めるには、`--exclude "<value>"` や `--include "<value>"` のパラメータを `sync` コマンドに追加します。  
 詳細については、［AWS CLI コマンドリファレンス］の［[除外フィルタと包含フィルタの使用](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html#use-of-exclude-and-include-filters)］を参照してください。

   同期が成功すると、バケットに追加されたすべてのオブジェクトについてアップロードメッセージが表示されます。

1. バケットの内容をローカルマシンにダウンロードします。Amazon S3 コンソールは複数のオブジェクトのダウンロードをサポートしていないので、ローカルマシンにインストールされる AWS CLI ツールを使用する必要があります。

    AWS CLI ツールのコマンドラインから、次のコマンドを実行します。

   ```
   aws s3 sync s3://your-bucket-name folder-path
   ```

   同期が成功すると、宛先ディレクトリに更新または追加された各ファイルのダウンロードメッセージがコマンドラインに表示されます。
**注記**  
このオプションでは、 AWS CLI ツールをローカルマシンにインストールし、 AWS サービスの呼び出し用に認証情報を設定する必要があります。詳細については、「[AWS Command Line Interface ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)」を参照してください。

## zip フォルダを使用した複数のファイルのアップロードとダウンロード
<a name="multiple-files-zip"></a>

このステップでは、圧縮フォルダを使用して複数のファイルをアップロードおよびダウンロードする方法について説明します。

zip/unzip ユーティリティを使用すると、単一のファイルとして扱うことができるアーカイブ内の複数のファイルを圧縮できます。ユーティリティは CloudShell コンピューティング環境に事前にインストールされています。

 プリインストールツールの詳細については、「[開発ツールおよびシェルユーティリティ](vm-specs.md#utilities-installed)」を参照してください。

## zip フォルダ AWS CloudShell を使用して複数のファイルを にアップロードする


このステップでは、圧縮フォルダを使用して複数のファイルをアップロードする方法について説明します。

1. ローカルマシンで、アップロードするファイルを zip フォルダに追加します。

1. CloudShell を起動させ、[**アクション**]、[**ファイルのアップロード**] を選択します。

1. [**ファイルのアップロード**] ダイアログボックスで[**ファイルを選択**] を選択し、作成した zip フォルダを選択します。

1. [**ファイルのアップロード**] ダイアログボックスで [**アップロード**] を選択し、選択したファイルをシェル環境に追加します。

1. CloudShell コマンドラインで次のコマンドを実行して、zip アーカイブの内容を指定されたディレクトリに解凍します。

   ```
   unzip zipped-files.zip -d my-unzipped-folder
   ```

## zip フォルダ AWS CloudShell を使用して から複数のファイルをダウンロードする


このステップでは、圧縮フォルダを使用して複数のファイルをダウンロードする方法について説明します。

1. CloudShell コマンドラインで次のコマンドを実行して、現在のディレクトリ内のすべてのファイルを zip フォルダに追加します。

   ```
   zip -r zipped-archive.zip *
   ```

1. [**Actions**] の [**ダウンロード ファイル**] を選択します。

1. [**ファイルのダウンロード**] ダイアログボックスで、zip フォルダのパス (例えば、`/home/cloudshell-user/zip-folder/zipped-archive.zip`など）を入力し、[**ダウンロード**] を選択します。

   パスが正しい場合は、ブラウザのダイアログで zip フォルダを開くか、ローカルマシンに保存するかを選択できます。

1. ローカルマシンで、ダウンロードした zip フォルダの内容を解凍できるようになりました。