呼び出しAWSの環境からのサービスAWS Cloud9 - AWS Cloud9

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

呼び出しAWSの環境からのサービスAWS Cloud9

を呼び出すにはAWSサービスからAWS Cloud9開発環境。たとえば、次の操作を実行できます。

  • Amazon Simple Storage Service (Amazon S3) バケットにデータをアップロードしてダウンロードします。

  • Amazon Simple Notification Service (Amazon SNS) トピックを使用してブロードキャスト通知を送信します。

  • Amazon DynamoDB (DynamoDB) データベースのデータの読み取り/書き込みを行う。

を呼び出すにはAWSサービスは、いくつかの方法で環境に保存してください。たとえば、AWS Command Line Interface (AWS CLI) または aws-shell を使用して、ターミナルセッションからコマンドを実行できます。または、を呼び出すこともできますAWSを使用して、環境内で実行するコードからAWSJavaScript、Python、Ruby、PHP、Go、C++ などのプログラミング言語に SDK がある。詳細については、「」を参照してください。AWS CLIおよび aws-shell のサンプルとすると、AWS Command Line Interfaceユーザーガイドであり、AWSSDK

毎回、AWS CLI、aws-shell、コードでAWSサービス、AWS CLIaws-shell、またはコードは、AWSは、呼び出しとともに認証情報にアクセスします。これらの認証情報は、呼び出し元にその呼び出しを行う適切なアクセス許可があるかどうかを判別します。認証情報に適切なアクセス権限がない場合は、呼び出しは失敗します。

環境に認証情報を提供するには、いくつかの方法があります。次の表は、いくつかのアプローチについて説明します。

環境タイプ アプローチ

EC2

を使用するAWS管理の一時認証情報。

EC2 環境にはこのアプローチをお勧めします。AWS管理の一時認証情報の管理AWSは、ユーザーに代わって EC2 環境の認証情報にアクセスします。AWSセキュリティのベストプラクティス。

EC2 環境を使用している場合は、このトピックの残りの部分はスキップできます。これは、AWS管理の一時認証情報が環境内ですでに設定されています。

詳細については、「」を参照してください。AWS管理の一時認証情報

EC2

IAM インスタンスプロファイルをインスタンスにアタッチします。

この方法は、何らかの理由でを使用できない場合にのみ使用してください。AWS管理の一時認証情報。と同様です。AWS管理された一時的な認証情報を管理する場合、インスタンスプロファイルはAWSユーザーに代わって認証情報にアクセスします。ただし、インスタンスプロファイルを作成して管理し、Amazon EC2 インスタンスにアタッチする必要があります。

手順については、「インスタンスプロファイルを作成して使用し一時認証情報を管理する」を参照してください。

EC2 または SSH

永久保存を保存するAWS環境内の認証情報にアクセスします。

このアプローチは、一時的なAWSアクセス認証情報です。ただし、SSH 環境で唯一サポートされているアプローチです。

手順については、「環境で永続的認証情報を作成して保存する」を参照してください。

EC2 または SSH

パーマネントを挿入AWS認証情報に直接アクセスします。

このアプローチは従わないため、推奨しません。AWSセキュリティのベストプラクティス。

このアプローチは推奨しないため、このトピックでは説明しません。

インスタンスプロファイルを作成して使用して一時的な認証情報を管理する

注記

この手順を使用することはできません。AWS Cloud9SSH 開発環境。代わりに、「環境で永続的認証情報を作成して保存する」までスキップしてください。

を使用することをお勧めします。AWSインスタンスプロファイルではなく、一時認証情報を管理します。何らかの理由でを使用できない場合にのみ、以下の手順に従ってください。AWS管理の一時認証情報。詳細については、「」を参照してください。AWS管理の一時認証情報

この手順では、IAM と Amazon EC2 を使用して IAM インスタンスプロファイルを作成し、環境に接続する Amazon EC2 インスタンスにアタッチします。このインスタンスプロファイルは、ユーザーに代わって一時的な認証情報を管理します。この手順は、環境が既に作成されていることを前提としています。AWS Cloud9。環境を作成するには、」環境を作成する

これらのタスクは、IAM および Amazon EC2 コンソールまたはAWSコマンドラインインターフェイス (AWS CLI)

IAM コンソールを使用してインスタンスプロファイルを作成する

注記

インスタンスプロファイルを含む IAM ロールがすでにある場合は、この手順をスキップして「」Amazon EC2 コンソールを使用してインスタンスプロファイルをインスタンスにアタッチする

  1. IAM コンソール (IAM コンソール) にサインインします。https://console.aws.amazon.com/iam

    このステップでは、IAM 管理者レベルの認証情報を使用して、AWSアカウント. これを実行できない場合は、AWS アカウントの管理者に確認してください。

  2. ナビゲーションバーで [ロール] を選択します。

    注記

    IAM コンソールを使用してインスタンスプロファイルを単独で作成することはできません。インスタンスプロファイルを含む IAM ロールを作成する必要があります。

  3. [ロールの作成] を選択します。

  4. リポジトリの []信頼されたエンティティのタイプを選択ページで、AWSserviceすでに選択されています。このロールを使用するサービスを選択] で、[EC2

  5. [ユースケースの選択] で、[EC2] を選択します。

  6. [Next: (次へ:)] を選択します アクセス許可.

  7. リポジトリの []アクセス許可ポリシーをアタッチするページのポリシーのリストで、[] の横にあるチェックボックスをオンにします。AdministratorAccessを選択してから、[] を選択します。次へ: 確認.

    注記

    -AdministratorAccessポリシーでは、すべてのAWSアクションとリソースをAWSアカウント. これは実験目的でのみ使用してください。詳細については、「」を参照してください。IAM ポリシー()IAM ユーザーガイド

  8. リポジトリの []確認ページの [] ページでロール名に、ロールの名前 (たとえば、my-demo-cloud9-instance-profile).

  9. [Create Role (ロールの作成)] を選択します。

Amazon EC2 コンソールを使用してインスタンスプロファイルをインスタンスにアタッチする」に進みます。

インスタンスプロファイルを作成するには、AWS CLI

注記

インスタンスプロファイルを含む IAM ロールがすでにある場合は、この手順をスキップして「」を使用してインスタンスプロファイルをインスタンスにアタッチするAWS CLI

このトピックでは、設定することをお勧めします。AWS CLIIAM 管理者レベルの認証情報を使用して、AWSアカウント. これを実行できない場合は、AWS アカウントの管理者に確認してください。

注記

使用している MSAWS管理の一時認証情報でターミナルセッションを使用することはできません。AWS Cloud9IDE を使用して、このセクションのコマンドの一部またはすべてを実行します。宛先AWSセキュリティのベストプラクティスAWS管理の一時認証情報では、いくつかのコマンドを実行することができません。代わりに、AWS Command Line Interface (AWS CLI) の別のインストールからこれらのコマンドを実行できます。

  1. の信頼関係を定義します。AWSインスタンスプロファイルの必須および IAM ロールを確認します。これを行うには、次の内容のファイルを作成して保存します (たとえば、my-demo-cloud9-instance-profile-role-trust.json).

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. ターミナルまたはコマンドプロンプトを使用して、このファイルを保存したディレクトリに切り替えます。

  3. インスタンスプロファイルの IAM ロールを作成します。これを行うには、IAM を実行create-roleコマンドを使用して、新しい IAM ロールの名前 (たとえばmy-demo-cloud9-instance-profile-role)、先ほど保存したファイルの名前が表示されます。

    aws iam create-role --role-name my-demo-cloud9-instance-profile-role --assume-role-policy-document file://my-demo-cloud9-instance-profile-role-trust.json
  4. アタッチAWSインスタンスプロファイルの IAM ロールにアクセス許可します。これを行うには、IAM を実行attach-role-policyコマンドを使用して、既存の IAM ロールの名前と、AWS管理ポリシーAdministratorAccess

    aws iam attach-role-policy --role-name my-demo-cloud9-instance-profile-role --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
    注記

    -AdministratorAccessポリシーでは、すべてのAWSアクションとリソースをAWSアカウント. これは実験目的でのみ使用してください。詳細については、「」を参照してください。IAM ポリシー()IAM ユーザーガイド

  5. インスタンスプロファイルを作成します。これを行うには、新しい IAM インスタンスプロファイルの名前を指定する IAM create-instance-profile コマンド (たとえば my-demo-cloud9-instance-profile) を実行します。

    aws iam create-instance-profile --instance-profile-name my-demo-cloud9-instance-profile
  6. インスタンスプロファイルに IAM ロールをアタッチします。これを行うには、IAM を実行add-role-to-instance-profile既存の IAM ロールとインスタンスプロファイルの名前を指定します。

    aws iam add-role-to-instance-profile --role-name my-demo-cloud9-instance-profile-role --instance-profile-name my-demo-cloud9-instance-profile

に進んでください。を使用してインスタンスプロファイルを作成するAWS CLI。

Amazon EC2 コンソールを使用してインスタンスプロファイルをインスタンスにアタッチする

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2

    このステップでは、IAM 管理者レベルの認証情報を使用して、AWSアカウント. これを実行できない場合は、AWS アカウントの管理者に確認してください。

  2. ナビゲーションバーで、リージョンセレクターにAWSご使用の環境に適合するリージョン。たとえば、米国東部 (オハイオ) リージョンの環境を作成した場合は、[米国東部 (オハイオ)もここにあります。

  3. [実行中のインスタンス] リンク、またはナビゲーションペインで [インスタンス] を展開して、[インスタンス] を選択します。

  4. インスタンスのリストで、名前に環境名が含まれています。たとえば、環境名がmy-demo-environmentでインスタンスを選択し、名前を含むマイデモ環境

  5. [アクション]、[インスタンスの設定]、[IAM ロールの割り当て/置換] の順に選択します。

    注記

    インスタンスにロールをアタッチしていても、ロールにはインスタンスプロファイルが含まれています。

  6. [IAM ロールの割り当て/置換] ページの [IAM ロール] で前の手順で作成したロールの名前を選択し、[適用] を選択します。

  7. 環境に戻って、AWS CLIを実行するには、次の操作を実行します。aws configureコマンドまたは aws-shell を実行してconfigureコマンド。の値を指定しないでください。AWSアクセスキー IDまたはAWSシークレットアクセスキーキーを押します。Enterの各プロンプトの後に)。を使用する場合デフォルトリージョン名[] を指定します。AWS自分に最も近い地域、または自分のAWSリソースが配置されています。たとえば、米国東部 (オハイオ) リージョンの場合は、us-east-2 を使用します。リージョンのリストについては、AWSのリージョンとエンドポイント()Amazon Web Services 全般的なリファレンス。オプションで、[Default output format (デフォルト出力形式)] の値を指定します (json など)。

これで、呼び出しを開始できます。AWSサービスを環境から削除します。を使用するにはAWS CLI、aws-shell、またはその両方を呼び出すにはAWSサービスの詳細については、」AWS CLIおよび aws-shell のサンプル。を呼び出すにはAWSのサービスをコードから呼び出すには、他のチュートリアルおよびサンプル

インスタンスプロファイルをインスタンスにアタッチするAWS CLI

注記

使用している MSAWS管理の一時認証情報でターミナルセッションを使用することはできません。AWS Cloud9IDE を使用して、このセクションのコマンドの一部またはすべてを実行します。宛先AWSセキュリティのベストプラクティスAWS管理の一時認証情報では、いくつかのコマンドを実行することができません。代わりに、AWS Command Line Interface (AWS CLI) の別のインストールからこれらのコマンドを実行できます。

  1. Amazon EC2 を実行associate-iam-instance-profileコマンドを実行して、インスタンスプロファイルの名前と ID、AWS環境の Amazon EC2 インスタンスのリージョン ID。

    aws ec2 associate-iam-instance-profile --iam-instance-profile Name=my-demo-cloud9-instance-profile --region us-east-2 --instance-id i-12a3b45678cdef9a0

    上記のコマンドで、us-east-2とAWSインスタンスのリージョン ID とi-12a3b45678cdef9a0インスタンス ID を。

    インスタンス ID を取得するには、たとえば Amazon EC2 コマンドを実行します。describe-instancesコマンドで、名前とAWS環境のリージョン ID。

    aws ec2 describe-instances --region us-east-2 --filters Name=tag:Name,Values=*my-environment* --query "Reservations[*].Instances[*].InstanceId" --output text

    上記のコマンドで、us-east-2とAWSインスタンスのリージョン ID とmy-environmentは環境の名前に置き換えます。

  2. 環境に戻って、AWS CLIを実行するには、次の操作を実行します。aws configureコマンドまたは aws-shell を実行してconfigureコマンド。の値を指定しないでください。AWSアクセスキー IDまたはAWSシークレットアクセスキーキーを押します。Enterの各プロンプトの後に)。を使用する場合デフォルトリージョン名[] を指定します。AWS自分に最も近い地域、または自分のAWSリソースが配置されています。たとえば、米国東部 (オハイオ) リージョンの場合は、us-east-2 を使用します。リージョンのリストについては、AWSのリージョンとエンドポイント()Amazon Web Services 全般的なリファレンス。オプションで、[Default output format (デフォルト出力形式)] の値を指定します (json など)。

これで、呼び出しを開始できます。AWSサービスを環境から削除します。を使用するにはAWS CLI、aws-shell、またはその両方を呼び出すにはAWSサービスの詳細については、」AWS CLIおよび aws-shell のサンプル。を呼び出すにはAWSのサービスをコードから呼び出すには、他のチュートリアルおよびサンプル

永続的なアクセス資格情報の作成と環境への保存

注記

使用している MSAWS Cloud9EC2 開発環境では、AWSの代わりに、一時的な認証情報を管理するAWS永続アクセス認証情報。を使用するにはAWS管理の一時認証情報の詳細については、AWS管理の一時認証情報

このセクションでは、AWS Identity and Access Management(IAM) を使用して、永続的な認証情報のセットを生成し、AWS CLI、aws-shell、またはコードはAWSのサービス。このセットには、AWSアクセスキー ID およびAWSのユーザーに固有のシークレットアクセスキー。AWSアカウント. を既にAWSアクセスキー ID およびAWSシークレットアクセスキーに保存してください。環境に永続的アクセス認証情報を保存する

永続的認証情報のセットは、IAM コンソールまたはAWS CLI

コンソールで永続的なアクセス認証情報を作成する

  1. IAM コンソール (IAM コンソール) にサインインします。https://console.aws.amazon.com/iam

    このステップでは、IAM 管理者レベルの認証情報を使用して、AWSアカウント. これを実行できない場合は、AWS アカウントの管理者に確認してください。

  2. ナビゲーションバーで [ユーザー] を選択します。

  3. ユーザーのリストで、チームセットアップで作成または特定したユーザーの名前を選択します。

  4. [Security credentials] タブを選択します。

  5. [アクセスキー] で、[アクセスキーの作成] を選択します。

  6. [アクセスキーの作成] ページで [表示] を選択し、[アクセスキー ID] と [シークレットアクセスキー] の値を書き留めます。また、選択することをお勧めします。.csv ファイルのダウンロード安全な場所にこれらの認証情報を保存します。

環境で永続的認証情報を作成して保存する」に進みます。

永続的なアクセス認証情報を作成するには、AWS CLI

注記

このセクションでは、設定することをお勧めします。AWS CLIで IAM 管理者レベルの認証情報を使用してAWSアカウント. これを実行できない場合は、AWS アカウントの管理者に確認してください。

注記

使用している MSAWS管理の一時認証情報でターミナルセッションを使用することはできません。AWS Cloud9IDE を使用して、このセクションのコマンドの一部またはすべてを実行します。宛先AWSセキュリティのベストプラクティスAWS管理の一時認証情報では、いくつかのコマンドを実行することができません。代わりに、AWS Command Line Interface (AWS CLI) の別のインストールからこれらのコマンドを実行できます。

IAM を実行するcreate-access-keyコマンドを使用して、新しいAWSアクセスキーと対応するAWSユーザーのシークレットアクセスキー。

aws iam create-access-key --user-name MyUser

前述のコマンドでは、MyUser をユーザーの名前に置き換えます。

表示される AccessKeyIdSecretAccessKey の値を安全な場所に保存します。IAM を実行した後create-access-keyコマンドを使用できるのは今回だけです。AWS CLIをクリックして、ユーザーのAWSシークレットアクセスキー。新しいを作成するにはAWSユーザーのシークレットアクセスキーを、後で必要に応じて使用してください。アクセスキーの作成、修正、および表示 (API、CLI、PowerShell)()IAM ユーザーガイド

環境への永続的なアクセス資格情報の保存

この手順では、AWS Cloud9IDE を使用して、パーマネントを保存するAWS環境内の認証情報にアクセスします。この手順は、環境が既に作成されていることを前提としています。AWS Cloud9、環境を開き、AWS Cloud9IDE で Web ブラウザを実行します。詳細については、「環境を作成する」と「環境を開く」を参照してください。

注記

次の手順では、環境変数を使用して永続的なアクセス認証情報を保存する方法を示します。使用している IDAWS CLI環境にインストールされている aws-shell を使用している場合は、 aws configure のコマンドAWS CLIまたは configure コマンドを使用して、代わりに永続的なアクセス認証情報を保存します。手順については、以下を参照してください。クイック設定()AWS Command Line Interfaceユーザーガイド

  1. 環境を開いた状態で、AWS Cloud9IDE で新しいターミナルセッションを起動します (まだ起動していない場合)。新しいターミナルセッションを開始するには、メニューバーで、[Window (ウィンドウ)]、[New Terminal (新しいターミナル)] の順に選択します。

  2. 一度に 1 つのコマンドを実行して、永続的なアクセス認証情報を表すローカル環境変数を設定します。これらのコマンドでは、AWS_ACCESS_KEY_ID:] で、AWSアクセスキー ID。AfterAWS_SECRET_ACCESS_KEY] で、AWSシークレットアクセスキー。AfterAWS_DEFAULT_REGION_IDに、入力AWS関連付けられたリージョン識別子AWSあなたに最も近い地域(またはあなたの好みのAWSリージョン)。使用可能な ID のリストについては、AWSのリージョンとエンドポイント()Amazon Web Services 全般的なリファレンス。たとえば、米国東部 (オハイオ) リージョンの場合は、us-east-2 を使用します。

    export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export AWS_DEFAULT_REGION=
  3. 前述の環境変数は、ターミナルセッションにおいてのみ有効になります。これらの環境変数をターミナルセッション間で利用できるようにするには、以下のように、それらをユーザー環境変数としてシェルプロファイルファイルに追加する必要があります。

    1. 環境ウィンドウで歯車アイコンを選択し、お気に入りにホームを表示。このステップを繰り返して、[Show Hidden Files (隠しファイルを表示する)] も同様に選択します。

    2. ~/.bashrc ファイルを開きます。

    3. ファイルの末尾に次のコードを入力するか貼り付けます。これらのコマンドでは、AWS_ACCESS_KEY_ID:] で、AWSアクセスキー ID。AfterAWS_SECRET_ACCESS_KEY] で、AWSシークレットアクセスキー。AfterAWS_DEFAULT_REGION_IDに、入力AWS関連付けられたリージョン識別子AWSあなたに最も近い地域(またはあなたの好みのAWSリージョン)。使用可能な ID のリストについては、AWSのリージョンとエンドポイント()Amazon Web Services 全般的なリファレンス。たとえば、米国東部 (オハイオ) リージョンの場合は、us-east-2 を使用します。

      export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export AWS_DEFAULT_REGION=
    4. ファイルを保存します。

    5. ~/.bashrc ファイルにこれらの新しい環境変数をロードします。

      . ~/.bashrc

これで、呼び出しを開始できます。AWSサービスを環境から削除します。を使用するにはAWS CLIまたは aws-shell を呼び出してAWSサービスの詳細については、」AWS CLIおよび aws-shell のサンプル。を呼び出すにはAWSのサービスをコードから呼び出すには、他のチュートリアルおよびサンプル