Amazon FSx for Windows File Server 설정 – DNS 별칭을 사용하여 파일 시스템에 액세스해 보기

DNS 별칭을 사용하여 파일 시스템에 액세스해 보는 과정을 정리해 봤습니다.
2022.08.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 DNS 별칭을 사용하여 파일 시스템에 액세스해 보는 과정을 정리해 봤습니다.

환경설정을 하기 전에 Directory Service를 생성할 필요가 있습니다.

Directory Service를 생성하는 방법은 아래 블로그를 참고해 주세요.

추가로 SPN을 추가하기 위해서는 Windows Server에 Active Directory 관리 툴이 설치되어 있어야 합니다.

Active Directory 관리 툴에 대해서는 아래 링크를 참고해 주세요.

DNS 별칭을 사용하여 파일 시스템에 액세스

AWS에서는 FSx for Windows File Server에 액세스 하기 위해 기본 도메인 이름 시스템(DNS)을 제공합니다. 그 외 사용자가 선택한 DNS 별칭을 사용하여 파일 시스템에 액세스할 수도 있습니다. 이번 블로그에서는 AWS에서 제공하는 기본 도메인 이름 시스템(DNS)이 아닌 사용자가 선택한 DNS 별칭으로 FSx for Windows File Server에 액세스 하는 과정을 정리했습니다.

사용자가 선택한 DNS 별칭으로 FSx for Windows File Server에 액세스 하기 위해서는 다음 단계를 따라야 합니다.

  • DNS 별칭을 Amazon FSx 파일 시스템과 연결
  • Kerberos 서비스 주체 이름(SPN) 설정

DNS 별칭을 Amazon FSx 파일 시스템과 연결

먼저 DNS 별칭을 설정하기에 앞서, FSx를 생성합니다.

FSx를 생성하는 방법은 아래 블로그를 참고해 주세요.

FSx를 생성하는 과정에서「액세스」에서 DNS 별칭을 설정합니다.

DNS 별칭 규칙은 아래와 같습니다.

  • accounting.example.com같은 정규화된 도메인 이름(FQDN) hostname.domain으로 형식을 지정해야 합니다.
  • 영숫자와 하이픈(-)을 사용할 수 있습니다.
  • 하이픈으로 시작하거나 종료할 수 없습니다.
  • 숫자로 시작할 수 있습니다.

DNS 별칭을 입력 했다면 그대로 FSx를 생성합니다.

DNS 별칭에 관해서는 아래 링크를 참고해 주세요.

Kerberos 서비스 주체 이름(SPN) 설정

이어서 Kerberos 서비스 주체 이름(SPN)을 설정합니다.

SPN은 서비스를 안전하게 실행하기 위해 제공되는 ID입니다.

즉, SPN은 클라이언트가 서비스의 인스턴스를 고유하게 식별하는 이름이며, 스푸핑하여 서비스를 탈취하는 것을 방지합니다.

Kerberos 인증이란 네트워크 인증 방식 중 하나이며 서버와 클라이언트 간의 신원 확인을 위해 사용하는 프로토콜입니다.

Amazon FSx 파일 시스템의 활성 디렉터리 컴퓨터 객체의 DNS 별칭에 해당하는 서비스 주체 이름(SPN)을 추가해야 합니다.

먼저 아래 두가지의 기존 DNS 별칭 SPN을 찾습니다.

  • HOST/fsx
  • HOST/fsx.aws.jw.classmethod.kr

Windows에서 관리자 권한으로 PowerShell을 실행합니다.

## Find SPNs for original file system’s AD computer object
$ALIAS = “fsx.aws.jw.classmethod.kr”
SetSPN /Q (“HOST/” + $ALIAS)
SetSPN /Q (“HOST/” + $ALIAS.Split(“.”)[0])

다음 명령어를 통해 SPN을 찾습니다.

SPN이 없다는 결과가 출력 된다면 SPN을 추가 합니다.

## Set SPNs for FSx file system AD computer object
$FSxDnsName = “amznfsxvbjh2nlw.jw.classmethod.kr”
$Alias = “fsx.aws.jw.classmethod.kr”
$FileSystemHost = (Resolve-DnsName $FSxDnsName | Where Type -eq ‘A’)[0].Name.Split(“.”)[0]
$FSxAdComputer = (Get-AdComputer -Identity $FileSystemHost)

Set-AdComputer -Identity $FSxAdComputer -Add @{“msDS-AdditionalDnsHostname”=“$Alias”}
SetSpn /S (“HOST/” + $Alias.Split(‘.’)[0]) $FSxAdComputer.Name
SetSpn /S (“HOST/” + $Alias) $FSxAdComputer.Name

SPN을 추가하기 위해 다음 명령어를 PowerShell에서 실행합니다.

## Find SPNs for original file system’s AD computer object
$ALIAS = “fsx.aws.jw.classmethod.kr”
SetSPN /Q (“HOST/” + $ALIAS)
SetSPN /Q (“HOST/” + $ALIAS.Split(“.”)[0])

SPN 추가가 끝났다면 다시 SPN이 설정 되어 있는지 위 명령어로 확인합니다.

$Alias=“fsx.aws.jw.classmethod.kr”
$FSxDnsName=“amznfsxvbjh2nlw.jw.classmethod.kr”
$AliasHost=$Alias.Split(‘.’)[0]
$ZoneName=((Get-WmiObject Win32_ComputerSystem).Domain)
$DnsServerComputerName = (Resolve-DnsName $ZoneName -Type NS | Where Type -eq ‘A’ | Select -ExpandProperty Name).Split(‘.’)[0]

Add-DnsServerResourceRecordCName -Name $AliasHost -ComputerName $DnsServerComputerName -HostNameAlias $FSxDnsName -ZoneName $ZoneName

마지막으로 파일 시스템의 DNS CNAME 레코드 업데이트 또는 생성을 실시합니다.

파일 시스템의 SPN을 올바르게 구성한 후 원본 파일 시스템으로 확인된 각 DNS 레코드를 Amazon FSx 파일 시스템의 기본 DNS 이름으로 확인하는 DNS 레코드로 바꾸어 Amazon FSx로 잘라낼 수 있습니다.

설정이 끝났다면 다음 명령을 통해 파일 시스템에 접근할 수 있습니다.

  • \\amznfsxvbjh2nlw.jw.classmethod.kr\
  • \\fsx.jw.classmethod.kr\
  • \\fsx\

조금 전 설정한 fsx라는 별칭을 통해 접근할 수 있는 것을 확인할 수 있습니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !

참고