この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
メタデータのみ転送するのか気になる
こんにちは、のんピ(@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)でした!