AWS DataSync エージェントを EC2 インスタンスにデプロイしてパブリックと VPC Endpoint それぞれでアクティブ化してみた

まずはエージェントをアクティベートするところからやってみます。データ転送実行までの道のりは長い。

コンバンハ、千葉(幸)です。

AWS DataSync は、各種ストレージサービス間でのデータ転送をシンプルかつ高速に実現してくれるサービスです。

S3 や EFS などの AWS 上のサービスや、オンプレで稼働している NFS 、 SMB ストレージ などをロケーションとして定義し、それらを送信先/宛先として組み合わせることで、データ転送が実現できます。

各ロケーションには AWS DataSync エージェント が接続し、データ転送を中継します。エージェントは AWS 上、オンプレ上どちらでも構成することが可能です。

今回は AWS 上の EC2 インスタンスで稼働させる方式でセットアップし、アクティブ化が成功するところまでを試してみます。

目次

AWS DataSync コンポーネントのおさらい

作業に取りかかる前に、簡単に DataSync のコンポーネント全体のおさらいをしておきます。

主要なコンポーネントとしては以下があります。

  • エージェント
  • ロケーション
  • タスク

今回は以下の図を例にして、かいつまんで説明します。


AWS DataSync の仕組み - AWS DataSync より画像引用)

この例では、 S3 上のデータを Amazon EFS のファイルシステム上に転送する流れを表しています。

エージェント

データの転送を経由するコンポーネントとしてエージェントがあります。エージェントは以下の環境のいずれかで稼働させることができます。

  • Amazon EC2
  • Hypervisor
    • VMware
    • KVM
    • Hyper-V
  • AWS Snowcone(プリインストール)

EC2 インスタンスとして エージェントを稼働させる場合、以下の考慮点があります。

  • ファイルシステム間(EFS 、 FSx for Windows 、自己管理 NFS )でデータをコピーする際には、送信元のコンポーネントが存在する AWS リージョンにエージェントを作成する
  • S3 からデータをコピーする際には送信先コンポーネントが存在する AWS リージョンにエージェントを作成する
  • AZ 間のトラフィックの課金を回避するため、エージェントの作成先 AZ はコンポーネントと同一のものを選択することが推奨される
  • オンプレミスのコンポーネントを送信元とする場合、EC2 インスタンスとしてデプロイされたエージェントを用いることはスループットの観点から推奨されない

AWS DataSync エージェントのデプロイ - AWS DataSync

エージェントのアクティブ化の際には、以下のいずれかのエンドポイントを経由して AWS DataSync に通信可能である必要があります。

  • パブリックサービスエンドポイント
  • VPC エンドポイント
  • FIPS エンドポイント
    • AWS GovCloud (米国東部) または AWS GovCloud (米国西部) リージョンにアクセスするときに FIPS 140-2 検証済み暗号化モジュールを使用する必要がある場合は、このエンドポイントを使用してエージェントをアクティブ化します。

エージェントのアクティブ化を行ったのち、紐づくエンドポイントを変更することはできません。

サービスエンドポイントの選択 - AWS DataSync

ロケーション

データ転送のエンドポイントとなるコンポーネントとして、ロケーション(場所)があります。後述するコンポーネント「タスク」においては、送信元と送信先のロケーションを指定することになります。

先ほどの例では以下のような立て付けとなります。

  • 送信元ロケーション:Amazon S3
  • 送信先ロケーション:Amazon EFS

ロケーションを設定する際には、種別に応じてパラメータを設定します。例えば S3 ロケーションであれば ストレージクラスや IAM ロール、 EFS ロケーションであればマウントパスや SecuriryGroup といった具合です。

オンプレミスのコンポーネントをロケーションとしてセットアップする際には、その時点でエージェントの指定が必要となります。

場所の使用 - AWS DataSync

タスク

データ転送の実行は、タスクという単位で管理されます。エージェント、送信先/送信元 ロケーションを指定するほか、フィルタリングの有無やスケジュールなどをタスクのパラメータとして指定します。

また、データ転送の状況はタスクの「ステータス」として確認できるようになります。

タスクの使用 - AWS DataSync

やってみた

今回は、お手軽に「エージェントのアクティブ化」ができるところまでをゴールとします。(タスクの実行はおろか、ロケーションの作成も実行しません。今後の私に期待しましょう。)

EC2 インスタンスの作成

AWS DataSync エージェントとして稼働させるための EC2 インスタンスは、コミュニティ AMI として公開されているマシンイメージからローンチさせることができます。

以下のコマンドを実行して、最新の AMI を確認できます。(末尾のリージョンは必要に応じて変更してください。)

% aws ssm get-parameter --name /aws/service/datasync/ami --region ap-northeast-1
{
    "Parameter": {
        "Name": "/aws/service/datasync/ami",
        "Type": "String",
        "Value": "ami-02de0268b0efe9fc7",
        "Version": 13,
        "LastModifiedDate": "2020-07-21T00:27:24.496000+09:00",
        "ARN": "arn:aws:ssm:ap-northeast-1::parameter/aws/service/datasync/ami",
        "DataType": "text"
    }
}

また、AMI の選択画面から、aws-datasync- でキーワード検索することでも確認可能です。以下のように、aws-data-sync- の後に UNIX時間 が付与された名称で AMI が提供されています。

今回は提供されている中で最新のものを選択します。

インスタンスタイプについて、以下の要件があります。

Amazon EC2 で AWS DataSync をデプロイする場合、AWS DataSync が機能するためにはインスタンスサイズが少なくとも 2xlarge である必要があります

エージェントの要件 - AWS DataSync

推奨されているインスタンスタイプとして、以下が挙げられています。今回は m5.2xlarge を選択しました。(お高いのでドキドキしますね。)

  • m5.2xlarge – 2,000万個以下のファイルを転送するタスク の場合。
  • m5.4xlarge – 2,000万個を超えるファイルを転送するタスクの場合。

その他のパラメータについては、以下のように指定してインスタンスをローンチしました。(全てがDataSync エージェントの要件として必須なわけではありません。)

  • パブリックサブネットに配置
  • 自動割り当てパブリック IP 有効化
  • IAM ロール なし
  • ストレージ 汎用 SSD 80 GiB(デフォルト)
  • SecuriryGroup は既存のものを流用
    • 自身からの全てのインバウンドとマイ IP からの SSH を許可
    • アクティベーションに必要なためマイIPからのHTTPインバウンドを許可
    • アウトバウンドはフル開放
  • キーペアは既存のもの(hogehoge.pemとします)を使用する

作成した EC2 インスタンスへの接続

アクティブ化に必要なわけではないですが、せっかくなので戯れにインスタンスに接続を試みます。

パブリック IP を利用しての SSH 接続

作成した EC2 インスタンスにいつものノリで ec2-user で SSH 接続しようとしてもうまくいきません。

% ssh ec2-user@18.xxx.xx.xx -i ~/.ssh/hogehoge.pem
ec2-user@18.xxx.xx.xx: Permission denied (publickey).

これについては、ドキュメントの以下の文章が該当するかと思います。通常の SSH 接続は許可されていないということでしょう。

セキュリティ上の理由から、Secure Shell (SSH) を使用してエージェントにアクセスすることができません。また、エージェントのローカルコンソールにリモートで接続することもできません。

Creating and Activating an Agent - AWS DataSync

「でしょう」という歯切れの悪い書き方をしているのは、EC2 インスタンスとして DataSync エージェントをデプロイする際には、必ずしもこの限りではないからです。あくまで基本的な考え方として、ユーザーによるサーバへのログインは想定していない、と捉えるとよいかと思います。

ローカルコンソールへの接続

DataSync エージェントのローカルコンソールでは、インターネットへの疎通テスト、ステータス確認や、 AWS サポートからのアクセス有効化などを行うことができます。

VM ローカルコンソールでのエージェントの設定 - AWS DataSync

EC2 インスタンスの場合、admin ユーザーを指定することでリモートで接続可能です。

先ほど ec2-user では拒否されたコマンドでユーザー名を admin にして再試行すると……

% ssh admin@18.xxx.xx.xx -i ~/.ssh/hogehoge.pem

ローカルコンソールに接続できます。

	AWS DataSync Activation - Configuration

	#######################################################################
	##  Currently connected network adapters:
	##
	##  eth0: 192.168.0.98
	#######################################################################

	1: Network Configuration
	2: Test Network Connectivity
	3: View System Resource Check (0 Errors)
	4: Command Prompt

	Press "x" to exit session

        Enter command:

EC2 Agent のトラブルシューティング - AWS DataSync

システムログ

直接 SSH 接続できないのが悲しかったので、 EC2 コンソールの [ アクション ] -> [ インスタンスの設定 ] -> [ システムログの取得 ] から、システムログを参照してみます。

じっくり眺めたわけではないですが、以下のあたりにちょっと興味を惹かれました。

  • ベースとなる AMI は Amazon Linux (2ではない)
  • Storage Gateway が EC2 インスタンス上にデプロイされる

全量を載せているので、興味がある方はご参照ください。(585 行あります。)

折り畳み
[    0.000000] Linux version 4.14.181-108.257.amzn1.x86_64 (mockbuild@koji-pdx-corp-builder-64003) (gcc version 7.2.1 20170915 (Red Hat 7.2.1-2) (GCC)) #1 SMP Wed May 27 02:43:03 UTC 2020
[    0.000000] Command line: root=LABEL=/ console=tty1 console=ttyS0 selinux=0 nvme_core.io_timeout=4294967295 LANG=en_US.UTF-8 KEYTABLE=us
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x020: 'AVX-512 opmask'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x040: 'AVX-512 Hi256'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x080: 'AVX-512 ZMM_Hi256'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: xstate_offset[3]:  832, xstate_sizes[3]:   64
[    0.000000] x86/fpu: xstate_offset[4]:  896, xstate_sizes[4]:   64
[    0.000000] x86/fpu: xstate_offset[5]:  960, xstate_sizes[5]:   64
[    0.000000] x86/fpu: xstate_offset[6]: 1024, xstate_sizes[6]:  512
[    0.000000] x86/fpu: xstate_offset[7]: 1536, xstate_sizes[7]: 1024
[    0.000000] x86/fpu: xstate_offset[9]: 2560, xstate_sizes[9]:    8
[    0.000000] x86/fpu: Enabled xstate features 0x2ff, context size is 2568 bytes, using 'compacted' format.
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bfff8fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000bfff9000-0x00000000bfffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000e03fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x00000008229fffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000822a00000-0x000000083fffffff] reserved
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.7 present.
[    0.000000] DMI: Amazon EC2 m5.2xlarge/, BIOS 1.0 10/16/2017
[    0.000000] Hypervisor detected: KVM
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] e820: last_pfn = 0x822a00 max_arch_pfn = 0x400000000
[    0.000000] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
[    0.000000] e820: last_pfn = 0xbfff9 max_arch_pfn = 0x400000000
[    0.000000] Using GB pages for direct mapping
[    0.000000] RAMDISK: [mem 0x3706a000-0x37feffff]
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x00000000000F8FA0 000014 (v00 AMAZON)
[    0.000000] ACPI: RSDT 0x00000000BFFFE090 00003C (v01 AMAZON AMZNRSDT 00000001 AMZN 00000001)
[    0.000000] ACPI: FACP 0x00000000BFFFFF80 000074 (v01 AMAZON AMZNFACP 00000001 AMZN 00000001)
[    0.000000] ACPI: DSDT 0x00000000BFFFE0D0 0010E9 (v01 AMAZON AMZNDSDT 00000001 AMZN 00000001)
[    0.000000] ACPI: FACS 0x00000000BFFFFF40 000040
[    0.000000] ACPI: SSDT 0x00000000BFFFF480 000AC0 (v01 AMAZON AMZNSSDT 00000001 AMZN 00000001)
[    0.000000] ACPI: APIC 0x00000000BFFFF360 0000A6 (v01 AMAZON AMZNAPIC 00000001 AMZN 00000001)
[    0.000000] ACPI: SRAT 0x00000000BFFFF260 000100 (v01 AMAZON AMZNSRAT 00000001 AMZN 00000001)
[    0.000000] ACPI: SLIT 0x00000000BFFFF1F0 00006C (v01 AMAZON AMZNSLIT 00000001 AMZN 00000001)
[    0.000000] ACPI: WAET 0x00000000BFFFF1C0 000028 (v01 AMAZON AMZNWAET 00000001 AMZN 00000001)
[    0.000000] SRAT: PXM 0 -> APIC 0x00 -> Node 0
[    0.000000] SRAT: PXM 0 -> APIC 0x01 -> Node 0
[    0.000000] SRAT: PXM 0 -> APIC 0x02 -> Node 0
[    0.000000] SRAT: PXM 0 -> APIC 0x03 -> Node 0
[    0.000000] SRAT: PXM 0 -> APIC 0x04 -> Node 0
[    0.000000] SRAT: PXM 0 -> APIC 0x05 -> Node 0
[    0.000000] SRAT: PXM 0 -> APIC 0x06 -> Node 0
[    0.000000] SRAT: PXM 0 -> APIC 0x07 -> Node 0
[    0.000000] ACPI: SRAT: Node 0 PXM 0 [mem 0x00000000-0xbfffffff]
[    0.000000] ACPI: SRAT: Node 0 PXM 0 [mem 0x100000000-0x83fffffff]
[    0.000000] NUMA: Node 0 [mem 0x00000000-0xbfffffff] + [mem 0x100000000-0x8229fffff] -> [mem 0x00000000-0x8229fffff]
[    0.000000] NODE_DATA(0) allocated [mem 0x8229db000-0x8229fcfff]
[    0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[    0.000000] kvm-clock: cpu 0, msr 8:2295b001, primary cpu clock
[    0.000000] kvm-clock: using sched offset of 4433672802 cycles
[    0.000000] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.000000]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000008229fffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.000000]   node   0: [mem 0x0000000000100000-0x00000000bfff8fff]
[    0.000000]   node   0: [mem 0x0000000100000000-0x00000008229fffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x00000008229fffff]
[    0.000000] ACPI: PM-Timer IO Port: 0xb008
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] smpboot: Allowing 8 CPUs, 0 hotplug CPUs
[    0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
[    0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.000000] PM: Registered nosave memory: [mem 0xbfff9000-0xbfffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xc0000000-0xdfffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xe0000000-0xe03fffff]
[    0.000000] PM: Registered nosave memory: [mem 0xe0400000-0xfffbffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfffc0000-0xffffffff]
[    0.000000] e820: [mem 0xc0000000-0xdfffffff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on KVM
[    0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.000000] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:8 nr_cpu_ids:8 nr_node_ids:1
[    0.000000] percpu: Embedded 44 pages/cpu s140120 r8192 d31912 u262144
[    0.000000] KVM setup async PF for cpu 0
[    0.000000] kvm-stealtime: cpu 0, msr 8226161c0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8138970
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: root=LABEL=/ console=tty1 console=ttyS0 selinux=0 nvme_core.io_timeout=4294967295 LANG=en_US.UTF-8 KEYTABLE=us
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Memory: 5266820K/33072732K available (8204K kernel code, 1923K rwdata, 2704K rodata, 2052K init, 4220K bss, 627400K reserved, 0K cma-reserved)
[    0.000000] random: get_random_u64 called from __kmem_cache_create+0x3a/0x590 with crng_init=0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] Kernel/User page tables isolation: enabled
[    0.000000] ftrace: allocating 25879 entries in 102 pages
[    0.004000] Hierarchical RCU implementation.
[    0.004000] 	RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=8.
[    0.004000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=8
[    0.004000] NR_IRQS: 524544, nr_irqs: 488, preallocated irqs: 16
[    0.004000] Console: colour VGA+ 80x25
[    0.004000] console [tty1] enabled
[    0.004000] console [ttyS0] enabled
[    0.004005] tsc: Detected 2499.998 MHz processor
[    0.006852] Calibrating delay loop (skipped) preset value.. 4999.99 BogoMIPS (lpj=9999992)
[    0.008003] pid_max: default: 32768 minimum: 301
[    0.010818] ACPI: Core revision 20170728
[    0.012665] ACPI: 2 ACPI AML tables successfully acquired and loaded
[    0.016018] Security Framework initialized
[    0.024641] Dentry cache hash table entries: 4194304 (order: 13, 33554432 bytes)
[    0.030199] Inode-cache hash table entries: 2097152 (order: 12, 16777216 bytes)
[    0.032086] Mount-cache hash table entries: 65536 (order: 7, 524288 bytes)
[    0.036075] Mountpoint-cache hash table entries: 65536 (order: 7, 524288 bytes)
[    0.040341] Last level iTLB entries: 4KB 64, 2MB 8, 4MB 8
[    0.044004] Last level dTLB entries: 4KB 64, 2MB 0, 4MB 0, 1GB 4
[    0.048003] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.052003] Spectre V2 : Mitigation: Full generic retpoline
[    0.056002] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
[    0.060002] Speculative Store Bypass: Vulnerable
[    0.064025] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.068086] Freeing SMP alternatives memory: 24K
[    0.071691] smpboot: Max logical packages: 2
[    0.072181] x2apic enabled
[    0.076003] Switched APIC routing to physical x2apic.
[    0.081163] ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
[    0.084000] smpboot: CPU0: Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz (family: 0x6, model: 0x55, stepping: 0x7)
[    0.084071] Performance Events: unsupported p6 CPU model 85 no PMU driver, software events only.
[    0.088044] Hierarchical SRCU implementation.
[    0.091138] NMI watchdog: Perf event create on CPU 0 failed with -2
[    0.092003] NMI watchdog: Perf NMI watchdog permanently disabled
[    0.095360] smp: Bringing up secondary CPUs ...
[    0.096095] x86: Booting SMP configuration:
[    0.098791] .... node  #0, CPUs:      #1
[    0.004000] kvm-clock: cpu 1, msr 8:2295b041, secondary cpu clock
[    0.100484] KVM setup async PF for cpu 1
[    0.102565] kvm-stealtime: cpu 1, msr 8226561c0
[    0.104091]  #2
[    0.004000] kvm-clock: cpu 2, msr 8:2295b081, secondary cpu clock
[    0.105475] KVM setup async PF for cpu 2
[    0.106559] kvm-stealtime: cpu 2, msr 8226961c0
[    0.112089]  #3
[    0.004000] kvm-clock: cpu 3, msr 8:2295b0c1, secondary cpu clock
[    0.113446] KVM setup async PF for cpu 3
[    0.114563] kvm-stealtime: cpu 3, msr 8226d61c0
[    0.116090]  #4
[    0.004000] kvm-clock: cpu 4, msr 8:2295b101, secondary cpu clock
[    0.121373] KVM setup async PF for cpu 4
[    0.122532] kvm-stealtime: cpu 4, msr 8227161c0
[    0.124326] MDS CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html for more details.
[    0.128098]  #5
[    0.004000] kvm-clock: cpu 5, msr 8:2295b141, secondary cpu clock
[    0.129488] KVM setup async PF for cpu 5
[    0.130554] kvm-stealtime: cpu 5, msr 8227561c0
[    0.132088]  #6
[    0.004000] kvm-clock: cpu 6, msr 8:2295b181, secondary cpu clock
[    0.136342] KVM setup async PF for cpu 6
[    0.138564] kvm-stealtime: cpu 6, msr 8227961c0
[    0.140091]  #7
[    0.004000] kvm-clock: cpu 7, msr 8:2295b1c1, secondary cpu clock
[    0.141482] KVM setup async PF for cpu 7
[    0.142546] kvm-stealtime: cpu 7, msr 8227d61c0
[    0.236009] smp: Brought up 1 node, 8 CPUs
[    0.238666] smpboot: Total of 8 processors activated (39999.96 BogoMIPS)
[    0.331144] node 0 initialised, 6794628 pages in 88ms
[    0.332713] devtmpfs: initialized
[    0.336038] x86/mm: Memory block size: 128MB
[    0.340079] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.344012] futex hash table entries: 2048 (order: 5, 131072 bytes)
[    0.348135] NET: Registered protocol family 16
[    0.351018] cpuidle: using governor ladder
[    0.352010] cpuidle: using governor menu
[    0.356157] ACPI: bus type PCI registered
[    0.358852] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.360107] PCI: Using configuration type 1 for base access
[    0.365199] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.368004] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.372055] ACPI: Added _OSI(Module Device)
[    0.376004] ACPI: Added _OSI(Processor Device)
[    0.378808] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.380004] ACPI: Added _OSI(Processor Aggregator Device)
[    0.384526] ACPI: Interpreter enabled
[    0.388005] ACPI: (supports S0 S4 S5)
[    0.392003] ACPI: Using IOAPIC for interrupt routing
[    0.394972] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.400553] ACPI: Enabled 16 GPEs in block 00 to 0F
[    0.405468] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.408006] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI]
[    0.412004] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[    0.416007] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
[    0.424267] acpiphp: Slot [3] registered
[    0.426953] acpiphp: Slot [4] registered
[    0.428029] acpiphp: Slot [5] registered
[    0.432003] acpiphp: Slot [6] registered
[    0.432030] acpiphp: Slot [7] registered
[    0.436002] acpiphp: Slot [8] registered
[    0.440032] acpiphp: Slot [9] registered
[    0.442698] acpiphp: Slot [10] registered
[    0.444030] acpiphp: Slot [11] registered
[    0.448003] acpiphp: Slot [12] registered
[    0.448031] acpiphp: Slot [13] registered
[    0.452002] acpiphp: Slot [14] registered
[    0.456031] acpiphp: Slot [15] registered
[    0.458768] acpiphp: Slot [16] registered
[    0.460029] acpiphp: Slot [17] registered
[    0.464002] acpiphp: Slot [18] registered
[    0.464031] acpiphp: Slot [19] registered
[    0.468005] acpiphp: Slot [20] registered
[    0.472029] acpiphp: Slot [21] registered
[    0.474759] acpiphp: Slot [22] registered
[    0.476031] acpiphp: Slot [23] registered
[    0.480002] acpiphp: Slot [24] registered
[    0.480029] acpiphp: Slot [25] registered
[    0.484018] acpiphp: Slot [26] registered
[    0.488033] acpiphp: Slot [27] registered
[    0.492002] acpiphp: Slot [28] registered
[    0.492030] acpiphp: Slot [29] registered
[    0.496003] acpiphp: Slot [30] registered
[    0.500032] acpiphp: Slot [31] registered
[    0.502764] PCI host bridge to bus 0000:00
[    0.504004] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.507699] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.512004] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.516005] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]
[    0.520005] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.528014] pci 0000:00:01.3: quirk: [io  0xb000-0xb03f] claimed by PIIX4 ACPI
[    0.532016] pci 0000:00:01.3: quirk: [io  0xb100-0xb10f] claimed by PIIX4 SMB
[    0.536002] pci 0000:00:01.3: PIIX4 devres E PIO at fff0-ffff
[    0.540018] pci 0000:00:01.3: PIIX4 devres F MMIO at ffc00000-ffffffff
[    0.544003] pci 0000:00:01.3: PIIX4 devres G PIO at fff0-ffff
[    0.544016] pci 0000:00:01.3: PIIX4 devres H MMIO at ffc00000-ffffffff
[    0.548005] pci 0000:00:01.3: PIIX4 devres I PIO at fff0-ffff
[    0.552016] pci 0000:00:01.3: PIIX4 devres J PIO at fff0-ffff
[    0.576020] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 *10 11)
[    0.580087] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
[    0.584002] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
[    0.588002] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 10 *11)
[    0.588006] ACPI: PCI Interrupt Link [LNKS] (IRQs *9)
[    0.592396] pci 0000:00:03.0: vgaarb: setting as boot VGA device
[    0.595406] pci 0000:00:03.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[    0.600038] pci 0000:00:03.0: vgaarb: bridge control possible
[    0.604005] vgaarb: loaded
[    0.608063] EDAC MC: Ver: 3.0.0
[    0.612030] PCI: Using ACPI for IRQ routing
[    0.614980] NetLabel: Initializing
[    0.616006] NetLabel:  domain hash size = 128
[    0.618783] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.620013] NetLabel:  unlabeled traffic allowed by default
[    0.624005] clocksource: Switched to clocksource kvm-clock
[    0.633321] VFS: Disk quotas dquot_6.6.0
[    0.636016] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.639750] pnp: PnP ACPI init
[    0.642510] pnp: PnP ACPI: found 5 devices
[    0.651824] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    0.657410] NET: Registered protocol family 2
[    0.660347] TCP established hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.665641] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    0.669331] TCP: Hash tables configured (established 262144 bind 65536)
[    0.672971] UDP hash table entries: 16384 (order: 7, 524288 bytes)
[    0.676427] UDP-Lite hash table entries: 16384 (order: 7, 524288 bytes)
[    0.680040] NET: Registered protocol family 1
[    0.682819] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[    0.686109] pci 0000:00:01.0: Activating ISA DMA hang workarounds
[    0.689544] pci 0000:00:03.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[    0.694933] Unpacking initramfs...
[    0.925491] Freeing initrd memory: 15896K
[    0.928184] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.931608] software IO TLB: mapped [mem 0xbbff9000-0xbfff9000] (64MB)
[    0.935065] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x240937b9988, max_idle_ns: 440795218083 ns
[    0.941836] audit: initializing netlink subsys (disabled)
[    0.945102] audit: type=2000 audit(1597678936.924:1): state=initialized audit_enabled=0 res=1
[    0.945346] Initialise system trusted keyrings
[    0.953369] Key type blacklist registered
[    0.956086] workingset: timestamp_bits=36 max_order=23 bucket_order=0
[    0.960810] zbud: loaded
[    1.178866] Key type asymmetric registered
[    1.181666] Asymmetric key parser 'x509' registered
[    1.184687] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    1.189842] io scheduler noop registered (default)
[    1.193284] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.222533] 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    1.228353] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
[    1.233809] i8042: Warning: Keylock active
[    1.237302] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.240282] serio: i8042 AUX port at 0x60,0x64 irq 12
[    1.243352] rtc_cmos 00:00: RTC can wake from S4
[    1.246597] rtc_cmos 00:00: rtc core: registered rtc_cmos as rtc0
[    1.250100] rtc_cmos 00:00: alarms up to one day, 114 bytes nvram
[    1.253499] hidraw: raw HID events driver (C) Jiri Kosina
[    1.256672] NET: Registered protocol family 17
[    1.259976] mce: Using 32 MCE banks
[    1.262459] sched_clock: Marking stable (1262443961, 0)->(1976689352, -714245391)
[    1.267767] registered taskstats version 1
[    1.270444] Loading compiled-in X.509 certificates
[    1.273375] zswap: loaded using pool lzo/zbud
[    1.276617] rtc_cmos 00:00: setting system clock to 2020-08-17 15:42:17 UTC (1597678937)
[    1.283560] Freeing unused kernel memory: 2052K
[    1.324009] Write protecting the kernel read-only data: 14336k
[    1.327850] Freeing unused kernel memory: 2016K
[    1.333105] Freeing unused kernel memory: 1392K
[    1.353877] device-mapper: uevent: version 1.0.3
[    1.356808] device-mapper: ioctl: 4.37.0-ioctl (2017-09-20) initialised: dm-devel@redhat.com
[    1.366114] udevd[683]: starting version 173
[    1.383405] nvme nvme0: pci function 0000:00:04.0
[    1.386800] ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
modprobe: FATAL: Module scsi_wait_scan not found.
[    1.651426]  nvme0n1: p1 p128
[    1.760412] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
growroot: NOCHANGE: disk=/dev/nvme0n1 partition=1: size=167768030, it cannot be grown
[    1.981936] EXT4-fs (nvme0n1p1): mounted filesystem with ordered data mode. Opts: (null)
[    2.008351] random: fast init done
[    2.140480] dracut: Remounting /dev/disk/by-label/\x2f with -o noatime,ro
[    2.147615] EXT4-fs (nvme0n1p1): mounted filesystem with ordered data mode. Opts: (null)
[    2.154794] dracut: Mounted root filesystem /dev/nvme0n1p1
[    2.240712] dracut: Switching root
[    2.932333] random: init: uninitialized urandom read (12 bytes read)
image_name="amzn-ami-hvm"
image_version="2018.03"
image_arch="x86_64"
image_file="amzn-ami-hvm-2018.03.0.20181116-x86_64.ext4.gpt"
image_stamp="1eb2-dca9"
image_date="20181116230743"
recipe_name="amzn ami"
recipe_id="f77a9127-a78d-21b7-174f-f788-81b9-dc54-58052337"
		Welcome to Amazon Linux AMI
Starting udev: [  OK  ]

Setting hostname localhost.localdomain:  [  OK  ]

Setting up Logical Volume Management:   WARNING: Failed to connect to lvmetad. Falling back to device scanning.
[  OK  ]

Checking filesystems
Checking all file systems.
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a /dev/nvme0n1p1 
/: clean, 42140/5242880 files, 860950/20971003 blocks
[  OK  ]

Remounting root filesystem in read-write mode:  [  OK  ]

Mounting local filesystems:  [  OK  ]

Enabling local filesystem quotas:  [  OK  ]

Enabling /etc/fstab swaps:  [  OK  ]

Entering non-interactive startup
Calling the system activity data collector (sadc)... 
Starting LVM metadata daemon: [  OK  ]

Starting LVM poll daemon: [  OK  ]

iptables: Applying firewall rules: [  OK  ]

Bringing up loopback interface:  [  OK  ]

Bringing up interface eth0:  
Determining IP information for eth0... done.

Determining IPv6 information for eth0... failed.
Unable to obtain IPv6 DHCP address eth0.
[  OK  ]

Starting auditd: [  OK  ]

Starting system logger: [  OK  ]

Starting irqbalance: [  OK  ]

Starting rngd: Unable to open file: /dev/hwrng
[  OK  ]

Starting rpcbind: [  OK  ]

Starting NFS statd: [  OK  ]

Starting system message bus: [  OK  ]

Mounting filesystems:  [  OK  ]

Starting acpi daemon: [  OK  ]

Retrigger failed udev events--type=failed is deprecated and will be removed from a future udev release.
[  OK  ]

Starting cloud-init: Cloud-init v. 0.7.6 running 'init-local' at Mon, 17 Aug 2020 15:42:32 +0000. Up 16.41 seconds.
Starting cloud-init: Cloud-init v. 0.7.6 running 'init' at Mon, 17 Aug 2020 15:42:32 +0000. Up 16.60 seconds.
ci-info: +++++++++++++++++++++++Net device info++++++++++++++++++++++++
ci-info:  Device   Up     Address          Mask          Hw-Address    
ci-info:    lo    True   127.0.0.1      255.0.0.0            .         
ci-info:   eth0   True  192.168.0.98  255.255.255.0  06:4e:33:1b:a6:16 
ci-info: +++++++++++++++++++++++++++++++Route info+++++++++++++++++++++++++++++++
ci-info:  Route    Destination      Gateway        Genmask      Interface  Flags 
ci-info:    0        0.0.0.0      192.168.0.1      0.0.0.0         eth0      UG  
ci-info:    1    169.254.169.254    0.0.0.0    255.255.255.255     eth0      UH  
ci-info:    2      192.168.0.0      0.0.0.0     255.255.255.0      eth0      U   
Generating public/private rsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
The key fingerprint is:
SHA256:2+xdTaKozU4kHFGAweK1wPwR17yXLO2BMdoWgmv3+Wc root@ip-192-168-0-98
The key's randomart image is:
+---[RSA 2048]----+
|   o .o=+=.      |
|    = *...*      |
|   . = +.+ O .   |
|    . =.o.* *    |
|     . .So.= .. .|
|         *o... + |
|        . =.. . .|
|         * ...E  |
|        ..= .o   |
+----[SHA256]-----+
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
SHA256:zbpndhfxitOhJ+CDnfZDkulDexggvAhZlUNNy6dIDLo root@ip-192-168-0-98
The key's randomart image is:
+---[DSA 1024]----+
|    .oo+.        |
|   ..oo...       |
|  .o .o.o .      |
|  o. .o..=    .  |
|  E. ..oS.oo   o |
|    . .  .B . o .|
|        .* O + + |
|        ..# O =  |
|        .= *.*   |
+----[SHA256]-----+
Generating public/private ecdsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_ecdsa_key.
Your public key has been saved in /etc/ssh/ssh_host_ecdsa_key.pub.
The key fingerprint is:
SHA256:iaR6ra2UZVs3BexHi/RR4SCKllNwTjldPGN2yaZygJs root@ip-192-168-0-98
The key's randomart image is:
+---[ECDSA 256]---+
|      ..+=oooooo |
|       B+.=oOo=  |
|      * o* B.O.  |
|     + oE.+.*    |
|    . + S o+     |
|   . = o . .     |
|  . + o          |
|   o o           |
|    o..          |
+----[SHA256]-----+
Starting cloud-init: Cloud-init v. 0.7.6 running 'modules:config' at Mon, 17 Aug 2020 15:42:33 +0000. Up 17.57 seconds.
Loaded plugins: priorities, update-motd, upgrade-helper
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
1072 packages excluded due to repository priority protections
4 package(s) needed (+0 related) for security, out of 46 available
Resolving Dependencies
--> Running transaction check
---> Package kernel-tools.x86_64 0:4.14.181-108.257.amzn1 will be updated
---> Package kernel-tools.x86_64 0:4.14.186-110.268.amzn1 will be an update
---> Package libnghttp2.x86_64 0:1.31.1-2.5.amzn1 will be updated
---> Package libnghttp2.x86_64 0:1.33.0-1.1.6.amzn1 will be an update
---> Package libxml2.x86_64 0:2.9.1-6.3.52.amzn1 will be updated
---> Package libxml2.x86_64 0:2.9.1-6.4.40.amzn1 will be an update
---> Package libxml2-python27.x86_64 0:2.9.1-6.3.52.amzn1 will be updated
---> Package libxml2-python27.x86_64 0:2.9.1-6.4.40.amzn1 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch      Version                    Repository       Size
================================================================================
Updating:
 kernel-tools        x86_64    4.14.186-110.268.amzn1     amzn-updates    147 k
 libnghttp2          x86_64    1.33.0-1.1.6.amzn1         amzn-updates     76 k
 libxml2             x86_64    2.9.1-6.4.40.amzn1         amzn-updates    722 k
 libxml2-python27    x86_64    2.9.1-6.4.40.amzn1         amzn-updates    329 k

Transaction Summary
================================================================================
Upgrade  4 Packages

Total download size: 1.2 M
Downloading packages:
--------------------------------------------------------------------------------
Total                                              1.3 MB/s | 1.2 MB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Updating   : libxml2-2.9.1-6.4.40.amzn1.x86_64                            1/8 
  Updating   : libxml2-python27-2.9.1-6.4.40.amzn1.x86_64                   2/8 
  Updating   : libnghttp2-1.33.0-1.1.6.amzn1.x86_64                         3/8 
  Updating   : kernel-tools-4.14.186-110.268.amzn1.x86_64                   4/8 
  Cleanup    : libxml2-python27-2.9.1-6.3.52.amzn1.x86_64                   5/8 
  Cleanup    : libxml2-2.9.1-6.3.52.amzn1.x86_64                            6/8 
  Cleanup    : libnghttp2-1.31.1-2.5.amzn1.x86_64                           7/8 
  Cleanup    : kernel-tools-4.14.181-108.257.amzn1.x86_64                   8/8 
  Verifying  : libxml2-python27-2.9.1-6.4.40.amzn1.x86_64                   1/8 
  Verifying  : libxml2-2.9.1-6.4.40.amzn1.x86_64                            2/8 
  Verifying  : kernel-tools-4.14.186-110.268.amzn1.x86_64                   3/8 
  Verifying  : libnghttp2-1.33.0-1.1.6.amzn1.x86_64                         4/8 
  Verifying  : libxml2-2.9.1-6.3.52.amzn1.x86_64                            5/8 
  Verifying  : libxml2-python27-2.9.1-6.3.52.amzn1.x86_64                   6/8 
  Verifying  : kernel-tools-4.14.181-108.257.amzn1.x86_64                   7/8 
  Verifying  : libnghttp2-1.31.1-2.5.amzn1.x86_64                           8/8 

Updated:
  kernel-tools.x86_64 0:4.14.186-110.268.amzn1                                  
  libnghttp2.x86_64 0:1.33.0-1.1.6.amzn1                                        
  libxml2.x86_64 0:2.9.1-6.4.40.amzn1                                           
  libxml2-python27.x86_64 0:2.9.1-6.4.40.amzn1                                  

Complete!
Starting hibinit-agent: Instance Launch has not enabled Hibernation Configured Flag. hibinit-agent exiting!!
[  OK  ]
Restarting acpid.. Stopping acpi daemon: [  OK  ]

Starting acpi daemon: [  OK  ]

Generating SSH2 ED25519 host key: [  OK  ]

Starting sshd: [  OK  ]

Starting ntpd: [  OK  ]

Starting sendmail: 451 4.0.0 /etc/mail/sendmail.cf: line 87: fileclass: cannot open '/etc/mail/local-host-names': Group writable directory

451 4.0.0 /etc/mail/sendmail.cf: line 596: fileclass: cannot open '/etc/mail/trusted-users': Group writable directory

[FAILED]

Starting sm-client: /etc/mail/submit.cf: line 552: fileclass: cannot open '/etc/mail/trusted-users': Group writable directory
[FAILED]

Starting vmtoolsd: [  OK  ]

Starting VGAuthService: [FAILED]

Starting crond: [  OK  ]

Starting atd: [  OK  ]

Starting cloud-init: Cloud-init v. 0.7.6 running 'modules:final' at Mon, 17 Aug 2020 15:42:55 +0000. Up 38.99 seconds.
/var/lib/cloud/instance/scripts/runcmd: line 2: rm -rf /root/.ssh/authorized_keys: No such file or directory
Aug 17 15:42:55 cloud-init[2713]: util.py[WARNING]: Failed running /var/lib/cloud/instance/scripts/runcmd [127]
Aug 17 15:42:55 cloud-init[2713]: cc_scripts_user.py[WARNING]: Failed to run module scripts-user (scripts in /var/lib/cloud/instance/scripts)
Aug 17 15:42:55 cloud-init[2713]: util.py[WARNING]: Running module scripts-user (<module 'cloudinit.config.cc_scripts_user' from '/usr/lib/python2.7/dist-packages/cloudinit/config/cc_scripts_user.pyc'>) failed
ci-info: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Authorized keys from /home/sguser/.ssh/authorized_keys for user admin++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ci-info:  Keytype                 Fingerprint (md5)                                                                       Options                                                                          Comment                   
ci-info:  ssh-rsa  3e:1e:b2:fe:df:01:67:11:9c:c1:6f:51:ca:0e:8a:a7  command="/usr/local/aws-storage-gateway/appliance_console",no-port-forwarding,no-X11-forwarding,no-agent-forwarding  packer_5efbac32-a23d-1cdc-8b1a-4b9b09c32ac2 
ci-info:  ssh-rsa  a7:77:9e:29:5d:a7:24:16:59:cb:15:dd:6f:9d:67:b2                                                           -                                                                             Personal                  
ec2: 
ec2: #############################################################
ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
ec2: 1024 SHA256:zbpndhfxitOhJ+CDnfZDkulDexggvAhZlUNNy6dIDLo root@ip-192-168-0-98 (DSA)
ec2: 256 SHA256:iaR6ra2UZVs3BexHi/RR4SCKllNwTjldPGN2yaZygJs root@ip-192-168-0-98 (ECDSA)
ec2: 256 SHA256:R6hrYq1eoJSFTDRuTrkS/dxVYpXTr/5xpIz6uIrDe3I no comment (ED25519)
ec2: 2048 SHA256:2+xdTaKozU4kHFGAweK1wPwR17yXLO2BMdoWgmv3+Wc root@ip-192-168-0-98 (RSA)
ec2: -----END SSH HOST KEY FINGERPRINTS-----
ec2: #############################################################
-----BEGIN SSH HOST KEY KEYS-----
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAl8kgwnp1NkJgHXmKXcgepDEkA8efNYfoxKMuDXolagnLmbwFiIG2kS0OjmNn0A0jq1BGznwZhUW7mRuH3AV90= root@ip-192-168-0-98
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINSDT5Rth0aSu02eUqvhw1wgkG+J8qza0b7EiuPgppWc 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIWwdqKFxLW0XXlA6iKJVCwcQHfK+G7a3AiEcXJ6BcTka7b0HHLKWfv8IS8+pC1pEaWQY5Z2YQXpZQ8jE67GsAL3YCbW27P96ny98vvBlm5/JWRz8Zc6/6CDJFqdBe73IJRcZQAfQeC5oliHG70F/1qMmNwRS777ctq9um/o4QAifMIsaYSOFIsx52o+81J0VvMjPtmPEEr09YqRulCrrx2k4qq80mxOarZpxGJx2as3onyG3hQgPq5zZY30S375aWYv7/BKcis/tO4Rim0hkKGyfZ8U52yvWURv3rS2itof9EWVVOaEcJEk9JWexIH+Yot4Rk8P/jTDUyJM9Gcsxp root@ip-192-168-0-98
-----END SSH HOST KEY KEYS-----
Cloud-init v. 0.7.6 finished at Mon, 17 Aug 2020 15:42:55 +0000. Datasource DataSourceEc2.  Up 39.12 seconds
The Storage Gateway is deployed on EC2.
Magic mismatch (0 elems, 0 magic)


AWS Appliance

Login to change your network configuration and other settings.

SSM セッションマネージャーによる接続

通常の SSH 接続がダメなら SSM のセッションマネージャーを用いた接続ならどうだい、と試してみたところ、接続可能でした。

先ほどのインスタンスとは別のものを以下の条件を満たすようにセットアップして接続を試みたところ、問題なく接続できました。

  • SSM サービスエンドポイントに接続可能
    • パブリックサブネットに配置
  • 適切な権限を持っている
    • 以下の AWS 管理ポリシーが設定された IAM ロールをアタッチ
    • AmazonSSMManagedInstanceCore
  • SSM エージェントがインストールされ起動している
    • AMI の時点ではインストールされていないのでユーザーデータで実行

3 点目について補足すると、 DataSync エージェント用の AMI は上記で確認した通り Amazon Linux(2 ではない)がベースとなっているため、以下をユーザーデータに設定してローンチすることで、SSM エージェントのインストール & サービス起動を実現しました。

#!/bin/bash
cd /tmp
sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo start amazon-ssm-agent

起動時に Amazon EC2 Linux インスタンスに Systems Manager エージェント (SSM エージェント) をインストールするにはどうすればよいですか?

SSM で接続していろいろ確認してみた内容は別エントリに記載しましたので、興味があればご参照ください。

AWS DataSync エージェントのアクティブ化(パブリックサービスエンドポイント)

インスタンスの準備ができたので、 DataSync のコンソールからセットアップしていきます。

DataSync のコンソールにアクセスします。私の場合は初回だったので、以下のような画面が表示されます。 [ Get started ] を押下します。

エージェントのセットアップ画面に遷移します。以下を入力し、 [ Get key ] を押下します。

  • エージェントの種類:今回は Amazon EC2
  • エンドポイントの種類:今回はパブリックサービスエンドポイント
  • エージェントアドレス:先ほどデプロイしたインスタンスのパブリック IP

なお、ここで、マイ IP (マネジメントコンソールにアクセスしているグローバル IP )から、エージェントインスタンスへ HTTP ( TCP 80 ) で疎通可能である必要があります。これはアクティベーション時のみの要件です。

アクティベーションが行われ、後続の操作ができるようになります。(先ほどの HTTP の通信要件が満たされていないと、しばらく読み込みを試みたのちにブラウザがタイムアウトエラーになりました。)

エージェント名、タグを必要に応じて設定し、[ Create agent ] を押下します。

エージェントが作成できました!

作成されたエージェントは以下のように確認することができます。

AWS DataSync エージェントのアクティブ化( VPC エンドポイント)

パブリックサービスエンドポイントへの接続を用いるエージェントの作成がすんなり終わったので、VPC エンドポイントを用いるエージェントのセットアップも行ってみます。

アクティブ化の際に考慮すべき通信要件としては以下があります。


Network Requirements for DataSync - AWS DataSync)より

マイ IP からエージェントに対して TCP 80 の通信が必要なのはパブリックサービスエンドポイントの場合と変わりません。

また、VPC エンドポイントにはエージェントから TCP 1024 - 1064 で通信可能である必要があります。加えて、ドキュメントに明記されていなかったのですが、アクティベーションの際に TCP 443 も疎通可能な状態でないと失敗したので、必須かと思います。

VPC エンドポイントを使用する際には、DataSync タスクの実行時にクライアントノード・およびそれが使用する ENI が作成されます。タスク実行時には、エージェントから ENI に対して TCP 443 で通信可能な必要があります。ドキュメントの記述としてはアクティベート時に通信可能である必要はないように見受けられたのですが、割り当てる SecuriryGroup の関係上、実質的にはセットアップの段階から必要となります。

VPC エンドポイントの作成

サービス名 com.amazonaws.ap-northeast-1.datasync のエンドポイント(インタフェース型)を作成します。

インタフェースにアタッチする SecuriryGroup は、エージェントインスタンスからのインバウンドとして以下を許可するように設定しました。

  • 1024 - 1064(TCP)
  • 443(TCP)

なお、後続で設定する「タスク実行用 ENI にアタッチする SecuriryGroup 」は、この VPC エンドポイントインタフェースにアタッチされているものの中から選択する必要があります。

( VPC エンドポイントインタフェースには複数の SecuriryGroup をアタッチ可能ですが、タスク実行用 ENI に設定できるのは 1 つのみです。 )

EC2 インスタンスの作成

先ほどと同じ要領でインスタンスを作成します。

  • パブリックサブネットに配置
  • 自動割り当てパブリック IP 有効化
  • IAM ロール なし
  • ストレージ 汎用 SSD 80 GiB(デフォルト)
  • SecuriryGroup は既存のものを流用
    • アクティベーションに必要なためマイIPからのHTTPインバウンドを許可
    • アウトバウンドはフル開放

VPC エンドポイントを使用するのに パブリックに建てるの?という突っ込みどころはあるのですが、最低限アクティベート時には必要となるので、今回はそのようにしました。

エージェントをプライベートサブネットに配置したい場合は、アクティブ化の際に一時的に EIP を付与する、といった対応をとることになるかと思います。(あるいは、 VPC エンドポイントを使用するエージェントを EC2 インスタンスで構成することがあまり想定されていないかも知れません。)

DataSync エージェントの作成

準備が整ったので、先ほどと同じように DataSync コンソールからセットアップしていきます。

今回はエンドポイントの種類として VPC エンドポイントを選択します。そうすると、追加で以下の設定が必要となります。

  • VPC Endpoint:先ほど作成したエンドポイントを選択
  • Subnet:タスク実行用 ENI の作成先となるサブネット
  • Securiry Group:タスク実行用 ENI にアタッチする SecuriryGroup

サブネットと SecuriryGroup に関しては、 VPC エンドポイントに設定されているもののうち、1 つのみが選択可能であることに注意してください。

エージェントインスタンスのパブリック IP を入力し、 [ Get key ] を押下します。

問題なく Activation key が取得できたら、エージェント名やタグを必要に応じて入力し、エージェントを作成します。

サービスエンドポイントとして VPC Endpoint が選択されたエージェントが作成できました!

終わりに

AWS DataSync のエージェントを、 Amazon EC2 上でデプロイしてみました。 AMI として用意されているので、通常通りインスタンスを起動すればすぐ準備できるというのは助かります。

通信要件がいくつか存在するので、きちんと確認が必要ですね。まだ試せていないですが、ロケーションを設定してタスクを実行する際には、エージェントからロケーションへの通信要件にも注意する必要があります。

Network Requirements for DataSync - AWS DataSync

ちなみに、オンプレ環境上でエージェントを構成する際には、エージェント作成画面の以下から VM イメージファイルをダウンロードすることができるので、それを用いて作成します。

VMWare や Hyper-V はほとんど触ったことがないので難易度がよく分かっていませんが、AMI から EC2 インスタンスを立ち上げるのと同じくらいの手間で構成できるのではと思っています。

VM を作成した後のアクティブ化の流れは変わらないかと思いますので、本エントリを参考にしていただければと思います。

以上、千葉(幸)がお送りしました。