0
Help us understand the problem. What are the problem?

posted at

updated at

AWSにアップロードできるサーバー証明書の数が上限に達したときの対処

現象

AWSにサーバー証明書をアップロードしようとしたとき、以下のようなエラーメッセージが表示されました。

cannot exceed quota for servercertificatesPerAccount: 20

AWSにアップロードできるサーバー証明書は初期ではアカウントあたり20までに制限されており、その制限を超えることはできません。

対処方法

対処方法としては以下の2つが挙げられます。
しかし、根本的にはAWS Certificate Managerを活用し、証明書をアップロードしないほうがよいです。

  1. 不要なサーバー証明書の削除
  2. サーバー証明書の制限(クォータと呼ばれる)を引き上げる

不要なサーバー証明書の削除

AWS-CLIを使う場合には以下のように実行して不要なサーバー証明書を削除します。
AWS-CLIは、後述のCloudShellを使うことでウェブブラウザだけでコマンドを発行できます。

aws iam delete-server-certificate --server-certificate-name <サーバー証明書の名称>

上のコマンドで必要な証明書の名称はアップロードしている証明書の一覧から探すと良いでしょう。
以下のコマンドで表示されることができます。

aws iam list-server-certificates

参照:IAM でのサーバー証明書の管理 - AWS Identity and Access Management

エラーが発生するとき

以前コマンドを実行したとき、以下のようなエラーが発生しました。

An error occurred (DeleteConflict) occurred when calling the DeleteServerCertificate operation: ...<このあとはメモしそこねた>...

どうやら、利用中の証明書を削除しようとしたときに発生するようです。
証明書を利用しているサービスを確認しましょう。

CloudShellを使ってWebブラウザだけでAWS-CLIを使う

AWS-CLIをローカルPC等にインストールせずともWebブラウザがあればコマンドを実行できるAWS CloudShellが便利でした。
2020年12月にリリースされたサービスです。

AWSコンソールからCloudShellを選び、環境ができたらすぐに上記のコマンドが使えます。

詳しくは下記を参照してください。

サーバー証明書の制限を引き上げる

方法は下記を参照してください。
すぐには適用されないようなので、すぐに対応が必要な場合にはだめです。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?