チュートリアル: ローカルマシンと AWS CloudShell の間で複数のファイルをコピーする - AWS CloudShell

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

チュートリアル: ローカルマシンと AWS CloudShell の間で複数のファイルをコピーする

CloudShell このインターフェイスを使用して、ローカルマシンとシェル環境の間で一度に 1 つのファイルをアップロードまたはダウンロードできます。 CloudShellとローカルマシン間で複数のファイルを同時にコピーするには、次のいずれかのオプションを使用します。

  • Amazon S3: ローカルマシンと間でファイルをコピーするときは、S3 CloudShell バケットを仲介として使用します。

  • Zip ファイル: CloudShell インターフェイスを使用してアップロードまたはダウンロードできる 1 つの zip フォルダに複数のファイルを圧縮します。

注記

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

Amazon S3 を使用した複数のファイルのアップロードとダウンロード

前提条件

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

  • s3:CreateBucket

  • s3:PutObject

  • s3:GetObject

Amazon S3 のアクション一覧については、Amazon Simple Storage Service API リファレンスの「アクション」を参照してください。

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

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

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

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

    { "Location": "/your-bucket-name" }
  2. ローカルマシンからバケットにディレクトリ内のファイルをアップロードします。次のいずれかのオプションを選択して、ファイルをアップロードします。

    • AWS Management Console: drag-and-drop バケットにファイルとフォルダをアップロードするために使用します。

    • AWS CLI: ローカルマシンにインストールされているバージョンのツールで、コマンドラインを使用してファイルとフォルダをバケットにアップロードします。

    Using the console
    • https://s3.console.aws.amazon.com/s3/ にある Amazon S3 コンソールを開きます。

      (AWS CloudShell を使用する場合、コンソールに既にログインしている必要があります。)

    • 左側のナビゲーションペインで、[バケット] を選択してから、フォルダまたはファイルのアップロード先のバケットの名前を選択します。Create bucket を選択して、お好みのバケットを作成することもできます

    • アップロードするファイルとフォルダを選択するには、[アップロード] を選択します。次に、ターゲットバケット内のオブジェクトを一覧表示するコンソールウィンドウ内に選択内容をドラッグアンドドロップするか、[ファイルを追加] または [フォルダを追加] を選択します。

      選択したファイルは、[Upload (アップロード)] ページに一覧表示されます。

    • チェックボックスを選択して、追加するファイルを指定します。

    • 選択したファイルをバケットに追加するには、[アップロード] を選択します。

    注記

    コンソールを使用する際の設定オプションの全範囲の詳細については、Amazon Simple Storage Service コンソールユーザーガイドの「S3 バケットにファイルとフォルダをアップロードする方法」を参照してください。

    Using AWS CLI
    注記

    このオプションの場合、ローカルマシンに AWS CLI ツールをインストールし、AWS のサービスを呼び出せるように認証情報を設定しておく必要があります。詳細については、AWS Command Line Interface ユーザーガイドを参照してください。

    • AWS CLI ツールを起動し、次の aws s3 コマンドを実行して、指定したバケットをローカルマシン上の現在のディレクトリの内容と同期します。

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

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

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

    aws s3 sync s3://your-bucket-name folder-path
    注記

    また、--exclude "<value>"--include "<value>"syncコマンドにパラメータを追加してパターンマッチングを実行して、特定のファイルまたはオブジェクトを除外または含めることもできます。

    詳細については、AWS CLIコマンドリファレンスの除外フィルターと包含フィルターの使用」を参照してください。

    同期が成功すると、バケットからディレクトリにダウンロードされたすべてのファイルについて、ダウンロードメッセージが表示されます。

    注記

    新しいファイルおよび更新されたファイルをソースディレクトリから送信先に再帰的にコピーします。

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

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

    aws s3 sync folder-path s3://your-bucket-name
    注記

    また、--exclude "<value>"--include "<value>"syncコマンドにパラメータを追加してパターンマッチングを実行して、特定のファイルまたはオブジェクトを除外または含めることもできます。

    詳細については、AWS CLIコマンドリファレンスの除外フィルターと包含フィルターの使用」を参照してください。

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

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

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

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

    同期が成功すると、宛先ディレクトリに更新または追加された各ファイルのダウンロードメッセージがコマンドラインに表示されます。

    注記

    このオプションの場合、ローカルマシンに AWS CLI ツールをインストールし、AWS のサービスを呼び出せるように認証情報を設定しておく必要があります。詳細については、AWS Command Line Interface ユーザーガイドを参照してください。

zip フォルダを使用した複数のファイルのアップロードとダウンロード

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

プリインストールツールの詳細については、「開発ツールおよびシェルユーティリティ」を参照してください。

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

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

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

  3. [ファイルをアップロードする] ダイアログボックスで、[ファイルを選択] を選択してから、先ほど作成した zip フォルダを選択します。

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

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

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

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

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

    zip -r zipped-archive.zip *
  2. [Actions] の [ダウンロード ファイル] を選択します。

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

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

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