IAM ロールを使用して Amazon EC2 にデプロイされたアプリケーションを認証する
この例では、Amazon Elastic Compute Cloud インスタンスにデプロイされたアプリケーションで使用する Amazon S3 アクセス権を持つ AWS Identity and Access Management ロールをセットアップする方法について説明します。
AWS SDK アプリケーションを Amazon Elastic Compute Cloud インスタンスで実行するには、IAM ロールを作成し、そのロールへのアクセス権を Amazon EC2 インスタンスに付与します。詳細については、Amazon EC2 ユーザーガイドの「Amazon EC2 の IAM ロール」を参照してください。
IAM ロールを作成する
開発する AWS SDK アプリケーションは、アクションを実行するために少なくとも 1 つの AWS のサービスにアクセスする可能性があります。アプリケーションを実行するために必要なアクセス許可を付与する IAM ロールを作成します。
この手順では、例として Amazon S3 への読み取り専用アクセスを付与するロールを作成します。多くの AWS SDK ガイドには、Amazon S3 からの読み取りを行う「開始方法」のチュートリアルがあります。
AWS マネジメントコンソール にサインインして、IAM コンソール https://console.aws.amazon.com/iam/
を開きます。 -
ナビゲーションペインで [ロール]、[ロールを作成] の順に選択します。
-
[信頼されたエンティティタイプ] で [信頼されたエンティティを選択] するため、[ AWS のサービス ]を選択します。
-
[Use case] (ユースケース) で [Amazon EC2] を選択し、[Next] (次へ) を選択します。
-
[権限の追加] では、ポリシーリストから [Amazon S3 読み取り専用アクセス] のチェックボックスを選択し、[次へ] を選択します。
-
ロールの名前を入力し、[ロールの作成] を選択します。この名前は Amazon EC2 インスタンスを作成するときに必要になるため、忘れないようにしてください。
Amazon EC2 インスタンスを起動して IAM ロールを指定します
IAM ロールを使用して Amazon EC2 インスタンスを作成し、起動するには、次の手順を実行します。
-
「Amazon EC2 ユーザーガイド」の「インスタンスをすばやく起動する」に従います。ただし、最後の送信のステップの前に、以下も実行します。
-
[高度な詳細] の [IAM インスタンスプロファイル] で、前のステップで作成したロールを選択します。
-
この IAM と Amazon EC2 のセットアップで、Amazon EC2 インスタンスにアプリケーションをデプロイすることができます。これにより、アプリケーションに Amazon S3 サービスへの読み取りアクセスが付与されます。
EC2 インスタンスへの接続
Amazon EC2 インスタンスに接続することで、アプリケーションをそのインスタンスに転送して、アプリケーションを実行できるようにします。インスタンスを作成した際に [キーペア (ログイン)] で使用したキーペアのプライベート部分を含むファイル、すなわち PEM ファイルが必要になります。
これを行うには、お使いのインスタンスタイプ向けのガイダンス、「SSH を使用した Linux インスタンスへの接続」または「RDP を使用した Windows インスタンスへの接続」に従います。接続する際は、開発マシンからインスタンスにファイルを転送できるように接続してください。
注記
Linux または macOS ターミナルでは、セキュアコピーコマンドを使用してアプリケーションをコピーできます。キーペアで scp を使用するには、次のコマンドを使用します。scp -i path/to/key
file/to/copy
ec2-user@ec2-xx-xx-xxx-xxx.compute.amazonaws.com:~
Windows の詳細については、「RDP を使用して Windows インスタンスにファイルを転送する」を参照してください。
Windows で AWS Toolkit を使用している場合は、 Toolkit を使用してインスタンスに接続することもできます。詳細については、 ご利用されている Toolkit の特定のユーザーガイドをご参照ください。
EC2 インスタンスでのアプリケーションの実行
-
ローカルドライブから Amazon EC2 インスタンスにアプリケーションファイルをコピーします。
-
アプリケーションを起動し、開発マシンと同じ実行結果が得られることを確認します。
-
(オプション)アプリケーションで、IAM ロールによって提供されている認証情報が使用されていることを確認します。
AWS マネジメントコンソール にサインインし、Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
インスタンスを選択してください。
-
[アクション]、[セキュリティ]、[IAM ロールを変更] の順に選択します。
-
[IAM ロール] では、[IAM ロールなし] を選択して IAM ロールをデタッチします。
-
[IAM ロールの更新] を選択してください。
-
アプリケーションを再度実行して、認可エラーが返されることを確認します。