Amazon의 AWS Lambda URLs 함수에서 SaaS 이벤트 수신 EventBridge - Amazon EventBridge

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon의 AWS Lambda URLs 함수에서 SaaS 이벤트 수신 EventBridge

참고

파트너가 인바운드 웹훅에 액세스할 수 있도록 타사 파트너가 보낸 인증 서명을 확인하여 Lambda 애플리케이션 수준에서 보호되는 Open Lambda를 사용자 AWS 계정에 생성하고 있습니다. 보안 팀과 함께 이 구성을 검토하세요. 자세한 내용은 Lambda 함수의 보안 및 인증 모델을 참조하십시오. URLs

Amazon EventBridge 이벤트 버스는 AWS CloudFormation 템플릿으로 URL 생성된 AWS Lambda 함수를 사용하여 지원되는 SaaS 공급자로부터 이벤트를 수신할 수 있습니다. 함수를 URLs 사용하면 이벤트 데이터가 Lambda 함수로 전송됩니다. 그런 다음 함수는 이 데이터를 이벤트로 변환하여 이벤트 버스에서 수집한 후 이벤트 버스로 EventBridge 전송하여 처리합니다. 이벤트가 이벤트 버스에 있으면 규칙을 사용하여 이벤트를 필터링하고 구성된 입력 변환을 적용한 후 올바른 대상으로 라우팅할 수 있습니다.

참고

Lambda URLs 함수를 생성하면 월별 비용이 증가합니다. 자세한 내용은 AWS Lambda 요금을 참조하세요.

연결을 EventBridge 설정하려면 먼저 연결을 설정하려는 SaaS 공급자를 선택합니다. 그런 다음 해당 공급자와 함께 만든 서명 암호를 제공하고 이벤트를 전송할 EventBridge 이벤트 버스를 선택합니다. 마지막으로 AWS CloudFormation 템플릿을 사용하고 연결을 완료하는 데 필요한 리소스를 생성합니다.

현재 EventBridge Lambda 함수를 사용하여 사용할 수 있는 SaaS 공급자는 다음과 같습니다. URLs

  • GitHub

  • Twilio

1단계: 스택 생성 AWS CloudFormation

먼저 Amazon EventBridge 콘솔을 사용하여 CloudFormation 스택을 생성합니다.

  1. 에서 Amazon EventBridge 콘솔을 엽니다 https://console.aws.amazon.com/events/.

  2. 탐색 창에서 빠른 시작을 선택합니다.

  3. Lambda를 사용하는 인바운드 웹훅에서 시작하기를 fURLs 선택합니다.

  4. GitHub에서 설정을 선택합니다.

  5. 1단계: 이벤트 버스 선택의 드롭다운 목록에서 이벤트 버스를 선택합니다. 이 이벤트 버스는 사용자가 제공하는 Lambda URL 함수로부터 데이터를 수신합니다. GitHub 새 이벤트 버스를 선택하여 이벤트 버스를 생성할 수도 있습니다.

  6. 2단계: 설정을 사용하여 아래에서 New CloudFormation GitHub webhook을 선택합니다.

  7. 내가 만든 인바운드 웹후크에 공개적으로 액세스할 수 있음을 승인합니다를 선택하고 확인을 선택합니다.

  8. 스택의 이름을 입력합니다.

  9. 파라미터에서 올바른 이벤트 버스가 나열되어 있는지 확인한 다음, GitHubWebhookSecret에 대한 보안 토큰을 지정합니다. 보안 토큰 생성에 대한 자세한 내용은 GitHub 설명서의 Setting your secret token을 참조하세요.

  10. 기능 및 변환에서 다음을 각각 선택합니다.

    • 그러면 IAM 리소스가 AWS CloudFormation 생성될 수 있다는 점을 인정합니다.

    • 그러면 사용자 지정 이름을 가진 IAM 리소스가 AWS CloudFormation 생성될 수도 있다는 점을 인정합니다.

    • 이를 위해서는 다음과 같은 기능이 AWS CloudFormation 필요할 수 있다는 점을 인정합니다. CAPABILITY_AUTO_EXPAND

  11. 스택 생성을 선택합니다.

2단계: GitHub 웹후크 생성

다음으로 GitHub에 웹후크를 생성합니다. 이 단계를 완료하려면 2단계에서 생성한 Lambda URL 함수와 보안 토큰이 모두 필요합니다. 자세한 내용은 GitHub 설명서의 Creating webhooks를 참조하세요.

Twilio에 대한 연결 설정

1단계: Twilio 인증 토큰 찾기

Twilio와 사이의 연결을 EventBridge 설정하려면 먼저 계정의 인증 토큰 또는 암호를 Twilio 사용하여 연결을 설정하십시오. Twilio 자세한 내용은 Twilio 설명서에서 Auth Tokens and How To Change Them을 참조하세요.

2단계: 스택 생성 AWS CloudFormation

  1. 에서 Amazon EventBridge 콘솔을 엽니다 https://console.aws.amazon.com/events/.

  2. 탐색 창에서 빠른 시작을 선택합니다.

  3. Lambda를 사용하는 인바운드 웹훅에서 시작하기를 fURLs 선택합니다.

  4. Twilio에서 설정을 선택합니다.

  5. 1단계: 이벤트 버스 선택에서 드롭다운 목록에서 이벤트 버스를 선택합니다. 이 이벤트 버스는 사용자가 제공하는 Lambda URL 함수로부터 데이터를 수신합니다. Twilio 새 이벤트 버스를 선택하여 이벤트 버스를 생성할 수도 있습니다.

  6. 2단계: 설정을 사용하여 아래에서 New CloudFormation Twilio webhook을 선택합니다.

  7. 내가 만든 인바운드 웹후크에 공개적으로 액세스할 수 있음을 승인합니다를 선택하고 확인을 선택합니다.

  8. 스택의 이름을 입력합니다.

  9. 파라미터에서 올바른 이벤트 버스가 나열되어 있는지 확인한 다음, 1단계에서 생성한 TwilioWebhookSecret을(를) 입력합니다.

  10. 기능 및 변환에서 다음을 각각 선택합니다.

    • 그러면 IAM 리소스가 AWS CloudFormation 생성될 수 있다는 점을 인정합니다.

    • 그러면 사용자 지정 이름을 가진 IAM 리소스가 AWS CloudFormation 생성될 수도 있다는 점을 인정합니다.

    • 다음과 같은 기능이 AWS CloudFormation 필요할 수 있다는 점을 인정합니다. CAPABILITY _ AUTO _ EXPAND

  11. 스택 생성을 선택합니다.

3단계: Twilio 웹후크 생성

Lambda URL 함수를 설정한 후에는 이 함수를 Twilio에 전달해야 이벤트 데이터를 전송할 수 있습니다. 자세한 내용은 설명서의 퍼블릭 URL 구성을 참조하십시오. Twilio Twilio

웹후크 보안 암호 또는 인증 토큰 업데이트

GitHub 보안 암호 업데이트

참고

GitHub는 동시에 두 개의 보안 암호를 사용하는 것을 지원하지 않습니다. AWS CloudFormation 스택의 GitHub 비밀과 비밀이 동기화되지 않는 경우 리소스 다운타임이 발생할 수 있습니다. GitHub비밀이 동기화되지 않은 상태에서 전송된 메시지는 잘못된 서명으로 인해 실패합니다. GitHub및 CloudFormation 비밀이 동기화될 때까지 기다린 다음 다시 시도하세요.

  1. 새 GitHub 보안 암호를 생성합니다. 자세한 내용은 GitHub 문서의 Encrypted secrets를 참조하세요.

  2. https://console.aws.amazon.com/cloudformation에서 AWS CloudFormation 콘솔을 엽니다.

  3. 탐색 창에서 스택을 선택합니다.

  4. 업데이트할 보안 암호가 포함된 웹후크 스택을 선택합니다.

  5. 업데이트를 선택합니다.

  6. 현재 템플릿 사용이 선택되어 있는지 확인하고 다음을 선택합니다.

  7. 기존 값 사용에서 선택을 취소하고 1단계에서 만든 새 GitHub 암호를 입력하고 다음을 선택합니다. GitHubWebhookSecret

  8. Next(다음)를 선택합니다.

  9. 스택 업데이트를 선택합니다.

보안 암호가 전파하는 데 최대 1시간까지 걸릴 수 있습니다. 이 가동 중지 시간을 줄이기 위해 Lambda 실행 컨텍스트를 새로 고칠 수 있습니다.

Twilio 보안 암호 업데이트

참고

Twilio는 동시에 두 개의 보안 암호를 사용하는 것을 지원하지 않습니다. AWS CloudFormation 스택의 Twilio 비밀과 비밀이 동기화되지 않은 경우 리소스 다운타임이 발생할 수 있습니다. Twilio비밀이 동기화되지 않은 상태에서 전송된 메시지는 잘못된 서명으로 인해 실패합니다. Twilio및 CloudFormation 비밀이 동기화될 때까지 기다린 다음 다시 시도하세요.

  1. 새 Twilio 보안 암호를 생성합니다. 자세한 내용은 Twilio 설명서에서 Auth Tokens and How To Change Them을 참조하세요.

  2. https://console.aws.amazon.com/cloudformation에서 AWS CloudFormation 콘솔을 엽니다.

  3. 탐색 창에서 스택을 선택합니다.

  4. 업데이트할 보안 암호가 포함된 웹후크 스택을 선택합니다.

  5. 업데이트를 선택합니다.

  6. 현재 템플릿 사용이 선택되어 있는지 확인하고 다음을 선택합니다.

  7. 기존 값 사용에서 선택을 취소하고 1단계에서 만든 새 Twilio 암호를 입력하고 다음을 선택합니다. TwilioWebhookSecret

  8. Next(다음)를 선택합니다.

  9. 스택 업데이트를 선택합니다.

보안 암호가 전파하는 데 최대 1시간까지 걸릴 수 있습니다. 이 가동 중지 시간을 줄이기 위해 Lambda 실행 컨텍스트를 새로 고칠 수 있습니다.

Lambda 함수 업데이트

스택에 의해 생성된 Lambda 함수는 기본 CloudFormation 웹후크를 생성합니다. 사용자 지정 로깅과 같은 특정 사용 사례에 맞게 Lambda 함수를 사용자 지정하려면 콘솔을 사용하여 함수에 액세스한 CloudFormation 다음 Lambda 콘솔을 사용하여 Lambda 함수 코드를 업데이트하십시오.

Lambda 함수에 액세스
  1. /cloudformation에서 콘솔을 엽니다. AWS CloudFormation https://console.aws.amazon.com

  2. 탐색 창에서 스택을 선택합니다.

  3. 업데이트할 Lambda 함수가 포함된 웹후크 스택을 선택합니다.

  4. 리소스 탭을 선택합니다.

  5. Lambda 콘솔에서 Lambda 함수를 열려면 물리적 ID에서 Lambda 함수의 ID를 선택합니다.

이제 Lambda 함수에 액세스했으므로 Lambda 콘솔을 사용하여 함수 코드를 업데이트하세요.

Lambda 함수 코드 업데이트
  1. 작업에서 함수 내보내기를 선택합니다.

  2. 배포 패키지 다운로드를 선택하고 파일을 컴퓨터에 저장합니다.

  3. 배포 패키지.zip 파일의 압축을 풀고, app.py 파일을 업데이트하고, 원본.zip 파일의 모든 파일이 포함되도록 업데이트된 배포 패키지를 압축합니다.

  4. Lambda 콘솔에서 코드 탭을 선택합니다.

  5. 코드 소스(Code source)에서 업로드(Upload from)를 선택합니다.

  6. .zip 파일을 선택한 후 [업로드(Upload)]를 선택합니다.

    1. 파일 선택기에서 업데이트한 파일을 선택하고 열기저장을 차례로 선택합니다.

  7. 작업에서 새 버전 발행을 선택합니다.

사용 가능한 이벤트 유형

현재 이벤트 버스에서 지원되는 CloudFormation 이벤트 유형은 다음과 같습니다.

할당량, 오류 코드, 전송 재시도

할당량

웹후크로 들어오는 요청 수는 기본 AWS 서비스에 따라 제한됩니다. 다음 표에는 관련 할당량이 포함되어 있습니다.

Service 할당량

AWS Lambda

기본값: 동시 실행 10개

할당량 증가 요청을 비롯한 할당량에 대한 자세한 내용은 Lambda 할당량을 참조하세요.

AWS Secrets Manager

기본값: 초당 요청 5,000개

할당량 증가 요청을 비롯한 할당량에 대한 자세한 내용은 AWS Secrets Manager 할당량을 참조하세요.

참고

AWS Secrets Manager Python 캐싱 클라이언트를 사용하면 초당 요청 수가 최소화됩니다.

아마존 EventBridge

액션의 최대 입력 크기는 256KB입니다 PutEvents .

EventBridge 지역 기반 요금 할당량을 적용합니다. 자세한 내용은 EventBridge 할당량 단원을 참조하십시오.

오류 코드

각 AWS 서비스는 오류 발생 시 특정 오류 코드를 반환합니다. 다음 표에는 관련 오류 코드가 포함되어 있습니다.

Service 오류 코드 설명

AWS Lambda

429 “” TooManyRequestsExption

동시 실행 할당량을 초과했습니다.

AWS Secrets Manager

500 “Internal Server Error”

초당 요청 할당량을 초과했습니다.

아마존 EventBridge

500 “Internal Server Error”

해당 리전의 비율 할당량을 초과했습니다.

이벤트 재전송

오류가 발생하면 영향을 받은 이벤트의 전송을 다시 시도할 수 있습니다. SaaS 공급자마다 재시도 절차가 다릅니다.

GitHub

GitHub웹후크를 API 사용하여 웹후크 호출의 전송 상태를 확인하고 필요한 경우 이벤트를 다시 전송하십시오. 자세한 내용은 다음 GitHub 설명서를 참조하세요.

Twilio

Twilio 사용자는 연결 재정의를 통해 이벤트 재시도 옵션을 사용자 지정할 수 있습니다. 자세한 내용은 설명서의 웹후크 (HTTP콜백): 연결 재정의를 참조하십시오. Twilio