

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

# 모델 배포
<a name="jumpstart-deploy"></a>

JumpStart에서 모델을 배포하면 SageMaker AI는 모델을 호스팅하고 추론에 사용할 수 있는 엔드포인트를 배포합니다. 또한 JumpStart는 모델을 배포한 후 모델에 액세스하는 데 사용할 수 있는 예제 노트북을 제공합니다.

**중요**  
2023년 11월 30일부터 이전 Amazon SageMaker Studio 환경이 이제 Amazon SageMaker Studio Classic으로 지정되었습니다. 다음 섹션은 Studio Classic 애플리케이션 사용에 관해 다룹니다. 업데이트된 Studio 환경 사용에 대한 자세한 내용은 [Amazon SageMaker Studio](studio-updated.md) 섹션을 참조하세요.  
Studio Classic은 기존 워크로드에 대해 여전히 유지 관리되지만 더 이상 온보딩에 사용할 수 없습니다. 기존 Studio Classic 애플리케이션만 중지하거나 삭제할 수 있으며 새 애플리케이션은 생성할 수 없습니다. [워크로드를 새 Studio 환경으로 마이그레이션하는](studio-updated-migrate.md) 것이 좋습니다.

**참고**  
Studio의 JumpStart 모델 배포에 대한 자세한 내용은 [Studio에서 모델 배포](jumpstart-foundation-models-use-studio-updated-deploy.md) 섹션을 참조하세요

## 모델 배포 구성
<a name="jumpstart-config"></a>

모델을 선택하면 해당 모델의 탭이 열립니다. **모델 배포** 창에서 **배포 구성**을 선택하여 모델 배포를 구성합니다.

 ![The Deploy Model pane.](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy.png) 

모델 배포를 위한 기본 인스턴스 유형은 모델에 따라 다릅니다. 인스턴스 유형은 훈련 작업이 실행되는 하드웨어입니다. 다음 예제에서는 `ml.p2.xlarge` 인스턴스가 이 특정 BERT 모델의 기본값입니다.

또한 엔드포인트 이름을 변경하고, `key;value` 리소스 태그를 추가하고, 모델과 관련된 JumpStart 리소스의 `jumpstart-` 접두사를 활성화 또는 비활성화하고, SageMaker AI 엔드포인트에서 사용하는 모델 아티팩트를 저장하기 위한 Amazon S3 버킷을 지정할 수 있습니다.

 ![JumpStart Deploy Model pane with Deployment Configuration open to select its settings.](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-config.png) 

**보안 설정을** 선택하여 모델의 AWS Identity and Access Management (IAM ) 역할, Amazon Virtual Private Cloud(VPC) 및 암호화 키를 지정합니다.

 ![JumpStart Deploy Model pane with Security Settings open to select its settings.](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security.png) 

## 모델 배포 보안
<a name="jumpstart-config-security"></a>

JumpStart를 사용하여 모델을 배포할 때 모델에 대한 IAM 역할, Amazon VPC, 암호화 키를 지정할 수 있습니다. 이러한 항목에 값을 지정하지 않는 경우: 기본 IAM 역할은 Studio Classic 런타임 역할이고, 기본 암호화가 사용되며, Amazon VPC는 사용되지 않습니다.

### IAM 역할
<a name="jumpstart-config-security-iam"></a>

훈련 작업 및 호스팅 작업의 일부로 전달되는 IAM 역할을 선택할 수 있습니다. SageMaker AI는 이 역할을 사용하여 훈련 데이터 및 모델 아티팩트에 액세스합니다. IAM 역할을 선택하지 않는 경우 SageMaker AI는 Studio Classic 런타임 역할을 사용하여 모델을 배포합니다. IAM 역할에 대한 자세한 내용은 [AWS Identity and Access Management Amazon SageMaker AI용](security-iam.md) 섹션을 참조하세요.

전달하는 역할에는 모델에 필요한 리소스에 대한 액세스 권한이 있어야 하며 다음을 모두 포함해야 합니다.
+ 훈련 작업의 경우: [CreateTrainingJob API: 실행 역할 권한](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createtrainingjob-perms).
+ 호스팅 작업의 경우: [CreateModel API: 실행 역할 권한](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createmodel-perms).

**참고**  
다음 각 역할에 부여된 Amazon S3 권한의 범위를 좁힐 수 있습니다. Amazon Simple Storage Service(S3) 버킷과 JumpStart Amazon S3 버킷의 ARN을 사용하여 이 작업을 수행합니다.  

```
[
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::jumpstart-cache-prod-{{<region>}}/*",
        "arn:aws:s3:::jumpstart-cache-prod-{{<region>}}",
        "arn:aws:s3:::{{<bucket>}}/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
           "cloudwatch:PutMetricData",
           "logs:CreateLogStream",
          "logs:PutLogEvents",
          "logs:CreateLogGroup",
          "logs:DescribeLogStreams",
          "ecr:GetAuthorizationToken"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecr:BatchGetImage",
        "ecr:BatchCheckLayerAvailability",
        "ecr:GetDownloadUrlForLayer"
      ],
      "Resource": [
        "*"
      ]
    },
  ]
}
```

**IAM 역할 찾기**

이 옵션을 선택하는 경우 드롭다운 목록에서 기존 IAM 역할을 선택해야 합니다.

 ![JumpStart Security Settings IAM section with Find IAM role selected.](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-findiam.png) 

**입력 IAM 역할**

이 옵션을 선택하는 경우 기존 IAM 역할의 ARN을 수동으로 입력해야 합니다. Studio Classic 런타임 역할 또는 Amazon VPC가 `iam:list* ` 호출을 차단하는 경우 이 옵션을 사용하여 기존 IAM 역할을 사용해야 합니다.

 ![JumpStart Security Settings IAM section with Input IAM role selected.](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-inputiam.png) 

### Amazon VPC
<a name="jumpstart-config-security-vpc"></a>

모든 JumpStart 모델은 네트워크 격리 모드에서 실행됩니다. 모델 컨테이너가 생성한 후에는 더 이상 호출할 수 없습니다. 훈련 작업 및 호스팅 작업의 일부로 전달되는 Amazon VPC를 선택할 수 있습니다. SageMaker AI는 이 Amazon VPC를 사용하여 Amazon S3 버킷에서 리소스를 푸시하고 가져옵니다. 이 Amazon VPC는 Studio Classic 인스턴스의 퍼블릭 인터넷 액세스를 제한하는 Amazon VPC와 다릅니다. Studio Classic Amazon VPC에 대한 자세한 내용은 [VPC의 Studio 노트북을 외부 리소스에 연결](studio-notebooks-and-internet-access.md) 섹션을 참조하세요.

전달한 Amazon VPC는 퍼블릭 인터넷에 액세스할 필요가 없지만 Amazon S3에 대한 액세스는 필요합니다. Amazon S3용 Amazon VPC 엔드포인트는 모델에 필요한 최소한 다음 리소스에 대한 액세스를 허용해야 합니다.

```
{
  "Effect": "Allow",
  "Action": [
    "s3:GetObject",
    "s3:PutObject",
    "s3:ListMultipartUploadParts",
    "s3:ListBucket"
  ],
  "Resources": [
    "arn:aws:s3:::jumpstart-cache-prod-{{<region>}}/*",
    "arn:aws:s3:::jumpstart-cache-prod-{{<region>}}",
    "arn:aws:s3:::{{bucket}}/*"
  ]
}
```

Amazon VPC를 선택하지 않으면 Amazon VPC가 사용되지 않습니다.

**VPC 찾기**

이 옵션을 선택하는 경우 드롭다운 목록에서 기존 Amazon VPC를 선택해야 합니다. Amazon VPC를 선택한 후에는 Amazon VPC의 서브넷과 보안 그룹을 선택해야 합니다. 서브넷과 보안 그룹에 대한 자세한 내용은 [VPC 및 서브넷 개요](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_Subnets.html)를 참조하세요.

 ![JumpStart Security Settings VPC section with Find VPC selected.](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-findvpc.png) 

**입력 VPC**

이 옵션을 선택하는 경우 Amazon VPC를 구성하는 서브넷 및 보안 그룹을 수동으로 선택해야 합니다. Studio Classic 런타임 역할 또는 Amazon VPC가 `ec2:list*` 호출을 차단하는 경우 이 옵션을 사용하여 서브넷 및 보안 그룹을 선택해야 합니다.

 ![JumpStart Security Settings VPC section with Input VPC selected.](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-inputvpc.png) 

### 암호화 키
<a name="jumpstart-config-security-encryption"></a>

훈련 작업 및 호스팅 작업의 일부로 전달되는 AWS KMS 키를 선택할 수 있습니다. SageMaker AI는 이 키를 사용하여 컨테이너의 Amazon EBS 볼륨과 Amazon S3에서 호스팅 작업과 훈련 작업 출력을 위해 리패키징된 모델을 암호화합니다. AWS KMS 키에 대한 자세한 내용은 [AWS KMS 키를](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#kms_keys) 참조하세요.

전달하는 키는 전달한 IAM 역할을 신뢰해야 합니다. IAM 역할을 지정하지 않으면 AWS KMS 키가 Studio Classic 런타임 역할을 신뢰해야 합니다.

 AWS KMS 키를 선택하지 않으면 SageMaker AI는 Amazon EBS 볼륨 및 Amazon S3 아티팩트의 데이터에 대한 기본 암호화를 제공합니다.

**암호화 키 찾기**

이 옵션을 선택하는 경우 드롭다운 목록에서 기존 AWS KMS 키를 선택해야 합니다.

 ![JumpStart Security Settings encryption section with Find encryption keys selected.](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-findencryption.png) 

**입력 암호화 키**

이 옵션을 선택하는 경우 AWS KMS 키를 수동으로 입력해야 합니다. Studio Classic 실행 역할 또는 Amazon VPC가 `kms:list* `호출을 차단하는 경우이 옵션을 사용하여 기존 AWS KMS 키를 선택해야 합니다.

 ![JumpStart Security Settings encryption section with Input encryption keys selected.](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-inputencryption.png) 

## JumpStart 모델의 기본값을 구성합니다.
<a name="jumpstart-config-defaults"></a>

JumpStart 모델 배포 및 훈련을 위해 IAM 역할, VPC 및 KMS 키와 같은 파라미터의 기본값을 미리 채우도록 구성할 수 있습니다. 기본값을 구성한 후 Studio Classic UI는 지정된 보안 설정 및 태그를 JumpStart 모델에 자동으로 제공하여 배포 및 훈련 워크플로를 단순화합니다. 관리자와 최종 사용자는 구성 파일에 지정된 기본값을 YAML 형식으로 초기화할 수 있습니다.

기본적으로 SageMaker Python SDK는 두 개의 구성 파일을 사용하는데, 하나는 관리자용이고 다른 하나는 사용자용입니다. 관리자는 관리자 구성 파일을 사용하여 기본값 세트를 정의할 수 있습니다. 최종 사용자는 관리자 구성 파일에 설정된 값을 재정의하고 최종 사용자 구성 파일을 사용하여 추가 기본값을 설정할 수 있습니다. (자세한 정보는 [기본 구성 파일 위치](https://sagemaker.readthedocs.io/en/stable/overview.html#default-configuration-file-location)를 참조하세요.

다음 코드 샘플은 Amazon SageMaker Studio Classic에서 SageMaker Python SDK를 사용할 때 구성 파일의 기본 위치를 나열합니다.

```
# Location of the admin config file
/etc/xdg/sagemaker/config.yaml

# Location of the user config file
/root/.config/sagemaker/config.yaml
```

사용자 구성 파일에 지정된 값은 관리자 구성 파일에 설정된 값보다 우선합니다. 구성 파일은 Amazon SageMaker AI 도메인 내의 각 사용자 프로필마다 고유합니다. 사용자 프로필의 Studio Classic 애플리케이션은 사용자 프로필과 직접 연결됩니다. 자세한 내용은 [도메인 프로필 관리](domain-user-profile.md) 섹션을 참조하세요.

관리자는 `JupyterServer` 수명 주기 구성을 통해 JumpStart 모델 훈련 및 배포를 위한 구성 기본값을 선택적으로 설정할 수 있습니다. 자세한 내용은 [수명 주기 구성 생성 및 Amazon SageMaker Studio Classic과 연결](studio-lcc-create.md) 섹션을 참조하세요.

### 기본값 구성 YAML 파일
<a name="jumpstart-config-defaults-yaml"></a>

구성 파일은 SageMaker Python SDK [구성 파일 구조](https://sagemaker.readthedocs.io/en/stable/overview.html#configuration-file-structure)를 준수해야 합니다. `TrainingJob`, `Model` 및 `EndpointConfig` 구성의 특정 필드는 JumpStart 모델 훈련 및 배포 기본값에 적용된다는 점에 유의하세요.

```
SchemaVersion: '1.0'
SageMaker:
  TrainingJob:
    OutputDataConfig:
      KmsKeyId: {{example-key-id}}
    ResourceConfig:
      # Training configuration - Volume encryption key
      VolumeKmsKeyId: {{example-key-id}}
    # Training configuration form - IAM role
    RoleArn: arn:aws:iam::{{123456789012}}:role/SageMakerExecutionRole
    VpcConfig:
      # Training configuration - Security groups
      SecurityGroupIds:
      - {{sg-1}}
      - {{sg-2}}
      # Training configuration - Subnets
      Subnets:
      - {{subnet-1}}
      - {{subnet-2}}
    # Training configuration - Custom resource tags
    Tags:
    - Key: {{Example-key}}
      Value: {{Example-value}}
  Model:
    EnableNetworkIsolation: {{true}}
    # Deployment configuration - IAM role
    ExecutionRoleArn: arn:aws:iam::{{123456789012}}:role/SageMakerExecutionRole
    VpcConfig:
      # Deployment configuration - Security groups
      SecurityGroupIds:
      - {{sg-1}}
      - {{sg-2}}
      # Deployment configuration - Subnets
      Subnets:
      - {{subnet-1}}
      - {{subnet-2}}
  EndpointConfig:
    AsyncInferenceConfig:
      OutputConfig:
        KmsKeyId: {{example-key-id}}
    DataCaptureConfig:
      # Deployment configuration - Volume encryption key
      KmsKeyId: {{example-key-id}}
    KmsKeyId: {{example-key-id}}
    # Deployment configuration - Custom resource tags
    Tags:
    - Key: {{Example-key}}
      Value: {{Example-value}}
```