ステップ 1: AWS CLI を使用して、DAX から DynamoDB にアクセスするための IAM サービスロールを作成する
Amazon DynamoDB Accelerator (DAX) クラスターを作成する前に、クラスター用のサービスロールを作成する必要があります。サービスロールは、ユーザーに代わって AWS のサービスを承認する AWS Identity and Access Management (IAM) ロールです。サービスロールは、ユーザーがテーブルそのものにアクセスしているかのように、DAX に DynamoDB テーブルへのアクセスを許可します。
このステップでは、IAM ポリシーを作成し、次にそのポリシーを IAM ロールにアタッチします。こうすることで、DAX クラスターにロールを割り当て、ユーザーの代わりに DynamoDB オペレーションを実行させることができます。
DAX の IAM サービスロールを作成するには
次の内容で、
service-trust-relationship.json
というファイルを作成します。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dax.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
サービスロールを作成します。
aws iam create-role \ --role-name DAXServiceRoleForDynamoDBAccess \ --assume-role-policy-document file://service-trust-relationship.json
-
次の内容で、
service-role-policy.json
というファイルを作成します。{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dynamodb:DescribeTable", "dynamodb:PutItem", "dynamodb:GetItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:BatchGetItem", "dynamodb:BatchWriteItem", "dynamodb:ConditionCheckItem" ], "Effect": "Allow", "Resource": [ "arn:aws:dynamodb:us-west-2:
accountID
:*" ] } ] }accountID
をご自分の AWS アカウント ID に置き換えます。AWS アカウント ID を見つけるには、コンソールの右上隅で、ログイン ID を選択します。ドロップダウンメニューに AWS アカウント ID が表示されますこの例の Amazon リソースネーム (ARN) では、
accountID
は 12 桁の数字である必要があります。ハイフンなどの区切り文字を使用しないでください。 -
サービスロールの IAM ポリシーを作成します。
aws iam create-policy \ --policy-name DAXServicePolicyForDynamoDBAccess \ --policy-document file://service-role-policy.json
出力では、以下の例のように、作成したポリシーの ARN に注意してください。
arn:aws:iam::123456789012:policy/DAXServicePolicyForDynamoDBAccess
ポリシーをサービスロールにアタッチします。以下のコードにある
arn
を、前のステップで書き留めた実際のロール ARN に置き換えます。aws iam attach-role-policy \ --role-name DAXServiceRoleForDynamoDBAccess \ --policy-arn
arn
次に、デフォルト VPC のサブネットグループを指定します。サブネットグループは、VPC 内の 1 つ以上のサブネットのコレクションです。「」を参照してくださいステップ 2: サブネットグループの作成