Amazon S3 インターフェイスを使用したファイルの転送 - AWSSnowball Edgeデベロッパーガイド

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

Amazon S3 インターフェイスを使用したファイルの転送

以下は、Snowball 用 Amazon S3 Adapter (Snowball) の概要です。AWS Snowball EdgeAmazon S3 REST API アクションを使用するデバイス。この Amazon S3 REST API サポートはアクションのサブセットのみに限定されています。このアクションのサブセットは、AWSプログラムでデータを転送する SDK。また、サポートされているのサブセットを使用することもできますAWS Command Line Interface(AWS CLI) Amazon S3 がプログラムでデータを転送するためのコマンドです。

お使いのソリューションでバージョン 1.11.0 以降の AWS SDK for Java を使用している場合は、以下の S3ClientOptions を使用しなければなりません。

  • disableChunkedEncoding()— インターフェイスではチャンクエンコーディングがサポートされていないことを示します。

  • setPathStyleAccess(true)— すべてのリクエストに対してパススタイルのアクセスを使用するようインターフェイスを設定します。

詳細については、「」を参照してください。クラス S3ClientOptions.BuilderAmazon AppStream SDK for Java

重要

でローカルバケットにデータを書き込んだりバケットからデータを読み取る場合は、同時に 1 つのメソッドのみ使用することをお勧めします。AWS Snowball Edgeデバイス。ファイルインターフェイスと Amazon S3 Adapter を同じバケットに同時に使用すると、読み取り/書き込み競合が発生する場合があります。

を使用する場合AWSサービスが Snowball Edge 上で正しく動作するためには、サービスのポートを許可する必要があります。詳細については、「使用に必要なポートAWS上のサービスAWS SnowballEdge デバイス」を参照してください。

AWS CLI バージョン 1.16.14 のダウンロードとインストール

現在、Snowball Edge デバイスは、バージョン 1.16.14 以前ののみをサポートしていますAWS CLI。このバージョンの AWS CLI は GitHub からダウンロードしてインストールできます。このタスクを実行するには、次の手順を実行します。

注記

AWS CLI のバージョン 1.16.14 をインストールする前に、Python のバージョン 2.6.5+ または 3.4 をインストールしていることを確認してください。

AWS CLI のバージョン 1.16.14 をダウンロードしてインストールするには

  1. の既存のバージョンをアンインストールするAWS CLI。Linux にインストールする場合、このステップはオプションです。

    • Windows— 詳細については、「」を参照してください。のアンインストールAWS CLIAWS Command Line Interfaceユーザーガイド

    • Linux— Linux にインストールする場合、このステップはオプションです。ただし、AWS CLI の既存インストールをアンインストールするには、ターミナルから以下のコマンドを実行します。

      sudo rm -rf /usr/local/aws sudo rm /usr/local/bin/aws
  2. のダウンロードAWS CLIとして.zip ファイルからのAWSGitHub リポジトリが常駐しています。

  3. 次のいずれかの手順で、1.16.14.zip ファイルから AWS CLI バージョン 1.16.14 をインストールします。

    • Windows

      1. アーカイブをコンピュータのいずれかの場所に抽出します (たとえば、C:\Users\username\aws_cli\aws-cli-1.16.14)。

      2. コマンドプロンプトを開き、アーカイブを抽出したフォルダに移動し、次のコマンドを使用してスクリプトのセットアップを実行します。

        py setup.py install
      3. AWS CLI を PATH 環境変数に追加します。

      これでのバージョン 1.16.14 がインストールされます。AWS CLI。

    • Linux

      1. アーカイブをコンピュータのいずれかの場所に抽出します (たとえば、/home/username/aws_cli/aws-cli-1.16.14)。

      2. ターミナルウィンドウを開き、アーカイブを抽出したディレクトリに移動し、次のコマンドを使用してスクリプトのセットアップを実行します。

        python setup.py install
        注記

        sudo を使用してコマンドを実行する必要がある場合があります。

        このコマンドは、のバージョン 1.16.14 をインストールします。AWS CLIをクリックし、以前にインストールしたファイルで作成されたファイルを上書きします。AWS CLIバージョン。

の使用AWS CLISnowball Edge でのおよび API 操作

を使用するときAWS CLIまたは API オペレーションで Snowball Edge で IAM、Amazon S3、および Amazon EC2 コマンドを発行する場合は、リージョンを」と指定する必要があります。snowball。」 これは、を使用して行うことができますAWS configureまたは、次の例に示すようにコマンド自体内で実行します。

aws configure --profile abc AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: 1234567 Default region name [None]: snow Default output format [None]: json

または

aws s3 ls --profile snowballEdge --endpoint http://192.0.2.0:8080 --region snow

の Amazon S3 API インターフェイスを使用した認証AWS Snowball

Amazon S3 Adapter を Snowball で使用すると、すべてのやりとりは、AWSデフォルトでは、署名バージョン 4 アルゴリズム。この許可は、送信元からインターフェイスに移動するデータを検証するためにのみ使用されます。すべての暗号化と復号はデバイス上で行います。暗号化されていないデータは、デバイスに保存されません。

インターフェイスを使用する際、以下に注意してください。

  • へのリクエストに署名するためにローカル Amazon S3 認証情報を取得するにはAWS Snowball Edgeデバイスで、snowballEdge list-access-keysおよびsnowballEdge get-secret-access-keysSnowball クライアントのコマンド。詳細については、「Snowball クライアントの使用」を参照してください。これらのローカル Amazon S3 認証情報には、アクセスキーとシークレットキーのペアが含まれています。これらのキーは、ジョブに関連付けられたデバイスでのみ有効です。これらは、で使用することはできませんAWS クラウド彼らにはないからAWS Identity and Access Management(IAM) カウンターパート。

  • 暗号化キーは何によって変わることはありませんAWS使用する認証情報。署名バージョン 4 アルゴリズムを使用した署名は、送信元からインターフェイスに移動するデータを検証するためだけに使用されます。したがって、この署名は Snowball でデータを暗号化するために使用される暗号化キーには関係しません。

ローカル Amazon S3 認証情報の取得と使用

Snowball Edge とのやり取りは、すべてAWS署名バージョン 4 の署名アルゴリズム。アルゴリズムの詳細については、を参照してください。署名バージョン 4 の署名プロセスAWS全般のリファレンス

Snowball Edge デバイスへのリクエストに署名するローカル Amazon S3 認証情報を取得するには、snowballEdge list-access-keysおよびsnowballEdge get-secret-access-keySnowball クライアントのコマンド。詳細については、「認証情報の取得」を参照してください。これらのローカル Amazon S3 認証情報には、アクセスキー ID とシークレットキーのペアが含まれています。これらの認証情報は、ジョブに関連付けられたデバイスでのみ有効です。これらは、で使用することはできませんAWS クラウドなぜなら、彼らにはIAMの対応物がないからです。

これらの認証情報をAWSサーバー上の認証情報ファイル。通常、デフォルトの認証情報プロファイルファイルは ~/.aws/credentials にありますが、この場所はプラットフォームごとに異なる場合があります。このファイルは、AWSSDKとによってAWS CLI。ローカル認証情報は、次の例のようにプロファイル名を付けて保存できます。

[snowballEdge] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

S3 インターフェイスをとして指定するAWS CLIエンドポイント

を使用するときAWS CLIにコマンドを発行するにはAWS Snowball Edgeデバイスでは、エンドポイントが Snowball 用 Amazon S3 Adapter であることを指定します。次に示すように、HTTPS エンドポイント、またはセキュリティで保護されていない HTTP エンドポイントの使用を選択できます。

セキュリティで保護された HTTPS エンドポイント

aws s3 ls --profile snowballEdge --endpoint https://192.0.2.0:8443 --ca-bundle path/to/certificate

セキュリティで保護されていない HTTP エンドポイント

aws s3 ls --profile snowballEdge --endpoint http://192.0.2.0:8080

の HTTPS エンドポイントを使用する場合8443では、データはサーバーから Snowball Edge に安全に転送されます。この暗号化は、新しい IP アドレスを取得したときに Snowball Edge によって生成される証明書を使用して行われます。証明書を取得したら、ローカルの ca-bundle.pem ファイルに保存できます。次に、以下に示すように AWS CLI プロファイルを設定し、証明書へのパスを含めます。

証明書をインターフェイスエンドポイントに関連付けるには

  1. Snowball Edge を電源とネットワークに接続し、電源を入れます。

  2. デバイスの起動が終了したら、ローカルネットワークでの IP アドレスを書き留めておきます。

  3. ネットワーク上のターミナルから、Snowball Edge に ping を送信できることを確認します。

  4. ターミナルで snowballEdge get-certificate コマンドを実行します。このコマンドの詳細については、「データ転送の証明書の取得」を参照してください。

  5. snowballEdge get-certificate コマンドの出力をファイルに保存します (例: ca-bundle.pem)。

  6. ターミナルから次のコマンドを実行します。

    aws configure set profile.snowballEdge.ca_bundle /path/to/ca-bundle.pem

この手順を完了したら、次の例のように、これらのローカル認証情報、証明書、および指定されたエンドポイントを使用して CLI コマンドを実行できます。

aws s3 ls --profile snowballEdge --endpoint https://192.0.2.0:8443

Snowball Edge 用にサポートされていない Amazon S3 の機能

Snowball 用 Amazon S3 Adapter を使用して、Amazon S3 API アクションを使用したプログラムで Snowball Edge との間でデータを転送できます。ただし、すべての Amazon S3 転送機能と API アクションが Snowball Edge デバイスで使用できるようにサポートされているわけではありません。サポートされている機能の詳細については、以下を参照してください。

これらのトピックで明示的にリストされていない機能またはアクションはサポートされていません。たとえば、以下の機能とアクションは、Snowball Edge での使用がサポートされていません。

  • TransferManager— このユーティリティは SDK for Java を使用してローカル環境から Amazon S3 にファイルを転送します。サポートされている API アクションの使用を検討してください。AWS CLI代わりに、インターフェイスを使用してコマンドを実行します。

  • GET バケット (List Objects) Version 2— この GET アクションを実装すると、バケット内の一部またはすべて (最大 1,000) のオブジェクトが返されます。GET Bucket (List Objects) バージョン 1 アクションまたは ls AWS CLI コマンドを使用することを検討してください。