AWS CodeCommit は、新しいお客様では利用できなくなりました。 AWS CodeCommit の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
アクセスエラーと のトラブルシューティングAWS CodeCommit
以下の情報は、AWS CodeCommit リポジトリに接続するときに、アクセスエラーのトラブルシューティングに役立つ場合があります。
トピック
アクセスエラー: Windows から CodeCommit リポジトリへ接続する際、ユーザー名とパスワードの入力を求められる
問題: Git を使用して CodeCommit リポジトリに接続しようとすると、ユーザー名およびパスワードの入力を求めるダイアログボックスが表示される。
解決方法: Windows 用の組み込みの認証情報管理システムである可能性があります。設定により、以下のいずれかを実行します。
-
Git 認証情報で HTTPS を使用している場合は、Git の認証情報は、まだシステムに保存されていません。Git の認証情報を入力して続行します。メッセージが再度表示されることはありません。詳細については、「Git 認証情報を使用した HTTPS ユーザーのセットアップ」を参照してください。
AWS CodeCommit の認証情報ヘルパーで HTTPS を使用している場合は、Windows の認証情報管理システムと互換性がありません。[Cancel] を選択します。
また、Git for Windows をインストールしたときに Git 認証情報マネージャーをインストールした可能性があります。Git 認証情報マネージャーは、AWS CLI に含まれる CodeCommit の認証情報ヘルパーとの互換性がありません。Git 認証情報マネージャーのアンインストールを検討してください。CodeCommit の認証情報ヘルパーを使用する代わりに、git-remote-codecommit をインストールして設定することもできます。
詳細については、「git-remote-codecommit を使用して AWS CodeCommit への HTTPS 接続をセットアップする手順」、「AWS CLI 認証情報ヘルパーを使用して Windows で HTTPS 接続をセットアップする手順」、および「Git for Windows: Git for Windows をインストールしましたが、リポジトリへのアクセスが拒否されます (403)」を参照してください。
アクセスエラー: CodeCommit リポジトリへの接続時にパブリックキーが拒否される
問題: SSH エンドポイントを使用して、CodeCommit リポジトリと接続しようとすると、エラーメッセージ Error: public key denied
が表示される。
解決方法: このエラーの最も一般的な原因は、SSH 接続のセットアップを完了していないことです。SSH キー (パブリックキーとプライベートのペア) を設定し、続いて、そのパブリックキーを IAM ユーザーと関連付けます。SSH の設定に関する詳細については、「Linux、macOS、または Unix での SSH 接続の場合」および「Windows で SSH 接続をセットアップする手順」を参照してください。
アクセスエラー: CodeCommit リポジトリへの接続時の「レートが超過しました」または「429」メッセージ
問題: CodeCommit リポジトリと通信しようとすると、「レートが超過しました」というメッセージまたはエラーコード「429」が表示される。通信は大幅に遅くなるか失敗します。
原因: アプリケーション、AWS CLI、Git クライアント、AWS Management Console のいずれからの CodeCommit へのすべての呼び出しは、1 秒あたりの最大リクエスト数と全体的なアクティブリクエストの対象となります。どの AWS リージョン でも、アマゾン ウェブ サービスアカウントの許容されるリクエストレートの最大値を超えることはできません。リクエストが最大レートを超えると、エラーが表示され、それ以降の呼び出しは一時的にアマゾン ウェブ サービスアカウントに制限されます。スロットリング期間中は、CodeCommit への接続が遅くなり、失敗する可能性があります。
解決方法: CodeCommit への接続または呼び出しの数を減らすか、リクエストを分散させるためのステップを実行してください。留意が必要なアプローチ:
-
リクエスト、特に定期的なポーリングリクエストにジッターを実装する
CodeCommit を定期的にポーリングしているアプリケーションがあり、このアプリケーションが複数の Amazon EC2 インスタンスで実行されている場合は、異なる Amazon EC2 インスタンスが同じ秒にポーリングしないようにジッター (ランダムな遅延量) を導入します。1 分間にポーリングメカニズムを均等に分散させるには、0 〜 59 秒の乱数をお勧めします。
-
ポーリングではなくイベントベースのアーキテクチャーを使用する
ポーリングではなく、イベントベースのアーキテクチャーを使用して、イベントが発生したときにのみ呼び出しが行われるようにします。AWS CodeCommit イベントの CloudWatch Events 通知を使用して、ワークフローをトリガーすることを検討してください。
-
API と自動 Git アクションのためのエラー再試行とエクスポネンシャルバックオフの実装
エラーの再試行とエクスポネンシャルバックオフは、呼び出しの頻度を制限するのに役立ちます。各 AWS SDK は自動再試行ロジックおよび指数エクスポネンシャルバックオフアルゴリズムを実装します。自動 Git push と Git pull の場合は、独自の再試行ロジックを実装する必要があります。詳細については、エラーの再試行と AWS でのエクスポネンシャルバックオフを参照してください。
-
AWS サポートセンターで CodeCommit サービスクォータの引き上げをリクエストする
サービスの制限の引き上げを受けるには、エラーの再試行やエクスポネンシャルバックオフ方法の実装など、ここで示されている提案に従っていることを確認する必要があります。リクエストでは、AWS リージョン、アマゾン ウェブ サービスアカウント、およびスロットリングの問題の影響を受ける期間も入力する必要があります。