

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

# 도메인에 사용자 지정 파일 시스템 추가
<a name="domain-custom-file-system"></a>

도메인을 만들 때 Amazon SageMaker AI는 도메인에 기본 Amazon Elastic File System (Amazon EFS) 볼륨을 추가합니다. SageMaker AI가 사용자 대신 이 볼륨을 만듭니다. 사용자 지정 Amazon EFS 또는 사용자가 만든 Amazon FSx for Lustre 파일 시스템을 추가할 수도 있습니다. 추가하면 도메인에 속한 사용자가 파일 시스템을 사용할 수 있습니다. 사용자는 Amazon SageMaker Studio를 사용할 때 파일 시스템에 액세스할 수 있습니다. 다음과 같이 지원되는 애플리케이션에 대해 만드는 공간에 파일 시스템을 연결할 수 있습니다.
+ JupyterLab
+ 코드 편집기

공간을 실행하고 애플리케이션을 시작한 후 사용자는 파일 시스템에 포함된 모든 데이터, 코드 또는 기타 아티팩트에 액세스할 수 있습니다.

다음과 같은 방법으로 사용자가 파일 시스템에 액세스하도록 할 수 있습니다.
+ *공유 공간*을 통해 - 도메인에 속한 모든 사용자가 공유 공간을 만들 수 있습니다. 그런 다음 그 공유 공간을 도메인에 속한 모든 사용자가 사용할 수 있습니다.
+ *프라이빗 공간*을 통해 - 도메인에 속한 모든 사용자가 프라이빗 공간을 만들 수 있습니다. 그런 다음 그 프라이빗 공간을 해당 사용자만 사용할 수 있습니다.
+ 개별 사용자 전용 - 모든 사용자가 파일 시스템에 액세스하도록 활성화하지 않으려면 특정 사용자만 액세스하도록 활성화할 수 있습니다. 이렇게 하면 파일 시스템은 특정 사용자가 만드는 프라이빗 공간에서만 사용할 수 있습니다.

Amazon SageMaker API, AWS SDKs 또는를 사용하여 사용자 지정 파일 시스템을 추가할 수 있습니다 AWS CLI. SageMaker AI 콘솔을 사용하면 사용자 지정 파일 시스템을 추가할 수 없습니다.

## 사전 조건
<a name="domain-custom-file-system-prereqs"></a>

도메인에 사용자 지정 파일 시스템을 추가하려면 먼저 다음 요구 사항을 충족해야 합니다.
+ SageMaker AI에 도메인이 있어야 합니다. 파일 시스템을 추가하려면 먼저 도메인 ID가 필요합니다. SageMaker AI 콘솔을 사용하여 ID를 조회할 수 있습니다. AWS CLI를 사용하여 [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-domains.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-domains.html) 명령을 실행할 수도 있습니다.
+  AWS 계정에 Amazon EFS 또는 FSx for Lustre 파일 시스템이 있어야 합니다.

------
#### [ For Amazon EFS ]
  + Amazon EFS를 생성하는 단계는 *Amazon Elastic File System 사용 설명서*의 [Create your Amazon EFS file system](https://docs.aws.amazon.com/efs/latest/ug/gs-step-two-create-efs-resources.html)을 참조하세요.
  + Studio가 파일 시스템에 액세스하려면 먼저 도메인과 연결하는 각 서브넷에 탑재 대상이 있어야 합니다. 서브넷에 탑재 대상을 할당하는 방법에 대한 자세한 내용은 *Amazon Elastic File System 사용 설명서*의 [Creating and managing mount targets and security groups](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html)을 참조하세요.
  + 각 탑재 대상에 대해 도메인을 생성할 AWS 계정 때 Amazon SageMaker AI가에서 생성한 보안 그룹을 추가해야 합니다. 보안 그룹 이름의 형식은 `security-group-for-inbound-nfs-domain-id`입니다. 도메인 ID를 확인하는 방법에 대한 지침은 [도메인 보기](domain-view.md) 섹션을 참조하세요.
  + IAM 권한이 `elasticfilesystem:DescribeMountTargets` 작업을 사용하도록 허용해야 합니다. 이 작업에 대한 자세한 정보는 *Service Authorization Reference*에서 [Actions, resources, and condition keys for Amazon Elastic File System](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticfilesystem.html)을 참조하세요.

------
#### [ For FSx for Lustre ]
  + FSx for Lustre 파일 시스템을 생성하는 단계는 *Amazon FSx for Lustre 사용 설명서*의 [Getting started with Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/getting-started.html.html)를 참조하세요. FSx for Lustre 파일 시스템이 다음 위치에 있는지 확인하세요.
    + 도메인과 동일한 Amazon VPC
    + 도메인에 있는 서브넷 중 하나
  + Studio가 FSx for Lustre 파일 시스템에 액세스할 수 있으려면 먼저 도메인의 보안 그룹을 FSx for Lustre 파일 시스템의 모든 탄력적 네트워크 인터페이스(ENI)에 추가해야 합니다. 이 단계를 거치지 않으면 오류와 함께 앱 생성이 실패합니다. 다음 지침에 따라 FSx for Lustre 파일 시스템 ENI에 도메인 보안 그룹을 추가합니다.

**FSx for Lustre 파일 시스템 ENI에 도메인 보안 그룹 추가(콘솔)**

    1. [Amazon FSx 콘솔](https://console.aws.amazon.com/fsx)로 이동합니다.

    1. **파일 시스템**을 선택합니다.

    1. **파일 시스템 ID** 아래의 해당 링크를 사용하여 FSx for Lustre 파일 시스템을 선택합니다.

    1. 아직 선택되지 않은 경우 **네트워크 및 보안** 탭을 선택합니다.

    1. **서브넷**에서 **모든 ENI를 보려면 Amazon EC2 콘솔을 참조하세요**를 선택합니다. 그러면 Amazon EC2 콘솔로 이동하고 FSx for Lustre 파일 시스템에 연결된 모든 ENI가 표시됩니다.

    1. 각 ENI에 대해 다음을 수행합니다.

       1. **네트워크 인터페이스 ID**에서 해당 링크를 선택하여 ENI를 선택합니다.

       1. 요약 페이지 오른쪽 상단의 **작업**을 선택하여 드롭다운 메뉴를 확장합니다.

       1. 드롭다운 메뉴에서 **보안 그룹 선택**을 선택합니다.

       1. 도메인 보안 그룹을 검색합니다.

          보안 그룹 이름의 형식은 `security-group-for-inbound-nfs-domain-id`입니다. 도메인 ID를 확인하는 방법에 대한 지침은 [도메인 보기](domain-view.md) 섹션을 참조하세요.

       1. **보안 그룹 추가**를 선택합니다.

------

## 를 사용하여 도메인에 사용자 지정 파일 시스템 추가 AWS CLI
<a name="domain-custom-file-system-cli"></a>

를 사용하여 도메인 또는 사용자 프로필에 사용자 지정 파일 시스템을 추가하려면 다음 명령 중 하나를 사용할 때 `CustomFileSystemConfigs`정의를 AWS CLI전달합니다.
+ [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-domain.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-domain.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-domain.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-domain.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-user-profile.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-user-profile.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-user-profile.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-user-profile.html)

다음 예에서는 기존 도메인 또는 사용자 프로필에 파일 시스템을 추가하는 방법을 보여줍니다.

**공유 공간에서 액세스할 수 있는 파일 시스템을 추가하는 방법**
+ 도메인의 기본 공간 설정을 업데이트합니다. 다음 예에서는 파일 시스템 설정을 기본 공간 설정에 추가합니다.

  ```
  aws sagemaker update-domain --domain-id domain-id \
  --default-space-settings file://file-system-settings.json
  ```

  이 예는 파일 시스템 구성을 JSON 파일로 전달하며, 이는 이후 예에 나와 있습니다.

**프라이빗 공간에서 액세스할 수 있는 파일 시스템을 추가하는 방법**
+ 도메인의 기본 사용자 설정을 업데이트합니다. 다음 예에서는 파일 시스템 설정을 기본 사용자 설정에 추가합니다.

  ```
  aws sagemaker update-domain --domain-id domain-id \
  --default-user-settings file://file-system-settings.json
  ```

  이 예는 파일 시스템 구성을 JSON 파일로 전달하며, 이는 이후 예에 나와 있습니다.

**개별 사용자만 액세스할 수 있는 파일 시스템을 추가하는 방법**
+ 사용자의 사용자 프로필을 업데이트합니다. 다음 예에서는 파일 시스템 설정을 사용자 프로필에 추가합니다.

  ```
  aws sagemaker update-user-profile --domain-id domain-id \
  --user-profile-name user-profile-name \
  --user-settings file://file-system-settings.json
  ```

  이 예는 파일 시스템 구성을 JSON 파일로 전달하며, 이는 다음 예에 나와 있습니다.

**Example 파일 시스템 설정 파일**  
이전 예의 파일 `file-system-settings.json`에는 다음과 같은 설정이 있습니다.  

```
{
    "CustomFileSystemConfigs":
    [
        {
            "FSxLustreFileSystemConfig":
            {
              "FileSystemId": "file-system-id",
              "FileSystemPath": "/"
            }
        }
    ]
}
```
이 예시 구성에서는 다음 키를 사용합니다.    
`CustomFileSystemConfigs`  
사용자 지정 파일 시스템 설정(Amazon EFS 파일 시스템만 지원됨)입니다.  
`FSxLustreFileSystemConfig`  
사용자 지정 FSx for Lustre 파일 시스템의 설정입니다.  
`FileSystemId`  
Amazon EFS 파일 시스템의 ID입니다.  
`FileSystemPath`  
Studio에서 도메인 사용자가 자신의 공간에서 액세스할 수 있는 파일 시스템 디렉터리의 경로입니다. 허용된 사용자는 이 디렉터리 이하에만 액세스할 수 있습니다. 기본 경로는 파일 시스템 루트인 `/`입니다.

```
{
    "CustomFileSystemConfigs":
    [
        {
            "EFSFileSystemConfig":
            {
                "FileSystemId": "file-system-id",
                "FileSystemPath": "/"
            }
        }
    ]
}
```
이 예시 구성에서는 다음 키를 사용합니다.    
`CustomFileSystemConfigs`  
사용자 지정 파일 시스템 설정(Amazon EFS 파일 시스템만 지원됨)입니다.  
`EFSFileSystemConfig`  
사용자 지정 Amazon EFS 파일 시스템의 설정입니다.  
`FileSystemId`  
Amazon EFS 파일 시스템의 ID입니다.  
`FileSystemPath`  
Studio에서 도메인 사용자가 자신의 공간에서 액세스할 수 있는 파일 시스템 디렉터리의 경로입니다. 허용된 사용자는 이 디렉터리 이하에만 액세스할 수 있습니다. 기본 경로는 파일 시스템 루트인 `/`입니다.
도메인의 기본 공간 설정에 파일 시스템을 할당할 때는 실행 역할도 설정에 포함해야 합니다.  

```
{
    "ExecutionRole": "execution-role-arn"
}
```
이 예시 구성에는 다음 키가 있습니다.    
`ExecutionRole`  
도메인 사용자의 기본 실행 역할입니다.
파일 시스템에 POSIX 권한을 적용하려면 다음 설정을 `create-domain` 또는 `create-user-profile` 명령에 전달할 수도 있습니다.  

```
{
    "CustomPosixUserConfig":
    {
        "Uid": UID,
        "Gid": GID
    }
}
```
이 예시 구성에서는 다음 키를 사용합니다.    
`CustomPosixUserConfig`  
파일 시스템 작업에 사용되는 기본 POSIX ID입니다. 이러한 설정을 사용하여 사용자 지정 파일 시스템에 액세스하는 사용자 프로필에 기존 POSIX 권한 구조를 적용할 수 있습니다. POSIX 권한 수준에서 파일 시스템에 액세스할 수 있는 사용자와 사용자가 액세스할 수 있는 파일 또는 데이터를 제어할 수 있습니다.  
`create-user-profile` 명령을 사용하여 사용자 프로필을 만들 때 `CustomPosixUserConfig` 설정을 적용할 수도 있습니다. 사용자 프로필에 적용하는 설정은 연결된 도메인에 적용하는 설정을 재정의합니다.  
`create-domain` 및 `create-user-profile` 명령을 사용할 때 `CustomPosixUserConfig` 설정을 적용할 수 있습니다. 그러나 다음과 같은 경우에는 이러한 설정을 적용할 수 없습니다.  
+ 사용자 프로필과 이미 연결된 도메인에 대해 `update-domain` 명령을 사용하는 경우. 이러한 설정은 사용자 프로필이 없는 도메인에만 적용할 수 있습니다.
+ `update-user-profile` 명령을 사용합니다. 이러한 설정을 이미 만든 프로필에 적용하려면 프로필을 삭제하고 업데이트된 설정을 적용한 새 프로필을 만듭니다.  
`Uid`  
POSIX 사용자 ID입니다. 기본값은 200001입니다.  
`Gid`  
POSIX 그룹 ID입니다. 기본값은 1001입니다.

## 를 사용하여 스페이스에 사용자 지정 파일 시스템 연결 AWS CLI
<a name="space-custom-efs-cli"></a>

도메인에 사용자 지정 파일 시스템을 추가한 후 도메인 사용자는 자신이 만든 공간에 파일 시스템을 연결할 수 있습니다. 예를 들어 Studio를 사용하거나 AWS CLI에서 [create-space](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-space.html) 명령을 사용할 때 파일 시스템을 연결할 수 있습니다.

**사용자 지정 파일 시스템을 공간에 연결하는 방법**
+ 공간 설정에 파일 시스템 구성을 추가합니다. 다음 예시 명령은 파일 시스템을 새 공간에 연결합니다.

  ```
  aws sagemaker create-space \
  --space-name space-name \
  --domain-id domain-id \
  --ownership-settings "OwnerUserProfileName=user-profile-name" \
  --space-sharing-settings "SharingType=Private" \
  --space-settings file://space-settings.json
  ```

  이 예에서 파일 `space-settings.json`에는 `FileSystemId` 키가 있는 `CustomFileSystems` 구성을 포함하는 다음 설정이 있습니다.

------
#### [ For your FSx for Lustre file systems ]

  ```
  {
      "AppType": "JupyterLab",
      "JupyterLabAppSettings":
      {
          "DefaultResourceSpec":
          {
            "InstanceType": "instance-type"
          }
      },
      "CustomFileSystems":
      [
          {
              "FSxLustreFileSystem":
              {
                "FileSystemId": "file-system-id"
              }
          }
      ]
  }
  ```

------
#### [ For your Amazon EFS file systems ]

  ```
  {
      "AppType": "JupyterLab",
      "JupyterLabAppSettings":
      {
          "DefaultResourceSpec":
          {
              "InstanceType": "instance-type"
          }
      },
      "CustomFileSystems":
      [
          {
              "EFSFileSystem":
              {
                  "FileSystemId": "file-system-id"
              }
          }
      ]
  }
  ```

------

  SageMaker AI는 `/home/sagemaker-user/custom-file-systems/file-system-type/file-system-id` 경로에 심볼 링크를 만듭니다. 이를 통해 도메인 사용자는 홈 디렉터리 `/home/sagemaker-user`에서 사용자 지정 파일 시스템으로 이동할 수 있습니다.