

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

# 온프레미스 파일 공유 구성을 Amazon FSx로 마이그레이션
<a name="migrate-file-share-config-to-fsx"></a>

다음 절차를 사용하여 기존 파일 공유 설정을 Amazon FSx로 마이그레이션할 수 있습니다. 이 절차에서 소스 파일 서버는 Amazon FSx로의 마이그레이션 대상이 되는 파일 공유 구성을 가진 파일 서버입니다.

**참고**  
파일 공유 구성을 마이그레이션하기 전에 먼저 파일을 Amazon FSx로 마이그레이션하세요. 자세한 내용은 [기존 파일 스토리지를 FSx for Windows File Server로 마이그레이션](migrate-files-fsx.md) 단원을 참조하십시오.

**기존 파일 공유를 FSx for Windows File Server로 마이그레이션**

1. 소스 파일 서버의 컨텍스트 메뉴에서 **관리자 권한으로 실행**을 선택합니다. 관리자 권한으로 **Windows PowerShell**을 엽니다.

1. PowerShell에서 다음 명령을 실행하여 소스 파일 서버의 파일 공유를 `SmbShares.xml`이라는 이름의 파일로 내보냅니다. 이 예제에서 F:를 파일 공유를 내보내는 파일 서버의 드라이브 문자로 바꿉니다.

   ```
   $shareFolder = Get-SmbShare -Special $false | ? { $_.Path -like “F:\*” }
   $shareFolder | Export-Clixml -Path F:\SmbShares.xml
   ```

1. Amazon FSx 파일 시스템이 D:\$1share에 있으므로 F:(사용자의 드라이브 문자)에 대한 모든 참조를 D:\$1share로 대체하여 `SmbShares.xml` 파일을 편집합니다.

1. 기존 파일 공유 구성을 FSx for Windows File Server로 가져옵니다. 대상 Amazon FSx 파일 시스템 및 소스 파일 서버에 액세스할 수 있는 클라이언트에서 저장된 파일 공유 구성을 복사합니다. 그런 다음, 다음 명령을 사용하여 변수로 가져옵니다.

   ```
   $shares = Import-Clixml -Path F:\SmbShares.xml
   ```

1. 다음 옵션 중 하나를 사용하여 FSx for Windows File Server 파일 서버에서 파일 공유를 생성하는 데 필요한 보안 인증 객체를 준비합니다.

   대화형 방식으로 보안 인증 객체를 생성하려면 다음 명령을 사용합니다.

   ```
   $credential = Get-Credential
   ```

    AWS Secrets Manager 리소스를 사용하여 자격 증명 객체를 생성하려면 다음 명령을 사용합니다.

   ```
   $credential = ConvertFrom-Json -InputObject (Get-SECSecretValue -SecretId $AdminSecret).SecretString
   $FSxAdminUserCredential = (New-Object PSCredential($credential.UserName,(ConvertTo-SecureString $credential.Password -AsPlainText -Force)))
   ```

1. 다음 스크립트를 사용하여 파일 공유 구성을 Amazon FSx 파일 서버로 마이그레이션합니다.

   ```
   $FSxAcceptedParameters = ("ContinuouslyAvailable", "Description", "ConcurrentUserLimit", "CATimeout", "FolderEnumerationMode", "CachingMode", "FullAccess", "ChangeAccess", "ReadAccess", "NoAccess", "SecurityDescriptor", "Path", "Name", "EncryptData")
   ForEach ($item in $shares) {
       $param = @{};
       Foreach ($property in $item.psObject.properties) {
           if ($property.Name -In $FSxAcceptedParameters) {
               $param[$property.Name] = $property.Value
           }
       }
       Invoke-Command -ConfigurationName FSxRemoteAdmin -ComputerName amznfsxxxxxxxxx.corp.com -ErrorVariable errmsg -ScriptBlock { New-FSxSmbShare -Credential $Using:credential @Using:param }
   }
   ```