AWS Lambda
개발자 가이드

AWS Lambda 실행 역할

AWS Lambda 함수의 실행 역할은 AWS 서비스 및 리소스에 대한 액세스 권한을 부여합니다. 함수를 만들 때 이 역할을 제공하면 함수를 호출할 때 Lambda가 이 역할을 수임합니다. 개발 작업을 위해 Amazon CloudWatch에 로그를 전송하고, AWS X-Ray에 추적 데이터를 업로드하는 권한을 가진 실행 역할을 만들 수 있습니다.

실행 역할을 만들려면

  1. IAM 콘솔에서 역할 페이지를 엽니다.

  2. 역할 생성을 선택합니다.

  3. 다음 속성을 사용하여 역할을 만듭니다.

    • 신뢰할 수 있는 엔터티AWS Lambda

    • 권한AWSLambdaBasicExecutionRole, AWSXrayWriteOnlyAccess

    • 역할 이름lambda-role

언제든지 함수의 실행 역할에서 원한을 추가하거나 제거할 수 있으며, 다른 역할에 사용하도록 함수를 구성할 수 있습니다. 함수가 AWS SDK를 사용하여 호출하는 서비스 및 Lambda가 선택적 기능을 활성화하기 위해 사용하는 서비스에 대해 권한을 추가합니다.

다음 관리형 정책은 Lambda 기능을 사용하는 데 필요한 권한을 제공합니다.

  • AWSLambdaBasicExecutionRole – CloudWatch에 로그를 업로드할 수 있는 권한.

  • AWSLambdaKinesisExecutionRole – Amazon Kinesis 데이트 스트림 또는 소비자의 이벤트를 읽을 수 있는 권한.

  • AWSLambdaDynamoDBExecutionRole – Amazon DynamoDB 스트림에서 레코드를 읽을 수 있는 권한.

  • AWSLambdaSQSQueueExecutionRole – Amazon Simple Queue Service(Amazon SQS) 대기열에서 메시지를 읽을 수 있는 권한.

  • AWSLambdaVPCAccessExecutionRole – 함수를 VPC에 연결하기 위해 탄력적 네트워크인터페이스를 관리하는 권한.

  • AWSXrayWriteOnlyAccess – X-Ray에 추적 데이터를 업로드하는 권한.

이벤트 소스 매핑을 사용하여 함수를 호출할 경우 Lambda는 이벤트 데이터를 읽는 실행 역할을 사용합니다. 예를 들어 Amazon Kinesis에 대한 이벤트 소스 매핑은 데이터 스트림의 이벤트를 읽고 이를 함수에 배치(batch)로 전송합니다. 다음과 같은 서비스에 이벤트 소스 매핑을 사용할 수 있습니다.

Lambda가 이벤트를 읽는 서비스

관리형 정책 외에도, Lambda 콘솔은 추가 사용 사례와 관련된 권한을 가진 사용자 지정 정책을 생성하는 템플릿을 제공합니다. 함수를 생성할 때 하나 이상의 템플릿의 권한을 사용하여 새로운 실행 역할을 만들 수 있습니다. 블루프린트에서 함수를 생성하거나, 다른 서비스에 액세스해야 하는 옵션을 구성할 때 이러한 템플릿도 자동으로 적용됩니다. 예제 템플릿은 이 설명서의 GitHub 리포지토리에서 구할 수 있습니다.