差分がメタデータのみの状態でAWS DataSyncを実行した際の転送データ量を確認してみた
メタデータのみ転送するのか気になる
こんにちは、のんピ(@non____97)です。
皆さんはファイルサーバー間の差分がメタデータのみのとき、DataSyncがメタデータのみ転送するのか気になったことはありますか? 私はあります。
DataSyncを使うことによってオンプレミス環境のファイルサーバーからFSx for ONTAPやFSx for Windows File Serverに簡単に移行することができます。
しかし、数10TBなど大規模なファイルサーバーを移行する際は、ネットワークの帯域や転送時間を考慮してSnowball Edgeを組み合わせる場面があると思います。
Snowball EdgeとDataSyncを組み合わせる場合の大まかな移行フローは以下の様になります。
- オンプレミス環境のファイルサーバーからSnowball Edgeにデータを転送
- Snowball Edgeを発送し、データをS3バケットにへ転送
- S3バケットへの転送完了後、DataSyncを使ってS3バケットからFSx for ONTAPへ転送
- FSx for ONTAPへの転送完了後、オンプレミス環境のファイルサーバーからSnowball Edgeへの転送が完了してからの差分データを反映させるために、DataSyncを使ってオンプレミス環境ファイルサーバーとFSx for ONTAP間でデータ同期
一旦S3バケットを間に挟む関係上、2のタイミングでACLなどのメタデータが失われます。そのため、3でDataSyncを使ってS3バケットからFSx for ONTAPへ転送した際のファイルとオンプレミス環境ファイルサーバー上のファイルとでメタデータの差分が発生します。
コピー元とコピー先の場所が類似したメタデータ構造でない場合、またはソースメタデータが欠落している場合、 DataSync デフォルトの POSIX メタデータが適用されます。
この時、4の作業を実施したときにメタデータのみ更新するのか、それともデータごと上書きするのか気になりました。AWS公式ドキュメントには以下のような記載があり、メタデータのみ上書きしてくれるのかが読み取れませんでした。
ソースのデータやメタデータが異なる場合に、送信先のファイルをソースのファイルで上書きする場合は、ファイルを上書きする を選択します。
もし、メタデータだけでなくファイル本体のデータも転送してしまうと、Snowball Edgeを使う旨味がなくなってしまいます。
そこで、実際に同様の操作を行い、差分がメタデータのみの場合のDataSyncの転送データ量を確認みようと思います。
いきなりまとめ
- 差分がメタデータのみの場合は、メタデータのみ転送する
検証の構成
検証の構成は以下の通りです。
以下のようにDataSyncを使ってデータを転送して、それぞれの転送量を確認します。
- FSx for Windows File ServerからS3バケット
- S3バケットからFSx for ONTAP
- Fsx for Windows File ServerからFSx for ONTAP
ドメインの設定
検証の下準備として、FSx for ONTAPにドメインユーザーを使ってSMB接続できるようにドメインの設定を行います。
VPCやWindows Server、Managed Microsoft ADはAWS CDKでデプロイします。
AWS CDKのコードは以下に保存しています。
npx cdk deploy ManagedMSADStack
でManaed Microsoft AD周りのスタックをデプロイします。
デプロイ後、Windows Server 2022にSSMセッションマネージャーで接続します。
Windows ServerのEC2インスタンスでドメイン結合ディレクトリの設定をしたので、ドメイン参加しているか確認します。
> Get-WmiObject Win32_NTDomain | Format-List * PSComputerName : EC2AMAZ-GP31FTS Status : Unknown DomainName : DomainGuid : __GENUS : 2 __CLASS : Win32_NTDomain __SUPERCLASS : CIM_System __DYNASTY : CIM_ManagedSystemElement __RELPATH : Win32_NTDomain.Name="Domain: EC2AMAZ-GP31FTS" __PROPERTY_COUNT : 27 __DERIVATION : {CIM_System, CIM_LogicalElement, CIM_ManagedSystemElement} __SERVER : EC2AMAZ-GP31FTS __NAMESPACE : root\cimv2 __PATH : \\EC2AMAZ-GP31FTS\root\cimv2:Win32_NTDomain.Name="Domain: EC2AMAZ-GP31FTS" Caption : EC2AMAZ-GP31FTS ClientSiteName : CreationClassName : Win32_NTDomain DcSiteName : Description : EC2AMAZ-GP31FTS DnsForestName : DomainControllerAddress : DomainControllerAddressType : DomainControllerName : DSDirectoryServiceFlag : DSDnsControllerFlag : DSDnsDomainFlag : DSDnsForestFlag : DSGlobalCatalogFlag : DSKerberosDistributionCenterFlag : DSPrimaryDomainControllerFlag : DSTimeServiceFlag : DSWritableFlag : InstallDate : Name : Domain: EC2AMAZ-GP31FTS NameFormat : PrimaryOwnerContact : PrimaryOwnerName : Roles : Scope : System.Management.ManagementScope Path : \\EC2AMAZ-GP31FTS\root\cimv2:Win32_NTDomain.Name="Domain: EC2AMAZ-GP31FTS" Options : System.Management.ObjectGetOptions ClassPath : \\EC2AMAZ-GP31FTS\root\cimv2:Win32_NTDomain Properties : {Caption, ClientSiteName, CreationClassName, DcSiteName...} SystemProperties : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...} Qualifiers : {dynamic, Locale, provider, UUID} Site : Container : PSComputerName : EC2AMAZ-GP31FTS Status : OK DomainName : corp DomainGuid : {1282DACA-90AA-4553-8C0F-6F93BBC4B324} __GENUS : 2 __CLASS : Win32_NTDomain __SUPERCLASS : CIM_System __DYNASTY : CIM_ManagedSystemElement __RELPATH : Win32_NTDomain.Name="Domain: CORP" __PROPERTY_COUNT : 27 __DERIVATION : {CIM_System, CIM_LogicalElement, CIM_ManagedSystemElement} __SERVER : EC2AMAZ-GP31FTS __NAMESPACE : root\cimv2 __PATH : \\EC2AMAZ-GP31FTS\root\cimv2:Win32_NTDomain.Name="Domain: CORP" Caption : CORP ClientSiteName : Default-First-Site-Name CreationClassName : Win32_NTDomain DcSiteName : Default-First-Site-Name Description : CORP DnsForestName : corp.non-97.net DomainControllerAddress : \\10.0.1.232 DomainControllerAddressType : 1 DomainControllerName : \\WIN-P509JVTS7K6 DSDirectoryServiceFlag : True DSDnsControllerFlag : False DSDnsDomainFlag : False DSDnsForestFlag : True DSGlobalCatalogFlag : True DSKerberosDistributionCenterFlag : True DSPrimaryDomainControllerFlag : False DSTimeServiceFlag : True DSWritableFlag : True InstallDate : Name : Domain: CORP NameFormat : PrimaryOwnerContact : PrimaryOwnerName : Roles : Scope : System.Management.ManagementScope Path : \\EC2AMAZ-GP31FTS\root\cimv2:Win32_NTDomain.Name="Domain: CORP" Options : System.Management.ObjectGetOptions ClassPath : \\EC2AMAZ-GP31FTS\root\cimv2:Win32_NTDomain Properties : {Caption, ClientSiteName, CreationClassName, DcSiteName...} SystemProperties : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...} Qualifiers : {dynamic, Locale, provider, UUID} Site : Container :
DnsForestName
がcorp.non-97.net
であることから意図したドメインに参加できていそうです。
Active DirectoryやDNSの管理ツール、グループポリシー管理などManaged Microsoft ADの管理に必要な機能をインストールします。
# 現在インストールされている役割と機能の確認 > Get-WindowsFeature | Where-object {$_.Installed -eq $True} Display Name Name Install State ------------ ---- ------------- [X] File and Storage Services FileAndStorage-Services Installed [X] Storage Services Storage-Services Installed [X] .NET Framework 4.8 Features NET-Framework-45-Fea... Installed [X] .NET Framework 4.8 NET-Framework-45-Core Installed [X] WCF Services NET-WCF-Services45 Installed [X] TCP Port Sharing NET-WCF-TCP-PortShar... Installed [X] Microsoft Defender Antivirus Windows-Defender Installed [X] System Data Archiver System-DataArchiver Installed [X] Windows PowerShell PowerShellRoot Installed [X] Windows PowerShell 5.1 PowerShell Installed [X] WoW64 Support WoW64-Support Installed [X] XPS Viewer XPS-Viewer Installed # Active DirectoryやDNSの管理ツール、グループポリシー管理をインストール > Install-WindowsFeature -Name RSAT-ADDS,RSAT-DNS-Server,GPMC Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True No Success {Group Policy Management, Remote Server Ad... # インストールされたことを確認 > Get-WindowsFeature | Where-object {$_.Installed -eq $True} Display Name Name Install State ------------ ---- ------------- [X] File and Storage Services FileAndStorage-Services Installed [X] Storage Services Storage-Services Installed [X] .NET Framework 4.8 Features NET-Framework-45-Fea... Installed [X] .NET Framework 4.8 NET-Framework-45-Core Installed [X] WCF Services NET-WCF-Services45 Installed [X] TCP Port Sharing NET-WCF-TCP-PortShar... Installed [X] Group Policy Management GPMC Installed [X] Microsoft Defender Antivirus Windows-Defender Installed [X] Remote Server Administration Tools RSAT Installed [X] Role Administration Tools RSAT-Role-Tools Installed [X] AD DS and AD LDS Tools RSAT-AD-Tools Installed [X] Active Directory module for Windows ... RSAT-AD-PowerShell Installed [X] AD DS Tools RSAT-ADDS Installed [X] Active Directory Administrative ... RSAT-AD-AdminCenter Installed [X] AD DS Snap-Ins and Command-Line ... RSAT-ADDS-Tools Installed [X] DNS Server Tools RSAT-DNS-Server Installed [X] System Data Archiver System-DataArchiver Installed [X] Windows PowerShell PowerShellRoot Installed [X] Windows PowerShell 5.1 PowerShell Installed [X] WoW64 Support WoW64-Support Installed [X] XPS Viewer XPS-Viewer Installed
それでは、ドメインユーザーやOUを作成していきます。
やっていることは以下記事と同じです。
ドメインのAdminでRDP接続し、FSxForONTAP
というOUを追加します。
# 現在のOU一覧を確認 > Get-ADOrganizationalUnit -Filter "*" -SearchBase "OU=corp,DC=corp,DC=non-97,DC=net" City : Country : DistinguishedName : OU=corp,DC=corp,DC=non-97,DC=net LinkedGroupPolicyObjects : {} ManagedBy : Name : corp ObjectClass : organizationalUnit ObjectGUID : 88862860-11db-4b64-b099-64872e01f75e PostalCode : State : StreetAddress : City : Country : DistinguishedName : OU=Users,OU=corp,DC=corp,DC=non-97,DC=net LinkedGroupPolicyObjects : {} ManagedBy : Name : Users ObjectClass : organizationalUnit ObjectGUID : 968bbe66-c685-4a74-b5a2-a648631fc885 PostalCode : State : StreetAddress : City : Country : DistinguishedName : OU=Computers,OU=corp,DC=corp,DC=non-97,DC=net LinkedGroupPolicyObjects : {} ManagedBy : Name : Computers ObjectClass : organizationalUnit ObjectGUID : a962dc32-fb91-4962-945f-115d88e166c0 PostalCode : State : StreetAddress : # OUの作成 > New-ADOrganizationalUnit -Name FSxForONTAP -Path "OU=corp,DC=corp,DC=non-97,DC=net" -ProtectedFromAccidentalDeletion $True # OUが作成されたことを確認 > Get-ADOrganizationalUnit -Filter "*" -SearchBase "OU=corp,DC=corp,DC=non-97,DC=net" City : Country : DistinguishedName : OU=corp,DC=corp,DC=non-97,DC=net LinkedGroupPolicyObjects : {} ManagedBy : Name : corp ObjectClass : organizationalUnit ObjectGUID : 88862860-11db-4b64-b099-64872e01f75e PostalCode : State : StreetAddress : City : Country : DistinguishedName : OU=Users,OU=corp,DC=corp,DC=non-97,DC=net LinkedGroupPolicyObjects : {} ManagedBy : Name : Users ObjectClass : organizationalUnit ObjectGUID : 968bbe66-c685-4a74-b5a2-a648631fc885 PostalCode : State : StreetAddress : City : Country : DistinguishedName : OU=Computers,OU=corp,DC=corp,DC=non-97,DC=net LinkedGroupPolicyObjects : {} ManagedBy : Name : Computers ObjectClass : organizationalUnit ObjectGUID : a962dc32-fb91-4962-945f-115d88e166c0 PostalCode : State : StreetAddress : City : Country : DistinguishedName : OU=FSxForONTAP,OU=corp,DC=corp,DC=non-97,DC=net LinkedGroupPolicyObjects : {} ManagedBy : Name : FSxForONTAP ObjectClass : organizationalUnit ObjectGUID : 456ed8f8-f2b3-4e01-a66c-d61058e9ef08 PostalCode : State : StreetAddress :
OUから制御の委任時に指定されるユーザーFSxServiceAccount
を作成します。
# ドメインユーザー一覧の確認 > Get-ADUser -Filter "*" -SearchBase "OU=corp,DC=corp,DC=non-97,DC=net" DistinguishedName : CN=Admin,OU=Users,OU=corp,DC=corp,DC=non-97,DC=net Enabled : True GivenName : Name : Admin ObjectClass : user ObjectGUID : 445611da-2c17-48fb-b866-1cd6149fc524 SamAccountName : Admin SID : S-1-5-21-3833846090-3744732064-2772568232-1113 Surname : UserPrincipalName : admin@corp.non-97.net # FSxServiceAccount の作成 > New-ADUser ` -Name "FSxServiceAccount" ` -UserPrincipalName "FSxServiceAccount@corp.non-97.net" ` -Accountpassword (Read-Host -AsSecureString "AccountPassword") ` -Path "OU=FSxForONTAP,OU=corp,DC=corp,DC=non-97,DC=net" ` -PasswordNeverExpires $True ` -Enabled $True AccountPassword: ******************************** # FSxServiceAccount が作成されたことを確認 > Get-ADUser -Filter "*" -SearchBase "OU=corp,DC=corp,DC=non-97,DC=net" DistinguishedName : CN=Admin,OU=Users,OU=corp,DC=corp,DC=non-97,DC=net Enabled : True GivenName : Name : Admin ObjectClass : user ObjectGUID : 445611da-2c17-48fb-b866-1cd6149fc524 SamAccountName : Admin SID : S-1-5-21-3833846090-3744732064-2772568232-1113 Surname : UserPrincipalName : admin@corp.non-97.net DistinguishedName : CN=FSxServiceAccount,OU=FSxForONTAP,OU=corp,DC=corp,DC=non-97,DC=net Enabled : True GivenName : Name : FSxServiceAccount ObjectClass : user ObjectGUID : 4cbff648-d642-438c-bccd-ce1169cf1dc1 SamAccountName : FSxServiceAccount SID : S-1-5-21-3833846090-3744732064-2772568232-1613 Surname : UserPrincipalName : FSxServiceAccount@corp.non-97.net
次に制御の委任です。
FSxForONTAP
で右クリックしてDelegate Control
をクリックします。
以降ウィザードに従って選択・入力をして行きます。
制御を委任するユーザーとして、先ほど作成したFSxServiceAccount
を選択します。
Tasks to Delegate (委任するタスク)ではCreate a custom task to delegate
を選択します。
Delegate control of (委任するタスクのスコープ)ではOnly the following objects in the folder
でComputer objects
を選択し、以下の2つの項目にチェックを入れます。
- Create selected objects in the folder (選択されたオブジェクトをこのフォルダーに作成する)
- Delete selected objects in the folder (選択されたオブジェクトをこのフォルダーから削除する)
移管するアクセス許可では以下の4つを選択します。
- Reset password (パスワードのリセット)
- Read and write account restrictions (アカウントの制限の読み取りと書き込み)
- Validated write to DNS host name (DNSホスト名への検証された書き込み)
- Validated write to service principal name (サービスプリンシパル名への検証された書き込み)
ウィザードの終了画面で設定情報が正しいことを確認します。
念の為OUFSxForONTAP
のプロパティでSecurity
タブを開き、FSxServiceAccount
に意図したアクセス許可が設定されていることを確認します。
FSx for ONTAP内のファイルにアクセスする際に使用するユーザーFSxAdmin
を作成します。
# FSxAdminの作成 > New-ADUser ` -Name "FSxAdmin" ` -UserPrincipalName "FSxAdmin@corp.non-97.net" ` -Accountpassword (Read-Host -AsSecureString "AccountPassword") ` -Path "OU=FSxForONTAP,OU=corp,DC=corp,DC=non-97,DC=net" ` -PasswordNeverExpires $True ` -Enabled $True AccountPassword: ******************************** # FSxAdminが作成されたことを確認 > Get-ADUser -Filter "*" -SearchBase "OU=corp,DC=corp,DC=non-97,DC=net" DistinguishedName : CN=Admin,OU=Users,OU=corp,DC=corp,DC=non-97,DC=net Enabled : True GivenName : Name : Admin ObjectClass : user ObjectGUID : 445611da-2c17-48fb-b866-1cd6149fc524 SamAccountName : Admin SID : S-1-5-21-3833846090-3744732064-2772568232-1113 Surname : UserPrincipalName : admin@corp.non-97.net DistinguishedName : CN=FSxServiceAccount,OU=FSxForONTAP,OU=corp,DC=corp,DC=non-97,DC=net Enabled : True GivenName : Name : FSxServiceAccount ObjectClass : user ObjectGUID : 4cbff648-d642-438c-bccd-ce1169cf1dc1 SamAccountName : FSxServiceAccount SID : S-1-5-21-3833846090-3744732064-2772568232-1613 Surname : UserPrincipalName : FSxServiceAccount@corp.non-97.net DistinguishedName : CN=FSxAdmin,OU=FSxForONTAP,OU=corp,DC=corp,DC=non-97,DC=net Enabled : True GivenName : Name : FSxAdmin ObjectClass : user ObjectGUID : bdd17da8-4b73-4d7f-9e7d-2ac453a53822 SamAccountName : FSxAdmin SID : S-1-5-21-3833846090-3744732064-2772568232-1614 Surname : UserPrincipalName : FSxAdmin@corp.non-97.net
FSx for ONTAP管理用のセキュリティグループを作成し、先ほど作成したFSxAdmin
を追加します。
# グループ一覧の確認 > Get-ADGroup -Filter "*" -SearchBase "OU=corp,DC=corp,DC=non-97,DC=net" # セキュリティグループの作成 > New-ADGroup ` -Name FSxAdminGroup ` -GroupCategory Security ` -GroupScope Global ` -Path "OU=FSxForONTAP,OU=corp,DC=corp,DC=non-97,DC=net" # セキュリティグループが作成されたことを確認 > Get-ADGroup -Filter "*" -SearchBase "OU=corp,DC=corp,DC=non-97,DC=net" DistinguishedName : CN=FSxAdminGroup,OU=FSxForONTAP,OU=corp,DC=corp,DC=non-97,DC=net GroupCategory : Security GroupScope : Global Name : FSxAdminGroup ObjectClass : group ObjectGUID : 77f7af49-59b1-4c44-816c-cbd1906776f1 SamAccountName : FSxAdminGroup SID : S-1-5-21-3833846090-3744732064-2772568232-1612 # セキュリティグループにFSxAdminを追加 > Add-ADGroupMember -Identity FSxAdminGroup -Members FSxAdmin # セキュリティグループにFSxAdminが追加されたことを確認 > Get-ADGroupMember -Identity FSxAdminGroup distinguishedName : CN=FSxAdmin,OU=FSxForONTAP,OU=corp,DC=corp,DC=non-97,DC=net name : FSxAdmin objectClass : user objectGUID : bdd17da8-4b73-4d7f-9e7d-2ac453a53822 SamAccountName : FSxAdmin SID : S-1-5-21-3833846090-3744732064-2772568232-1614
FSx for ONTAPとFSx for Windows File Serverのデプロイ
ドメイン周りの設定ができたので、FSx for ONTAPとFSx for Windows File Serverをデプロイします。
こちらも、npx cdk deploy FSxStack
とAWS CDKでデプロイします。
SMB共有の作成
Windows ServerがFSx for ONTAPのボリュームをマウントできるようにSMB共有を作成します。
FSx for ONTAPにSSHで接続します。パスワードはSecrets Managerに保存されています。
> ssh fsxadmin@10.0.1.136 The authenticity of host '10.0.1.136 (10.0.1.136)' can't be established. ECDSA key fingerprint is SHA256:z4tP3C0beKgmSAwdSKgcSye3i712vsAwKLurC/yC+Qo. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.1.136' (ECDSA) to the list of known hosts. Password: This is your first recorded login.
SMB共有を作成します。
# SMB共有の作成 FsxId074d827fa378d0d58::> vserver cifs share create -share-name smb -path /smb -share-properties browsable # SMB共有が作成されたことを確認 FsxId074d827fa378d0d58::> vserver cifs share show Vserver Share Path Properties Comment ACL -------------- ------------- ----------------- ---------- -------- ----------- fsx-for-ontap-svm oplocks BUILTIN\Administrators / Full Control c$ / browsable - changenotify show-previous-versions fsx-for-ontap-svm browsable ipc$ / - - fsx-for-ontap-svm browsable Everyone / Full Control smb /smb - 3 entries were displayed.
転送用ファイルの準備
次にDataSyncで転送するファイルの準備をします。
まず、FSx for ONTAPのSMB共有をZドライブに、FSx for Windows File ServerのSMB共有をYドライブにマウントします。
# FSx for ONTAPのSMB共有をZドライブにマウント > net use Z: \\SVM.corp.non-97.net\smb The command completed successfully. # FSx for Windows File ServerのSMB共有をYドライブにマウント > net use Y: \\amznfsxfryqaz06.corp.non-97.net\share The command completed successfully. # マウントされたことを確認 > Get-PSDrive Name Used (GB) Free (GB) Provider Root CurrentLocation ---- --------- --------- -------- ---- --------------- Alias Alias C 13.34 16.66 FileSystem C:\ Users\Admin Cert Certificate \ Env Environment Function Function HKCU Registry HKEY_CURRENT_USER HKLM Registry HKEY_LOCAL_MACHINE Variable Variable WSMan WSMan Y 0.09 31.91 FileSystem \\amznfsxfryqaz06.corp.non-97.ne... Z 0.00 19.00 FileSystem \\SVM.corp.non-97.net\smb
FSx for Windows File ServerのSMB共有をマウントしているYドライブ直下に、転送用ファイルとしてSSM Agentのインストーラーをダウンロードします。1つだけだ寂しいのでダウンロード後、SSM Agentのインストーラーのコピーを6つ作成します。
# SSM Agentのインストーラーをダウンロード > Invoke-WebRequest ` https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows_amd64/AmazonSSMAgentSetup.exe ` -OutFile Y:\SSMAgent_latest.exe # SSM Agentのインストーラーのコピーを6つ作成 > 0..5 | foreach{ Copy-Item -Path "Y:\SSMAgent_latest.exe" -Destination "Y:\SSMAgent_latest$_.exe" } # 作成されたことを確認 > ls Y:\ Directory: Y:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest.exe -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest0.exe -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest1.exe -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest2.exe -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest3.exe -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest4.exe -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest5.exe
メタデータの差分がわかりやすいように、SSMAgent_latest.exe
のACLを変更してFSxServiceAccountに読み込みと実行権限を追加します。
標準ファイル属性や更新日の変更もしてみます。
# 読み込みのみに変更 > Set-ItemProperty -path Y:\SSMAgent_latest0.exe -Name IsReadOnly -Value $true # 隠しファイルに変更 > Set-ItemProperty -path Y:\SSMAgent_latest1.exe -name Attributes -value "Hidden" # システムファイルに変更 > Set-ItemProperty -path Y:\SSMAgent_latest2.exe -name Attributes -value "System" # 更新日の変更 > Set-ItemProperty -path Y:\SSMAgent_latest3.exe -name LastWriteTime -value '2000/8/10 09:00:00' # 標準ファイル属性の削除 > Set-ItemProperty -path Y:\SSMAgent_latest4.exe -name Attributes -value "Normal"
各ファイルのACLやプロパティを確認します。
# 各ファイルのACLの確認 > Get-ChildItem Y:\ | ForEach-Object { $_ ; $_.GetAccessControl().AccessToString; echo `n } Directory: Y:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest.exe corp\FSxServiceAccount Allow ReadAndExecute, Synchronize NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl -ar--- 8/10/2022 12:53 AM 62105576 SSMAgent_latest0.exe NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl ----s- 8/10/2022 12:53 AM 62105576 SSMAgent_latest2.exe NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl -a---- 8/10/2000 9:00 AM 62105576 SSMAgent_latest3.exe NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl ------ 8/10/2022 12:53 AM 62105576 SSMAgent_latest4.exe NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest5.exe NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl # 各ファイルのプロパティの確認 > Get-ChildItem Y:\ | Get-ItemProperty | Select-Object * PSPath : Microsoft.PowerShell.Core\FileSystem::Y:\SSMAgent_latest.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Y:\ PSChildName : SSMAgent_latest.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Y:\SSMAgent_latest.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest Target : LinkType : Name : SSMAgent_latest.exe Length : 62105576 DirectoryName : Y:\ Directory : Y:\ IsReadOnly : False Exists : True FullName : Y:\SSMAgent_latest.exe Extension : .exe CreationTime : 8/10/2022 12:51:24 AM CreationTimeUtc : 8/10/2022 12:51:24 AM LastAccessTime : 8/10/2022 12:51:24 AM LastAccessTimeUtc : 8/10/2022 12:51:24 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Y:\SSMAgent_latest0.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Y:\ PSChildName : SSMAgent_latest0.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -ar--- VersionInfo : File: Y:\SSMAgent_latest0.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest0 Target : LinkType : Name : SSMAgent_latest0.exe Length : 62105576 DirectoryName : Y:\ Directory : Y:\ IsReadOnly : True Exists : True FullName : Y:\SSMAgent_latest0.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : ReadOnly, Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Y:\SSMAgent_latest2.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Y:\ PSChildName : SSMAgent_latest2.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : ----s- VersionInfo : File: Y:\SSMAgent_latest2.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest2 Target : LinkType : Name : SSMAgent_latest2.exe Length : 62105576 DirectoryName : Y:\ Directory : Y:\ IsReadOnly : False Exists : True FullName : Y:\SSMAgent_latest2.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : System PSPath : Microsoft.PowerShell.Core\FileSystem::Y:\SSMAgent_latest3.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Y:\ PSChildName : SSMAgent_latest3.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Y:\SSMAgent_latest3.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest3 Target : LinkType : Name : SSMAgent_latest3.exe Length : 62105576 DirectoryName : Y:\ Directory : Y:\ IsReadOnly : False Exists : True FullName : Y:\SSMAgent_latest3.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2000 9:00:00 AM LastWriteTimeUtc : 8/10/2000 9:00:00 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Y:\SSMAgent_latest4.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Y:\ PSChildName : SSMAgent_latest4.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : ------ VersionInfo : File: Y:\SSMAgent_latest4.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest4 Target : LinkType : Name : SSMAgent_latest4.exe Length : 62105576 DirectoryName : Y:\ Directory : Y:\ IsReadOnly : False Exists : True FullName : Y:\SSMAgent_latest4.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Normal PSPath : Microsoft.PowerShell.Core\FileSystem::Y:\SSMAgent_latest5.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Y:\ PSChildName : SSMAgent_latest5.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Y:\SSMAgent_latest5.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest5 Target : LinkType : Name : SSMAgent_latest5.exe Length : 62105576 DirectoryName : Y:\ Directory : Y:\ IsReadOnly : False Exists : True FullName : Y:\SSMAgent_latest5.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive
FSx for Windows File ServerからS3バケットへの転送
DataSyncタスクの作成
準備が整ったのでDataSyncでFSx for Windows File ServerからS3バケットへファイル転送を行います。
DataSyncタスクを作成します。
送信元ロケーションにFSx for Windows File Serverを指定します。
送信先ロケーションにS3バケットを指定します。
設定では、ログレベルを転送されたすべてのオブジェクトとファイルをログに記録する
に変更します。
設定内容を確認してタスクを作成する
をクリックします。
タスクが作成されたことを確認したら開始
-デフォルトから開始する
をクリックします。
実行結果の確認
しばらくすると実行ステータスが成功
になりました。
転送されたデータは414.6MiBとなっていますね。
CloudWatch Logsに出力されたログも確認してみます。
[INFO] Request to start task-03942cff7c826b00a. [INFO] Started logging in destination hostId: host-06f654b510612ee32 for Execution exec-09b3732b046772200 [INFO] Started logging in destination hostId: host-0ced59093c1fede29 for Execution exec-09b3732b046772200 [INFO] Execution exec-09b3732b046772200 started. [NOTICE] Transferred file /SSMAgent_latest3.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest0.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest1.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest5.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest4.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest2.exe, 62105576 bytes [NOTICE] Transferred directory metadata / [NOTICE] Verified directory / [NOTICE] Verified file /SSMAgent_latest.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest0.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest1.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest2.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest3.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest4.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest5.exe, 62105576 bytes [INFO] Execution exec-09b3732b046772200 finished with status Success.
全てのファイルが転送されていそうです。
転送先のS3バケットを確認してみます。
試しにファイルの更新日時を変更したSSMAgent_latest3.exe
を確認してみると、タグでメタデータが表現されていました。
x-amz-meta-file-atime
が最終アクセス時間で、x-amz-meta-file-mtime
が最終更新時間です。末尾にns
が付与されており、ナノ秒であると推測できます。UNIX Timeを変換すると、それぞれの値は以下の日時を指し示していることが分かります。
> echo "1660092889477247488 * 10 ^ -9" | bc -l | awk '{print int($1)}' | xargs date -u -r 2022年 8月10日 水曜日 00時54分49秒 UTC > echo "965898000000000000 * 10 ^ -9" | bc -l | awk '{print int($1)}' | xargs date -u -r 2000年 8月10日 木曜日 09時00分00秒 UTC
計算した日時とYドライブのSSMAgent_latest3.exe
の最終アクセス日時と最終更新日時を照らし合わせると確かに一致していました。
BaseName : SSMAgent_latest3 Target : LinkType : Name : SSMAgent_latest3.exe Length : 62105576 DirectoryName : Y:\ Directory : Y:\ IsReadOnly : False Exists : True FullName : Y:\SSMAgent_latest3.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2000 9:00:00 AM LastWriteTimeUtc : 8/10/2000 9:00:00 AM Attributes : Archive
S3バケットからFSx for ONTAPへの転送
DataSyncタスクの作成
次にS3バケットからFSx for ONTAPへファイル転送を行います。
DataSyncタスクを作成します。
送信元ロケーションに先ほど作成したS3バケットのロケーションを指定します。
送信先ロケーションにFSx for ONTAPを指定します。
設定では、ログレベルを転送されたすべてのオブジェクトとファイルをログに記録する
に変更します。
設定内容を確認してタスクを作成する
をクリックします。
タスクが作成されたことを確認したら開始
-デフォルトから開始する
をクリックします。
実行結果の確認
しばらくすると実行ステータスが成功
になりました。
転送されたデータはFSx for Windows File ServerからS3バケットに転送した時と同じで、414.6MiBとなっていますね。
CloudWatch Logsに出力されたログも確認してみます。
[INFO] Request to start task-0ed137ab884d84392. [INFO] Started logging in destination hostId: host-00282c884cfcf0c13 for Execution exec-0e47ebd0f5c9ce50d [INFO] Started logging in destination hostId: host-0a4c3d4c78bcfe85e for Execution exec-0e47ebd0f5c9ce50d [INFO] Execution exec-0e47ebd0f5c9ce50d started. [NOTICE] Transferred file /SSMAgent_latest1.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest4.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest0.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest5.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest2.exe, 62105576 bytes [NOTICE] Transferred file /SSMAgent_latest3.exe, 62105576 bytes [NOTICE] Transferred directory metadata / [NOTICE] Verified directory / [NOTICE] Verified file /SSMAgent_latest.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest0.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest1.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest2.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest3.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest4.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest5.exe, 62105576 bytes [INFO] Execution exec-0e47ebd0f5c9ce50d finished with status Success.
全てのファイルが転送されていそうです。
ZドライブにあるファイルのACLとプロパティを確認してみます。
# 各ファイルのACLの確認 > Get-ChildItem Z:\ | ForEach-Object { $_ ; $_.GetAccessControl().AccessToString; echo `n } Directory: Z:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 8/10/2022 1:40 AM .aws-datasync Everyone Allow FullControl Everyone Allow 268435456 -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest.exe Everyone Allow FullControl -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest0.exe Everyone Allow FullControl -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest1.exe Everyone Allow FullControl -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest2.exe Everyone Allow FullControl -a---- 8/10/2000 9:00 AM 62105576 SSMAgent_latest3.exe Everyone Allow FullControl -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest4.exe Everyone Allow FullControl -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest5.exe Everyone Allow FullControl # 各ファイルのプロパティの確認 > Get-ChildItem Z:\ | Get-ItemProperty | Select-Object * PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\.aws-datasync PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : .aws-datasync PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : d----- BaseName : .aws-datasync Target : LinkType : Name : .aws-datasync FullName : Z:\.aws-datasync Parent : Exists : True Root : Z:\ Extension : .aws-datasync CreationTime : 8/10/2022 1:40:15 AM CreationTimeUtc : 8/10/2022 1:40:15 AM LastAccessTime : 8/10/2022 1:40:15 AM LastAccessTimeUtc : 8/10/2022 1:40:15 AM LastWriteTime : 8/10/2022 1:40:25 AM LastWriteTimeUtc : 8/10/2022 1:40:25 AM Attributes : Directory PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest Target : LinkType : Name : SSMAgent_latest.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest.exe Extension : .exe CreationTime : 8/10/2022 1:40:20 AM CreationTimeUtc : 8/10/2022 1:40:20 AM LastAccessTime : 8/10/2022 12:53:25 AM LastAccessTimeUtc : 8/10/2022 12:53:25 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest0.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest0.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest0.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest0 Target : LinkType : Name : SSMAgent_latest0.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest0.exe Extension : .exe CreationTime : 8/10/2022 1:40:20 AM CreationTimeUtc : 8/10/2022 1:40:20 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest1.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest1.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest1.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest1 Target : LinkType : Name : SSMAgent_latest1.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest1.exe Extension : .exe CreationTime : 8/10/2022 1:40:20 AM CreationTimeUtc : 8/10/2022 1:40:20 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest2.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest2.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest2.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest2 Target : LinkType : Name : SSMAgent_latest2.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest2.exe Extension : .exe CreationTime : 8/10/2022 1:40:20 AM CreationTimeUtc : 8/10/2022 1:40:20 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest3.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest3.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest3.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest3 Target : LinkType : Name : SSMAgent_latest3.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest3.exe Extension : .exe CreationTime : 8/10/2022 1:40:20 AM CreationTimeUtc : 8/10/2022 1:40:20 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2000 9:00:00 AM LastWriteTimeUtc : 8/10/2000 9:00:00 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest4.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest4.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest4.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest4 Target : LinkType : Name : SSMAgent_latest4.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest4.exe Extension : .exe CreationTime : 8/10/2022 1:40:20 AM CreationTimeUtc : 8/10/2022 1:40:20 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest5.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest5.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest5.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest5 Target : LinkType : Name : SSMAgent_latest5.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest5.exe Extension : .exe CreationTime : 8/10/2022 1:40:20 AM CreationTimeUtc : 8/10/2022 1:40:20 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive
ACLはEveryoneのFullControlを許可しているものになりました。ACLは予想通り転送されていません。
プロパティはファイルの作成日時と読み込み専用や隠しファイルなど標準ファイル属性が転送されていませんでした。最終アクセス日時と最終更新日時は一致していたため、S3バケットに転送された際に付与されたタグが使われていそうですね。
FSx for Windows File ServerからFSx for ONTAPへの転送
DataSyncタスクの作成
それでは、本題のFSx for Windows File ServerからFSx for ONTAPへのファイル転送を行います。
DataSyncタスクを作成します。
送信元ロケーションにFSx for Windows File Serverのロケーションを指定します。
送信先ロケーションにFSx for ONTAPのロケーションを指定します。
設定では、ログレベルを転送されたすべてのオブジェクトとファイルをログに記録する
に変更します。
設定内容を確認してタスクを作成する
をクリックします。
タスクが作成されたことを確認したら開始
-デフォルト
から開始するをクリックします。
実行結果の確認
しばらくすると実行ステータスが成功
になりました。
転送されたデータは0MiBとなっていますね。加えて転送されたファイルが8つになっていることから、各ファイルのメタデータのみを転送していそうです。
CloudWatch Logsに出力されたログも確認してみます。
[INFO] Request to start task-0d833f0ca9b20b5b5. [INFO] Execution exec-016f4439ff0d834de started. [INFO] Started logging in destination hostId: host-0a4c0d0e89a1285f3 for Execution exec-016f4439ff0d834de [INFO] Started logging in destination hostId: host-0bf7482ce80221e05 for Execution exec-016f4439ff0d834de [NOTICE] Transferred directory metadata / [NOTICE] Verified directory / [NOTICE] Verified file /SSMAgent_latest.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest0.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest1.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest2.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest3.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest4.exe, 62105576 bytes [NOTICE] Verified file /SSMAgent_latest5.exe, 62105576 bytes [INFO] Execution exec-016f4439ff0d834de finished with status Success.
各ファイルのメタデータの転送はログから確認できませんでしたが、各ファイルの検証を実施していました。検証のログが出力されるのはデータ転送した時のみだと思っていましたが、メタデータのみを転送した時も出力されるようです。
ZドライブにあるファイルのACLとプロパティを確認してみます。
# 各ファイルのACLの確認 > Get-ChildItem Z:\ | ForEach-Object { $_ ; $_.GetAccessControl().AccessToString; echo `n } Directory: Z:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 8/10/2022 1:52 AM .aws-datasync Everyone Allow FullControl Everyone Allow 268435456 -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest.exe corp\FSxServiceAccount Allow ReadAndExecute, Synchronize NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl -ar--- 8/10/2022 12:53 AM 62105576 SSMAgent_latest0.exe NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl -a--s- 8/10/2022 12:53 AM 62105576 SSMAgent_latest2.exe NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl -a---- 8/10/2000 9:00 AM 62105576 SSMAgent_latest3.exe NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest4.exe NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl -a---- 8/10/2022 12:53 AM 62105576 SSMAgent_latest5.exe NT AUTHORITY\Authenticated Users Allow Modify, Synchronize NT AUTHORITY\SYSTEM Allow FullControl corp\AWS Delegated FSx Administrators Allow FullControl # 各ファイルのプロパティの確認 > Get-ChildItem Z:\ | Get-ItemProperty | Select-Object * PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\.aws-datasync PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : .aws-datasync PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : d----- BaseName : .aws-datasync Target : LinkType : Name : .aws-datasync FullName : Z:\.aws-datasync Parent : Exists : True Root : Z:\ Extension : .aws-datasync CreationTime : 8/10/2022 1:40:15 AM CreationTimeUtc : 8/10/2022 1:40:15 AM LastAccessTime : 8/10/2022 1:40:15 AM LastAccessTimeUtc : 8/10/2022 1:40:15 AM LastWriteTime : 8/10/2022 1:52:27 AM LastWriteTimeUtc : 8/10/2022 1:52:27 AM Attributes : Directory PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest Target : LinkType : Name : SSMAgent_latest.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest.exe Extension : .exe CreationTime : 8/10/2022 12:51:24 AM CreationTimeUtc : 8/10/2022 12:51:24 AM LastAccessTime : 8/10/2022 12:53:25 AM LastAccessTimeUtc : 8/10/2022 12:53:25 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest0.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest0.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -ar--- VersionInfo : File: Z:\SSMAgent_latest0.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest0 Target : LinkType : Name : SSMAgent_latest0.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : True Exists : True FullName : Z:\SSMAgent_latest0.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : ReadOnly, Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest2.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest2.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a--s- VersionInfo : File: Z:\SSMAgent_latest2.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest2 Target : LinkType : Name : SSMAgent_latest2.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest2.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : System, Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest3.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest3.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest3.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest3 Target : LinkType : Name : SSMAgent_latest3.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest3.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2000 9:00:00 AM LastWriteTimeUtc : 8/10/2000 9:00:00 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest4.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest4.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest4.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest4 Target : LinkType : Name : SSMAgent_latest4.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest4.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive PSPath : Microsoft.PowerShell.Core\FileSystem::Z:\SSMAgent_latest5.exe PSParentPath : Microsoft.PowerShell.Core\FileSystem::Z:\ PSChildName : SSMAgent_latest5.exe PSProvider : Microsoft.PowerShell.Core\FileSystem Mode : -a---- VersionInfo : File: Z:\SSMAgent_latest5.exe InternalName: setup OriginalFilename: AmazonSSMAgentSetup.exe FileVersion: 3.1.1634.0 FileDescription: Amazon SSM Agent Product: Amazon SSM Agent ProductVersion: 3.1.1634.0 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) BaseName : SSMAgent_latest5 Target : LinkType : Name : SSMAgent_latest5.exe Length : 62105576 DirectoryName : Z:\ Directory : Z:\ IsReadOnly : False Exists : True FullName : Z:\SSMAgent_latest5.exe Extension : .exe CreationTime : 8/10/2022 12:54:49 AM CreationTimeUtc : 8/10/2022 12:54:49 AM LastAccessTime : 8/10/2022 12:54:49 AM LastAccessTimeUtc : 8/10/2022 12:54:49 AM LastWriteTime : 8/10/2022 12:53:25 AM LastWriteTimeUtc : 8/10/2022 12:53:25 AM Attributes : Archive
ACLがYドライブのファイルに設定したものと同じものになっていました。
プロパティはファイルの作成日時がYドライブのファイルと同じ日時になりました。また、読み込み専用や隠しファイル、システムファイル属性といったファイル属性も一致しています。しかし、アーカイブ属性だけは反映されず、全てのファイルでアーカイブ属性が付与されています。これはFSx for ONTAPでスナップショットを取得するようになっているからかもしれません。
Snowball Edgeを組み合わせた場合も安心
差分がメタデータのみの状態でAWS DataSyncを実行した際の転送データ量を確認してみました。
差分がメタデータのみの場合はちゃんとメタデータのみを転送してくれることを確認できました。Snowball Edgeと組み合せて移行するのも安心して出来そうです。
DataSyncで転送されるメタデータはAWS公式ドキュメントをご覧ください。送信元と送信先のロケーションにSMBで接続する場合に転送されるメタデータは以下の通りです。
When copying between self-managed Server Message Block (SMB), Amazon FSx for Windows File Server, or FSx for ONTAP (using SMB), and FSx for Windows File Server or FSx for ONTAP (using SMB) – In this case, DataSync can copy the following metadata:
- File timestamps: access time, modification time, and creation time
- File owner security identifier (SID)
- Standard file attributes:
- Read-only (R)
- Archive (A)
- System (S)
- Hidden (H)
- Compressed (C)
- Not content indexed (N)
- Encrypted (E)
- Temporary (T)
- Offline (O)
- Sparse (P)
- NTFS discretionary access lists (DACLs), which determine whether to grant access to an object
- NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object
How DataSync handles metadata and special files - AWS DataSync
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!