イメージコンプライアンスツールでは、イメージのオペレーティングシステム設定がインポート要件を満たしているかどうかを確認できます。 たとえば、イメージを使用してフル機能のElastic Compute Service (ECS) インスタンスを作成できるかどうかを確認します。 このトピックでは、イメージがインポート要件を満たしているかどうかを確認する方法について説明します。 この例では、CentOS 7.9 64ビットオペレーティングシステムを含むイメージが使用されています。
背景情報
イメージ作成の効率を向上させるために、ECSのイメージコンプライアンスツールを使用することを推奨します。 イメージコンプライアンスツールは、Linuxサーバー環境の構成アイテムをチェックして、非準拠アイテムを特定し、必要に応じてソリューションを提供できます。
イメージコンプライアンスツールは、FreeBSDとFedora CoreOSを除くLinuxオペレーティングシステムをサポートしています。 イメージコンプライアンスツールは、Windowsオペレーティングシステムをサポートしていません。
手順
イメージファイルを作成するサーバー、仮想マシン (VM) 、またはクラウドホストにログオンします。
次のコマンドを順番に実行して、イメージコンプライアンスツールをダウンロードして解凍します。
wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/imagecheck/ecsgo-helper.tar.gz tar -xf ecsgo-helper.tar.gz
ブラウザを使用して画像準拠ツールをダウンロードできます。
次のコマンドを実行して、イメージコンプライアンスツールを実行します。
. /ecsgo-helper.sh画像-オンライン-診断
イメージコンプライアンスツールがシステム構成を確認するのを待ちます。 次のコードは、チェック結果の例を示しています。 チェック項目の詳細については、このトピックの「チェック項目」をご参照ください。
------------------------------------------------------------ OS: CentOS 7.9.2009カーネル: 3.10.0-1160.76.1.el7.x86_64 アーチ: x86_64 RTC-モード: utcブート-モード: レガシー ------------------------------------------------------------ 画像チェック結果 Virtio [OK] Nvme [OK] Fstab [OK] グラブ [OK] Dhcp [OK] Selinux [OK] OnlineResizeFS [OK] CloudAssistant [OK] CloudInit [OK] SecurityCenterAgent [OK] SupportMocInstanceTypes [OK] DiskUsage [OK] InodeUsage [OK] SystemFileAttribute [OK] CriticalUser [OK] QemuGuestAgent [OK] SshConfig [OK] ファイアウォール [OK] LibDirectory [OK] 総ケース数19 成功: 19 失敗: 0 警告: 0 ------------------------------------------------------------
チェックアイテム
イメージコンプライアンスツールは、チェック項目のレベルに基づいて、OK
、FAILED
、またはWARNING
のチェック結果を提供します。
OK
: すべてのチェック項目は要件に準拠しています。FAILED
: チェック項目が要件に準拠しておらず、イメージから作成されたECSインスタンスが期待どおりに起動できないか、ネットワーク例外が発生する可能性があります。 イメージをインポートする前に、非準拠アイテムを修正することを推奨します。警告
: 項目が要件に準拠していないことを確認し、イメージから作成されたECSインスタンスはセキュリティセンターによって保護されておらず、Cloud Assistantを使用して自動的に操作または保守することはできません。 クラウドのO&M効率を向上させるために、イメージをインポートする前に非準拠アイテムを修正することを推奨します。
イメージ準拠ツールは、ソースサーバーの構成項目をチェックします。 イメージコンプライアンスツールのチェック項目を次の表に示します。
チェックアイテム | レベル | 説明 | 非コンプライアンスの問題 | 推奨ソリューション |
ヴィルティオ | 高い | virtioドライバがイメージにインストールされているかどうかを確認します。 ECSインスタンスは、カーネルベースの仮想マシン (KVM) アーキテクチャ上に構築されたVMであり、virtioドライバーをイメージでインストールする必要があります。 | イメージを使用するECSインスタンスは、期待どおりに起動できません。 | virtio ドライバーのインストール 詳細については、「virtioドライバーのインストール」をご参照ください。 |
Nvme | 高い | イメージにNVMe (Non-Volatile Memory Express) ドライバがインストールされているかどうかを確認します。 ecs.g7seなど、NVMeベースのディスクをサポートする特定のインスタンスタイプのインスタンスの場合、NVMeドライバーをイメージにインストールする必要があります。 NVMeは、SCSI (Small Computer System Interface) やvirtio-blkなどの従来のドライバプロトコルよりも高速な応答時間と高い帯域幅を実現します。 特定のインスタンスタイプをサポートするには、イメージにNVMeドライバーをインストールすることを推奨します。 詳細については、「NVMeプロトコル」をご参照ください。 | このイメージは、ecs.g7seなど、NVMeベースのディスクをサポートするインスタンスタイプには適用できません。 | |
Fstab | 高い | /etc/fstabファイルの設定を確認します。 /etc/fstabファイルの設定が正しくない場合 (存在しないデバイスの設定やUUID (universally unique identifier) が正しくない場合) 、システムの起動例外が発生します。 | オペレーティングシステムを期待どおりに起動できません。 | なし。 |
グラブ | 高い | GRand Unified Bootloader (GRUB) 構成ファイルを確認します。 GRUBは、カーネルをロードおよびブートするために使用されるツールであり、オペレーティングシステムの重要な構成項目です。 構成が正しくないと、システムの起動例外が発生します。 オペレーティングシステムでGRUB構成ファイルを確認することを推奨します。 たとえば、GRUB構成ファイルをチェックして、デバイス名がブートパーティションの指定に使用されていないことを確認します。 例: root=/dev/sda1。 デバイス名は、環境に基づいて変化し得る。 代わりにUUIDを使用してブートパーティションを指定することを推奨します。 | オペレーティングシステムを期待どおりに起動できません。 | なし。 |
Dhcp | 高い | イメージのネットワーク設定ファイルでDHCP (Dynamic Host Configuration Protocol) が設定されているかどうかを確認します。 動的IPアドレスをインスタンスに割り当てるように、ネットワークデバイスのDHCPを設定することを推奨します。 静的IPアドレスがイメージで設定されている場合、ネットワーク設定の例外が発生し、イメージを使用するインスタンスが起動できない可能性があります。 また、ネットワークインターフェイスの名前がカーネルで変更されないように、 | システムネットワークエラーが発生します。 | なし。 |
Selinux | 中 | イメージでセキュリティ強化Linux (SELinux) が無効になっているかどうかを確認します。 SELinuxを無効にすることを推奨します。 | イメージを使用するECSインスタンスは、期待どおりに起動できません。 | イメージでSELinuxを無効にします。 詳細については、「SELinuxの有効化または無効化」をご参照ください。 |
OnlineResizeFS | 高い | イメージ内のファイルシステムをオンラインで拡張できるかどうかを確認します。 たとえば、イメージ内の仮想ディスクのサイズが10 GBで、イメージから100 GBのシステムディスクを持つインスタンスを作成し、そのインスタンスにcloud-initやgrowpartなどのコンポーネントをインストールするとします。 インスタンスが初期化されると、ルートパーティションとファイルシステムは自動的にシステムディスクのサイズ (100 GB) に拡張されます。 詳細については、「Linuxインスタンス上のディスクのパーティションとファイルシステムの拡張」をご参照ください。 | インスタンスのルートパーティションは拡張できません。 |
|
CloudInit | 高い | cloud-initがイメージにインストールされているかどうかを確認します。 cloud-initは、インスタンスの起動時にシステム設定を初期化し、ユーザーデータスクリプトを実行します。 システム構成には、NTP (Network Time Protocol) 設定、ソフトウェアリポジトリ、ホスト名、およびSSHキーペアが含まれます。 | システム初期化設定がありません。 | |
DiskUsage | 高い | イメージ内のディスク容量の使用状況を確認します。
| オペレーティングシステムを期待どおりに起動できません。 | 不要なファイルを削除します。 |
InodeUsage | 高い | イメージ内のディスクのinode使用率を確認します。
| オペレーティングシステムを期待どおりに起動できません。 | 不要なファイルを削除します。 |
SystemFileAttribute | 高い | 重要な構成ファイルの属性が正常かどうかを確認します。 | イメージを使用するECSインスタンスは期待どおりに起動できず、一部の機能は使用できません。 |
|
CriticalUser | 高い | rootなどの重要なユーザーがオペレーティングシステムに存在するかどうかを確認します。 重要なユーザーがいないと、システムの起動例外とインスタンス機能の例外が発生します。 たとえば、ユーザー名とパスワードを使用してインスタンスに接続することはできません。 | イメージを使用するECSインスタンスは期待どおりに起動できず、一部の機能は使用できません。 | rootアカウントを保持します。 |
QemuGuestAgent | 中 | qemu-guest-agentがオペレーティングシステムにインストールされているかどうかを確認します。 qemu-ゲストエージェントはVM上で実行され、ホストと対話します。 qemu-guest-agentがインストールされている場合、ECSに必要な一部のサービスは利用できず、インスタンスはフル機能ではありません。 | インスタンスの一部の機能は使用できません。 | qemu-guestos-agentをアンインストールします。 |
SshConfig | 高い | sshdの設定ファイルが正常かどうかを確認します。 ほとんどの場合、sshdの設定ファイルは /etc/ssh/sshd_configです。 sshd設定ファイルに誤った設定が存在する場合、sshdサービスは起動しません。 その結果、ECSインスタンスはSSH経由で接続できません。 sshd設定ファイルの正確性と有効性を確認することを推奨します。 次のコマンドを実行できます。
| イメージを使用するECSインスタンスは、SSH経由で接続できません。 | sshd設定ファイルを確認してください。 |
ファイアウォール | 中 | ファイアウォールサービスが有効かどうかを確認してください。 オペレーティングシステムでファイアウォールサービスを無効にし、ECSセキュリティグループを使用してインスタンスのインバウンドトラフィックとアウトバウンドトラフィックを管理することを推奨します。 詳細については、「概要」をご参照ください。 | システムファイアウォールアプリケーションは、インスタンスアクセス障害を引き起こす可能性があります。 | システムファイアウォールサービスを無効にします。 |
LibDirectory | 高い | Red Hatオペレーティングシステムでは、/libと /lib64は /usr/libと /usr/lib64を指すシンボリックリンクです。 これらのリンクを変更しないでください。 そうでない場合、システム例外が発生する可能性があります。 | オペレーティングシステムの機能は期待どおりに機能しません。 | /libおよび /lib64シンボリックリンクは絶対パスを指すことはできません。 /libおよび /lib64が指すパスを相対パスに変更します。 |
SupportMocInstanceTypes | 高い | イメージがSHENLONGアーキテクチャに基づくインスタンスタイプをサポートしているかどうかを確認します。 ほとんどの場合、ECS. g6やecs.g7インスタンスタイプなどの最新のecsインスタンスタイプは、SHENLONGアーキテクチャに基づいています。 イメージのオペレーティングシステムおよびカーネルバージョンが予想よりも早い場合、イメージを使用するインスタンスで例外が発生する可能性があります。 インスタンスタイプについては、「インスタンスファミリーの概要」をご参照ください。 | ecs.g6やecs.g7インスタンスタイプなど、SHENLONGアーキテクチャに基づくインスタンスタイプは使用できません。 | ほとんどの場合、SHENLONGベースのインスタンスタイプをサポートしていないオペレーティングシステムは、寿命 (EOL) とメンテナンス終了 (EOM) に達した初期バージョンです。 できるだけ早い機会にオペレーティングシステムをアップグレードし、ディストリビューターが保守および更新するオペレーティングシステムを使用することを推奨します。 |
CloudAssistant | 中 | Cloud Assistant Agentがイメージにインストールされているかどうかを確認します。 Cloud Assistantは、ECS用に開発されたネイティブの自動O&Mツールです。 ECSの効率的な運用管理のために、イメージにCloud Assistant Agentをインストールすることを推奨します。 詳細については、「概要」をご参照ください。 | クラウドでのO&M管理は非効率的です。 | |
SecurityCenterAgent | 中 | Security Centerエージェントがイメージにインストールされているかどうかを確認します。 Security Centerエージェントがサーバーにインストールされた後にのみ、サーバーをSecurity Centerで保護できます。 | イメージから作成されたインスタンスの脆弱性は特定できず、インスタンスはSecurity Centerによって保護されていません。 |
次のステップ
イメージファイルを取得する前に、イメージコンプライアンスツールを使用してイメージを確認します。 詳細については、「Linuxイメージファイルの取得」をご参照ください。