Amazon Elastic Compute Cloud (Amazon EC2) の Amazon DynamoDB テーブルと連携するように AWS コマンドラインインターフェイス (AWS CLI) を設定したいと考えています。
解決策
AWS Identity and Access Management (IAM) ロールを作成します。
IAM ロールを作成するには、以下を実行します。
- [Select type of trusted entity] (信頼できるエンティティのタイプを選択) で、[AWS service] (AWS サービス) を選択し、次に**[EC2]**を選択します。
- [Attach permissions policies] (アクセス権限ポリシーをアタッチ) で、[AmazonDynamoDBFullAccess] を選択します。
注:タスクを実行する権限を最小限に抑えるというセキュリティのベストプラクティスに従ってください。
IAM ロールを Amazon EC2 インスタンスにアタッチする
1. Amazon Linux Amazon マシンイメージ (AMI) を使用して EC2 インスタンスを起動します。Linux AMI には AWS CLI がインストールされています。
2. [Configure Instance Details] (インスタンスの詳細の設定) ページの** [IAM role]** (IAM ロール) ドロップダウンリストで、先に作成したIAM ロールを選択します。選択したサブネットがインターネットからアクセス可能であることを確認してください。
3. [Configure Security Group] (セキュリティグループの設定) ページで、必ず IP アドレスからの SSH アクセスを許可するセキュリティグループを選択してください。
SSHを使用してインスタンスに接続します。
1. SSH を使用して Linux インスタンスに接続します。
2. 接続したら、yum updateコマンドを実行して、インスタンスのソフトウェアパッケージが最新であることを確認します。
AWS CLI を設定します
1. AWS CLI のaws configureコマンドを実行します。
2. AWS アクセスキー IDとAWS シークレットアクセスキーの入力を求められたら、[Enter] キーを押します。AWS サービスへの接続にはインスタンスの IAM ロールを使用しているため、キーを提供する必要はありません。
3. デフォルトリージョン名の入力を求められたら、DynamoDB テーブルが配置されているリージョンを入力します。たとえば、ap-northeast-3 などです。リージョン名のリストについては、「サービスエンドポイント」を参照してください。
4. デフォルトの出力形式の入力を求められたら、**[Enter]**キーを押します。
5. list-tablesコマンドを実行して、AWS CLI で DynamoDB コマンドを実行できることを確認します。
注: AWS CLI コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
関連情報
DynamoDB で AWS CLI を使用する