dev-usw2-scale-up μ€ν κ²°κ³Ό: μ€ν¨
μ΄ λ¦¬ν¬μ§ν 리 λ° https://040code.github.io/2020/05/25/scaling-selfhosted-action-runners μ λ¬Έμ/READMEμ λ°λΌ νμ github μ±μ μ¬μ©νμ¬ κ΅¬μ±λ μ ν리μΌμ΄μ μμ 컀λ°μ ν΅ν΄ νΈλ¦¬κ±°
μ€λ₯ μ€λ₯: μ€λ₯: 0909006C :PEM 루ν΄: get_name : Sign.signμμ μμ λΌμΈ μμ μ€λ₯ νΈμΆ μ€λ₯
(μλ μ 체 μ€λ₯ μΆμ /μμ μ°Έμ‘°)
ꡬμ±λ 리ν¬μ§ν 리μ λν 컀λ°μΌλ‘ μΈν΄ λλ€ ν¨μκ° μ€νλκ³ AWS EC2 μ€ν μΈμ€ν΄μ€μ νμ νμ₯ λλ λ°°ν¬κ° λ°μν©λλ€.
κ°μνλλ‘ κ΅¬μ±λ github μ±μΌλ‘ ꡬμ±λ github repoμ 컀λ°ν λ κ°μ₯ μ΅κ·Όμ μ€ν¨/μ€λ₯
CloudWatch: CloudWatch Logs: λ‘κ·Έ κ·Έλ£Ή: /aws/lambda/dev-usw2-scale-up
μ¬κΈ° github μμ§μμ μ¬μ©ν μ μμ΅λλ€.
gist-file-aws-lambda-dev-usw2-scale-up-error
μΈλ» 보면 μΈμ¦μ/ν€ μ€λ₯μ κ΄λ ¨μ΄ μλ κ²μ²λΌ 보μ λκΉ?
νμΈ λ° ν΄κ²° μ μ μμ²
κ°μ¬ν©λλ€
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 μ, ν λ² λ³Έ μ μ΄ μμ΅λλ€. μ΄μ μ λ‘κ·Έ νλͺ©μ νμΈνλ©΄ Github λμ μ λν API νΈμΆμ΄ 403μΌλ‘ μλ΅λ κ²μΌλ‘ νμλ μ μμ΅λλ€.
Github μ±μ Actions, Checks λ° Self-hosted Runnersμ λν κΆνμ λΆμ¬ν΄μΌ νμ§λ§ κ΄λ¦¬μ λν μ‘μΈμ€ κΆνμ λΆμ¬ν νμλ μλ κ² κ°μ΅λλ€.
μ‘°μ§ λλ μ μ₯μμ μ€μΉλ‘ μ΄λνμ¬ μΆκ°/λ€λ₯Έ κΆν μμ²μ νμ©νλ κ²μ μμ§ λ§μμμ€.
@compiaffe κ°μ¬
μ΄μ λλ€/cloudwatch λ‘κ·Έμ λ μ΄μ μ€λ₯κ° μμΌλ©° S3 λ²ν·μ μλ action-runners.zip νμΌμ νμΈνκ³ READMEλ₯Ό λ°λ₯΄κ³ μ€ν μΈμ€ν΄μ€ μμ±μ μ μΈνκ³ μμλλ κΈ°λ₯μ λ³Ό μ μμ΅λλ€. λ§μ§λ§ λ¬Έμ μΈ κ² κ°μ΅λλ€.
μ°Έμ‘°: μ€μΌμΌλ§-μ ννΈμ€νΈ-μ‘μ -λ¬λ#νΌν -μ¬-ν¬κ²λ
λ¬λλ₯Ό λΉλνλ κ²½μ° μμνκ±°λ λ±λ‘νμ§ μμ΅λλ€. λΉμ μ΄ ν μ μλ μ΅μ μ κ·Έ νμ μ λ°λΌκ°λ κ²μ λλ€. GitHub μ±μλ μΉν μΌλ‘ μ μ‘λ μ΄λ²€νΈλ₯Ό λ³Ό μ μλ κ³ κΈ μ€μ νμ΄μ§κ° μμ΅λλ€. μ΄λ²€νΈκ° μλ½λμ§ μμΌλ©΄ λμ κ³Ό λΉλ°μ λ€μ νμΈνμμμ€. λ€μμΌλ‘ μΉν μ λν λ‘κ·Έλ₯Ό νμΈνκ³ ν΄λΌμ°λ μμΉμμ λλ€λ₯Ό νμ₯ν μ μμ΅λλ€. λ§μ§λ§μΌλ‘ 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 μ΄λ²€νΈ μ²λ¦¬ μ€ν¨"
κ°μ₯ μ μ©ν λκΈ
@compiaffe κ°μ¬
μ΄μ λλ€/cloudwatch λ‘κ·Έμ λ μ΄μ μ€λ₯κ° μμΌλ©° S3 λ²ν·μ μλ action-runners.zip νμΌμ νμΈνκ³ READMEλ₯Ό λ°λ₯΄κ³ μ€ν μΈμ€ν΄μ€ μμ±μ μ μΈνκ³ μμλλ κΈ°λ₯μ λ³Ό μ μμ΅λλ€. λ§μ§λ§ λ¬Έμ μΈ κ² κ°μ΅λλ€.
μ°Έμ‘°: μ€μΌμΌλ§-μ ννΈμ€νΈ-μ‘μ -λ¬λ#νΌν -μ¬-ν¬κ²λ
μ€λ₯ ν¬μΈνΈλ λλ€μ ν΄λΌμ°λμμΉ μ΄νμ΄κ³ λ€μ λ¬Έμ ν΄κ²° λ¨κ³λ EC2 μ¬μ©μ λ°μ΄ν°(λ‘κ·Έ)λ₯Ό κ²μ¬νλ κ²μ΄μ§λ§ μ€ν μΈμ€ν΄μ€κ° λ°°ν¬λμ§ μμ λ μΈμ€ν΄μ€κ° μκΈ° λλ¬Έμ μ΄κ²μ μ½κ° μ΄λ ΅μ΅λλ€.
λμ μ£Όμ μ κ°μ¬ν©λλ€.