Terraform-aws-github-runner: dev-usw2-スケールアップの失敗:「SQSイベントの処理に失敗しました」「PEMルーチン:get_name:Sign.signに開始行がありません」

作成日 2020年07月28日  ·  7コメント  ·  ソース: philips-labs/terraform-aws-github-runner

概要

dev-usw2-scale-up実行結果:失敗

再現する手順

このリポジトリのdocs / READMEおよびhttps://040code.github.io/2020/05/25/scaling-selfhosted-action-runnersに従って必要なgithubアプリを使用して構成済みアプリケーションでコミットを介してトリガーし

現在のバグの動作は何ですか?

エラーエラー:エラー:0909006C :PEMルーチン:get_name
(以下の完全なエラートレース/アウトを参照)

期待される正しい動作は何ですか?

設定されたリポジトリへのコミットにより、ラムダ関数が実行され、AWSEC2スポットインスタンスのスケールアップまたはデプロイが必要になります。

関連するログおよび/またはスクリーンショット

監視するように構成されたgithubアプリで構成されたgithubリポジトリにコミットしたときの最新の失敗/エラー
CloudWatch:CloudWatchログ:ロググループ:/ aws / lambda / dev-usw2-scale-up
ここでgithubの要点で利用可能:

gist-file-aws-lambda-dev-usw2-scale-up-error

可能な修正

一見すると、証明書/キーエラーに関連しているように見えますか?

誰が問題に対処できますか

検証と解決に関する提案を要求する

その他のリンク/参照

ありがとうございました

最も参考になるコメント

ありがとう@compiaffe 。 READMEで指定されていない追加のアクセス許可が必要なようです。
lambda / cloudwatchログにエラーがなくなり、S3バケットのaction-runners.zipファイルが表示され、READMEに従って、スポットインスタンスの作成を除いて期待される機能を確認できるようになりました。私の最後の問題のようです。

参照: scaling-selfhosted-action-runners#putting-all-together

ビルドした場合、ランナーは開始または登録されていません。 あなたができる最善のことは、トレースに従うことです。 のGitHubアプリには、Webhookに送信されたイベントを確認できる詳細設定ページがあります。 イベントが受け入れられない場合は、エンドポイントとシークレットを再確認してください。 次に、Webhookのログを確認し、CloudWatchでラムダをスケールアップできます。 最後に、EC2ユーザーデータロギングを調べることができます。 SSM(MP:これはsshである必要がありますか?)を介したアクセスは、デフォルトで有効になっています。 インスタンスへの接続を選択し、ログ/var/log/user_data.logを確認するだけです。

エラーのポイントはラムダとクラウドウォッチの後であり、次のトラブルシューティング手順はEC2ユーザーデータ(ログ)を検査することですが、スポットインスタンスがデプロイされていないときにインスタンスがないため、これは少し難しいです。

ご協力いただきありがとうございます。

全てのコメント7件

PEMキーのbase64エンコードを行わなかった場合、これとまったく同じ問題が発生しました。
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

.pemファイルの完全なコンテンツを取得し、base64でエンコードする必要があるようです。

ありがとう@compiaffe ! それは間違いなく問題でした。

README / docsに次のようなものがあると間違いなく役立ちます。

  • GITHUB_KEY=$(base64 ./myapp-aws-github-runner.2020-07-29.private-key.pem) ; cat $GITHUB_KEY > encoded_key.out now use this entire file as the github_app_key_base64 value

再デプロイしましたが、ラムダスケールアップ関数で次のSQSエラーが表示されています。

2020-07-29T12:38:43.476-07:00 | 2020-07-29T19:38:43.476Z    e67a6201-6e39-50c8-94f7-359abc4954cd    ERROR   Invoke Error    {     "errorType": "Error",     "errorMessage": "Failed handling SQS event",     "stack": [         "Error: Failed handling SQS event",         "    at _homogeneousError (/var/runtime/CallbackContext.js:12:12)",         "    at postError (/var/runtime/CallbackContext.js:29:54)",         "    at callback (/var/runtime/CallbackContext.js:41:7)",         "    at /var/runtime/CallbackContext.js:104:16",         "    at /var/task/index.js:17333:16",         "    at Generator.throw (<anonymous>)",         "    at rejected (/var/task/index.js:17315:65)",         "    at processTicksAndRejections (internal/process/task_queues.js:97:5)"     ] }

ありがとうございました。

@ cmcconnell1はい私は1つで見ました。 前にログエントリを確認してください。403で応答されたGithubエンドポイントへのAPI呼び出しが表示される可能性があります。

アクション、チェック、セルフホストランナーにGithubアプリの権限を付与する必要がありましたが、管理へのアクセスを付与する必要はないようです。

組織またはリポジトリのインストールに移動し、より多くの/異なるアクセス許可の要求を許可することを忘れないでください。

ありがとう@compiaffe 。 READMEで指定されていない追加のアクセス許可が必要なようです。
lambda / cloudwatchログにエラーがなくなり、S3バケットのaction-runners.zipファイルが表示され、READMEに従って、スポットインスタンスの作成を除いて期待される機能を確認できるようになりました。私の最後の問題のようです。

参照: scaling-selfhosted-action-runners#putting-all-together

ビルドした場合、ランナーは開始または登録されていません。 あなたができる最善のことは、トレースに従うことです。 のGitHubアプリには、Webhookに送信されたイベントを確認できる詳細設定ページがあります。 イベントが受け入れられない場合は、エンドポイントとシークレットを再確認してください。 次に、Webhookのログを確認し、CloudWatchでラムダをスケールアップできます。 最後に、EC2ユーザーデータロギングを調べることができます。 SSM(MP:これはsshである必要がありますか?)を介したアクセスは、デフォルトで有効になっています。 インスタンスへの接続を選択し、ログ/var/log/user_data.logを確認するだけです。

エラーのポイントはラムダとクラウドウォッチの後であり、次のトラブルシューティング手順はEC2ユーザーデータ(ログ)を検査することですが、スポットインスタンスがデプロイされていないときにインスタンスがないため、これは少し難しいです。

ご協力いただきありがとうございます。

まだ問題に直面していますか?

@npalmこれをhttps://github.com/philips-labs/terraform-aws-github-runner/issues/104と同じでしたが、権限エラーは見られませんでした。 私は休暇をとっていましたが、テストを開始する0.3.0と0.4.0のタグバージョンがあることがわかりました。 ありがとうございました。

同じ問題が発生しています。開発ブランチ/0.0.5を使用し、base64エンコード(BEGINビットとENDビットを含む)を実行して、以下のように変数.tfファイルに値を保存しましたが、それでもエラーが発生します。 。 (エラー:エラー:0909006C :PEMルーチン:get_name :Sign.sign(internal / crypto / sig.js:105:29)に開始行がありません)そしてその直後にERROR Invoke Error {"errorType": "Error"、 " errorMessage ":" SQSイベントの処理に失敗しました "

image

このページは役に立ちましたか?
0 / 5 - 0 評価