

# Lambda 관리형 인스턴스의 Lambda 운영자 역할
<a name="lambda-managed-instances-operator-role"></a>

Lambda 관리형 인스턴스를 사용할 때 Lambda에는 계정의 컴퓨팅 용량을 관리할 권한이 필요합니다. 운영자 역할은 Lambda가 용량 공급자의 EC2 인스턴스를 관리할 수 있도록 허용하는 IAM 정책을 통해 권한을 제공합니다.

Lambda는 함수가 실행될 때 Lambda가 실행 역할을 수임하는 방식과 마찬가지로 이러한 관리 작업을 수행할 때 운영자 역할을 수임합니다.

## 운영자 역할 생성
<a name="lambda-managed-instances-creating-operator-role"></a>

IAM 콘솔 또는 AWS CLI를 사용하여 운영자 역할을 생성할 수 있습니다. 역할에 포함되어야 하는 사항:
+ **권한 정책** - 용량 공급자 및 관련 리소스를 관리할 수 있는 권한 부여
+ **신뢰 정책** - Lambda 서비스(`lambda.amazonaws.com`)의 역할 수임 허용

### 권한 정책
<a name="lambda-managed-instances-operator-role-permissions-policy"></a>

운영자 역할에는 용량 공급자와 기본 컴퓨팅 리소스를 관리할 수 있는 권한이 필요합니다. 역할에는 최소한 [AWSLambdaManagedEC2ResourceOperator](https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/policies/details/arn%3Aaws%3Aiam%3A%3Aaws%3Apolicy%2FAWSLambdaManagedEC2ResourceOperator) 관리형 정책의 권한이 필요합니다.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances",
        "ec2:CreateTags",
        "ec2:AttachNetworkInterface"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:volume/*"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:ManagedResourceOperator": "scaler.lambda.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeCapacityReservations",
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceStatus",
        "ec2:DescribeInstanceTypeOfferings",
        "ec2:DescribeInstanceTypes",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances",
        "ec2:CreateNetworkInterface"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:security-group/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:image/*"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:Owner": "amazon"
        }
      }
    }
  ]
}
```

### 신뢰 정책
<a name="lambda-managed-instances-operator-role-trust-policy"></a>

신뢰 정책을 통해 Lambda는 운영자 역할을 수임할 수 있습니다.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

## Lambda 관리형 인스턴스의 서비스 연결 역할
<a name="lambda-managed-instances-service-linked-role-for-lmi"></a>

Lambda 관리형 인스턴스의 수명 주기를 책임감 있는 방식으로 관리하려면 Lambda에서 계정의 관리형 인스턴스를 종료할 수 있는 지속적 액세스 권한이 필요합니다. Lambda는 AWS Identity and Access Management(IAM) 서비스 연결 역할(SLR)을 사용하여 이러한 작업을 수행합니다.

**자동 생성**: 서비스 연결 역할은 용량 공급자를 처음 생성할 때 자동으로 생성됩니다. 첫 번째 용량 공급자를 생성하는 사용자에게 `lambda.amazonaws.com` 보안 주체에 대한 `iam:CreateServiceLinkedRole` 권한이 있어야 합니다.

**권한**: 서비스 연결 역할은 Lambda에 다음과 같은 관리형 인스턴스 권한을 부여합니다.
+ `ec2:TerminateInstances` - 수명 주기 종료 시 인스턴스 종료
+ `ec2:DescribeInstances` - 관리형 인스턴스 열거

**삭제**: 계정의 모든 Lambda 관리형 인스턴스 용량 공급자를 삭제한 후에만 이 서비스 연결 역할을 삭제할 수 있습니다.

서비스 연결 역할에 대한 자세한 내용은 [Lambda의 서비스 연결 역할 사용](using-service-linked-roles.md)를 참조하세요.