ここでは、操作例、パラメーターの説明、および出力の詳細を通じて、イメージコンプライアンスツールを使用して Alibaba Cloud 仕様以外のオペレーティングシステムの設定を自動的に検索する方法を紹介します。 このツールはカスタムイメージのシナリオのインポートに適しています。

はじめに

ECS では、インポートしたカスタムイメージからインスタンスを作成できます。 インポートしたカスタムイメージは、オフラインサーバー、仮想マシン、または任意のクラウドプラットフォーム上のクラウドホストに基づいて作成できます。 インポートするイメージは一定の要件を満たしている必要があります。 詳細については、「イメージのインポートに関する注意事項」をご参照ください。

イメージとインスタンスの作成にかかる時間を短縮するために、ECS のイメージコンプライアンスツール (ここでは、コンプライアンスツールと表記します) を使用し、関連する標準に準拠したイメージを作成することを推奨します。 コンプライアンスツールは、特定のサーバー環境に基づいてさまざまな設定インジケーターおよび場所の不適合を検出し、TXT および JSON の検出レポートを生成し、可能なソリューションを提供します。

制限事項

コンプライアンスツールは現在、Ubuntu、CentOS、Debian、RedHat、SUSE Linux Enterprise Server (SLES)、OpenSUSE、FreeBSD、CoreOS、その他の Linux バージョンなどの Linux イメージのみをサポートしています。

サンプル

次の例では、CentOS 7.4 64 ビットサーバーを使用しています。

  1. サーバー、仮想マシン、またはクラウドホストにログインします。
  2. コンプライアンスツールをダウンロードします。
  3. コンプライアンスツールが権限制御下で設定ファイルを確実に読み取ることができるようにするため、root 権限で image_check を実行します。
    chmod +x image_check
    sudo image_check –p [destination path]
    -p [destination path] を使用して、検出レポートが生成されるパスを指定します。 このパラメータを設定しない場合、レポートはデフォルトでコンプライアンスツールパスに生成されます。
  4. コンプライアンスツールがシステム構成を検出するのを待ちます。
    Begin check your system...
     The report is generating.
     -----------------------------------------
     The information you need to enter when you import your image to the Alibaba Cloud website:
     Current system: CentOS # System information 1: Server operating system
     Architecture: x86_64 # System information 2: System architecture
     System disk size: 42 GB # System information 3: Server system disk capacity
     -----------------------------------------
     # Detection item
     Check driver [ OK ]
     Check shadow file authority [ OK ]
     Check security [ OK ]
     Check qemu-ga [ OK ]
     Check network [ OK ]
     Check ssh [ OK ]
     Check firewall [ OK ]
     Check filesystem [ OK ]
     Check device id [ OK ]
     Check root account [ OK ]
     Check password [ OK ]
     Check partition table [ OK ]
     Check lvm [ FAILED ]
     Check lib [ OK ]
     Check disk size [ OK ]
     Check disk use rate [ WARNING ]
     Check inode use rate [ OK ]
     -----------------------------------------
     15 items are OK
     1 items are failed
     1 items are warning
     -----------------------------------------
     The report is generated: /root/image_check_report_2018-05-14_18-18-10.txt
     Please read the report to check the details
  5. 検出レポートを表示します。 レポートは image_check_report_date_time.txt または image_check_report.json の形式で生成されます。

検出項目

コンプライアンスツールは、カスタムイメージから作成された ECS インスタンスが完全に機能していることを確認するために、次のサーバー設定項目を検出します。

検出項目 コンプライアンス違反の問題 提案
driver ECS インスタンスが正常に起動しません。 仮想化ドライバをインストールします。 たとえば、virtio ドライバをインストールします。
/etc/shadow パスワードファイルは変更できないので、カスタムイメージから ECS インスタンスを作成することができません。 /etc/shadow ファイルをロックするのに chattr コマンドを使用しないでください。
SElinux ECS インスタンスが正常に起動できません。 SELinux を起動するのに /etc/selinux/config を変更しないでください。
qemu-ga ECS に必要なサービスの一部は利用できず、インスタンスは完全に機能していません。 qemu-ga をアンインストールします。
network ECS インスタンスのネットワーク機能が不安定です。 ネットワークマネージャーを無効化または削除してネットワークサービスを有効にします。
ssh コンソールから ECS インスタンスに接続できません。 SSH サービスを有効にし、PermitRootLogin を設定しないでください。
firewall システムは ECS インスタンス環境を自動的に構成しません。 ファイアウォールの iptables、firewalld、IPFilter (IPF)、IPFireWall (IPFW)、または PacketFilter (PF) を無効にします。
file system ディスクを拡張することができません。 XFS、Ext3、および Ext4 ファイルシステムが使用され、Ext2、UFS、および UDF ファイルシステムが許可されます。 Ext4 ファイルシステムは 64 ビット機能をサポートしていません。
root ユーザー名とパスワードを使用して ECS インスタンスにリモート接続することができません。 root アカウントを予約します。
passwd ECS インスタンスにユーザーを追加することができません。 passwd コマンドを保存するか再インストールします。
Partition table ECS インスタンスが正常に起動できません。 MBR パーティショニングを使用します。
Logical Volume Manager (LVM) ECS インスタンスが正常に起動できません。 別のパーティショニングサービスに切り替えます。
/lib ECS インスタンスを自動的に設定することができません。 /lib と /lib64 ファイルを絶対パスで保存することはできません。 /lib と /lib64 のストレージパスをそれらの相対パスに変更します。
system disk N/A システムディスク容量を増やします。 最適なシステムディスク容量は 40 〜 500 GiB です。 イメージをインポートするときは、イメージの使用容量ではなく、イメージの仮想ファイルサイズに基づいてシステムディスク容量を設定します。
disk_usage ECS インスタンスに必要なドライバーまたはサービスをインストールすることができません。 十分なディスク容量があることを確認してください。
inode usage ECS インスタンスに必要なドライバまたはサービスをインストールすることができません。 十分な inode リソースが利用可能であることを確認してください。

コンプライアンスツールは、検出項目に基づいて OKFAILED、または WARNING の検出結果を出力します。

  • OK: 検出項目はすべて要件を満たしています。
  • FAILED: 検出項目が要件を満たしていません。すなわち、カスタムイメージから作成された ECS インスタンスは正常に起動できません。 インスタンスの起動効率を向上させるために、準拠していない項目を修正してイメージを再作成することを推奨します。
  • WARNING : 検出項目が要件に準拠していません。すなわち、カスタムイメージから作成された ECS インスタンスは正常に起動できますが、ECS はインスタンスを設定する正当なメソッドを使用できません。 準拠していないアイテムをすぐに修正するか、アイテムを一時的に保持してイメージを作成するかを選択できます。

出力項目

コンプライアンスツールは、システム環境を検出した後、TXT 形式と JSON 形式の両方で検出レポートを出力します。 -p [destination path]を使用でき、検出レポートが生成されるパスを指定します。 このパラメータを指定しない場合、レポートはデフォルトでコンプライアンスツールパスに生成されます。

  • TXT 形式のレポートは image_check_report_date_time.txt という名前です。 レポートには、サーバー構成情報と検出結果が含まれています。 次の例では、CentOS 7.4 64 ビットサーバーを使用しています。
    The information you need to input when you import your image to Alibaba Cloud Website:
      Current system is: CentOS #Server operating system
      Architecture: x86_64 #System architecture
      System disk size: 42 GB #Server system disk capacity
      -----------------------------------------
       Check driver #Detection item name
       Pass: kvm drive is exist #Detection result
       Alibaba Cloud supports kvm virtualization technology
       We strongly recommend installing kvm driver.
  • JSON 形式のレポートの名前は image_check_report.json となります。 レポートには、サーバー設定情報と検出結果が含まれています。 次の例では、CentOS 7.4 64 ビットサーバーを使用しています。
    "platform": "CentOS", \\Server operating system
      "os_big_version": "7", \\Operating system version number (major)
      "os_small_version": "4", \\Operating system version number (minor)
      "architecture": "x86_64", \\System architecture
      "system_disk_size": "42", \\Server system disk capacity
      "version": "1.0.2", \\Compliance tool version
      "time": "2018-05-14_19-18-10", \\Detection time
      "check_items": [{
          "name": "driver", \\Detection item name
          "result": "OK", \\Detection result
          "error_code": "0", \\Error code
          "description": "Pass: kvm driver exists.", \\Description
          "comment": "Alibaba Cloud supports kvm virtualization technology. We strongly recommend installing kvm driver."
      }]
    }

次のステップ

  1. イメージのインポートの注意事項を表示
  2. virtio ドライバーのインストール
  3. (オプション) イメージファイル形式の変換
  4. カスタムイメージのインポート
  5. カスタムイメージからインスタンスの作成