Amazon ElastiCache Serverless クラスターを作成するときに発生する問題を解決したいです。
簡単な説明
次の原因で、ElastiCache Serverless クラスターに障害が発生する場合があります。
- AWS Identity and Access Management (IAM) アクセス許可に関する問題がある
- IP アドレスの枯渇
- Virtual Private Cloud (VPC) エンドポイントのクォータ
- ネットワークインターフェイス (NIC) またはセキュリティグループのクォータ
- AWS Key Management Service (AWS KMS) キーのアクセスに関する問題
- サブネットが不十分
解決策
IAM アクセス許可の問題
VPC エンドポイントの作成に必要なアクセス許可がない場合、次のいずれかのエラーメッセージが表示されることがあります。
- クラスターイベント Failed to create cache [cluster-name].You do not have permissions to create a VPC endpoint. (VPC エンドポイントの作成に必要なアクセス許可がありません)
- AWS CloudTrail 次の文言を検索します。errorCode、 Client.UnauthorizedOperation、errorMessage You are not authorized to perform this operation.User: [ARN] is not authorized to perform: ec2:CreateVpcEndpoint on resource: [resource-ARN] with an explicit deny in an identity-based policy. (ID ベースのポリシーに明示的な拒否があるため、ec2:CreateVpcEndpoint を実行できません)
VPC エンドポイントを作成するには、IAM ロールまたはユーザーには必須のアクセス許可が必要です。VPC エンドポイントの作成に必要なアクセス許可があるかどうかを確認するには、CreateVpcEndpoint API を実行する際に DryRun パラメータを使用します。
IP アドレスの枯渇
VPC エンドポイントの作成に十分な IP アドレスがない場合、次のようなエラーメッセージが表示されることがあります。
Failed to create cache [cluster-name].Insufficient free IP addresses to create vpc endpoint. (VPC エンドポイントの作成に十分な空き IP アドレスがありません)
この問題を解決するには、次のいずれかの操作を行います。
- クラスターを別のサブネットにデプロイします。
- IP アドレスを占有している可能性がある、NIC などの使われていないリソースを削除します。
VPC エンドポイントのクォータ
VPC エンドポイント作成のクォータに達した場合、次のいずれかのエラーメッセージが表示されることがあります。
- クラスターイベント Failed to create cache [cluster-name].Quota limit reached for creating VPC endpoint. (VPC エンドポイントの作成がクォータ制限に達しました)
- AWS CloudTrail 次の文言を検索します。errorCode、 Client.VpcEndpointLimitExceeded、errorMessage Limit of [current quota] VPC endpoints per VPC exceeded. (VPCごとの VPC エンドポイント数クォータ制限を超えました)
この問題を解決するには、次の手順を実行してクォータの増加をリクエストしてください。
- お使いの AWS リージョンで Service Quota コンソールを開きます。
- [AWS Services] で [Amazon Virtual Private Cloud (Amazon VPC)] を選択します。
- [VPC ごとのインターフェイス VPC エンドポイント数] を選択し、増加をリクエストします。
NIC またはセキュリティグループのクォータ
NIC またはセキュリティグループのクォータに達した場合、AWS CloudTrail に次のエラーメッセージが表示されることがあります。
errorCode、 Client.NetworkInterfaceLimitExceeded、errorMessage Limit on network interfaces or security groups has been reached! (ネットワークインターフェイスまたはセキュリティグループの制限に達しました)
この問題を解決するには、使われていない NIC またはセキュリティグループを削除します。さらに、セキュリティグループを複数の VPC に関連付けます。
または、次の手順を実行してクォータの増加をリクエストします。
- お使いのリージョンで Service Quota コンソールを開きます。
- [AWS Services] で [Amazon Virtual Private Cloud (Amazon VPC)] を選択します。
- [リージョンごとのネットワークインターフェイス数] または [リージョンごとの VPC セキュリティグループ数] を選択し、増加をリクエストします。
AWS KMS キーのアクセスに関する問題
サーバーレスキャッシュの作成時に AWS KMS キーアクセスを使用しようとすると、そのキーアクセスは拒否されます。
次のエラーメッセージが表示されます。
An error occurred (InvalidParameterValue) when calling the CreateServerlessCache operation: KMS key access is denied with key id: [kms-key-arn]
この問題を解決するには、IAM ロールまたはユーザーのアクセス許可を更新します。ロールまたはユーザーには、指定された AWS KMS キーを使用するためのアクセス許可が必要です。
サブネットが不十分
サーバーレスキャッシュの作成時に、次のエラーメッセージが表示される場合があります。
An error occurred (InvalidParameterValue) when calling the CreateServerlessCache operation: Customer account VPC should have a minimum of <number> default subnets. (カスタマーアカウントの VPC には、デフォルトサブネットの最小数が必要です)
ElastiCache Serverless サブネットを選択する方法は、リージョンによって異なります。特定のサブネット ID を指定しない場合、VPC 内の複数のアベイラビリティーゾーンにわたり、複数のサブネットがデフォルトで選択されます。たとえば、米国西部 (北カリフォルニア) us-west-1 リージョンには 2 つのデフォルトサブネットがあり、その他すべてのリージョンには 3 つのデフォルトサブネットがある場合があります。
この問題を解決するには、VPC にサブネットを追加します。
関連情報
Elasticache のしくみ
アクセス拒否エラーメッセージのトラブルシューティング