すべてのプロダクト
Search
ドキュメントセンター

Auto Scaling:NAS ファイルシステムの ECS インスタンスへのマウント

最終更新日:Aug 12, 2026

このチュートリアルでは、Auto Scaling (ESS) のライフサイクルフックを使用して Elastic Compute Service (ECS) インスタンスを待機させ、CloudOps Orchestration Service (OOS) テンプレートを使用して NAS ファイルシステムを Linux ECS インスタンスに自動的にマウントする方法について説明します。

前提条件

  • スケーリンググループが作成され、有効になっています。

  • NAS ファイルシステムが作成され、マウントターゲットが追加されていること。詳細については、「マウントターゲットの管理」をご参照ください。マウントターゲットは、次の条件を満たす必要があります。

    • スケーリンググループが Virtual Private Cloud (VPC) を使用する場合、マウントターゲットも VPC を使用する必要があります。マウントターゲットとスケーリンググループは、同じ VPC 内に存在する必要があります。

    • スケーリンググループがクラシックネットワークを使用する場合、マウントターゲットもクラシックネットワークを使用する必要があります。

    • マウントプロトコルは NFS であること。

  • CloudOps Orchestration Service (OOS) 用の RAM ロールを作成する必要があります。この RAM ロールは、エンティティとして Alibaba Cloud サービス を、信頼できるサービスとして CloudOps Orchestration Service を信頼する必要があります。また、このロールには OOS テンプレートを実行する権限も付与されている必要があります。詳細については、「OOS 用の RAM ロールを作成して権限を付与する」をご参照ください。

    説明

    このトピックでは、OOSServiceRole RAM ロールを例として使用します。カスタム RAM ロールを使用することも可能です。

背景情報

NAS ファイルシステムは、ファイルストレージインスタンスです。ファイルシステムを ECS インスタンスにマウントすると、ローカルファイルシステムのようにファイルストレージを使用できます。これにより、データのセキュリティと運用上のフォールトトレランスが向上します。スケーリング設定の作成時に NAS ファイルシステムを関連付けることはできません。ただし、ライフサイクルフックと OOS テンプレートを使用して、NAS ファイルシステムを ECS インスタンスに自動的にマウントできます。この方法は、ECS インスタンスを作成してからファイルシステムを手動でマウントするよりも効率的です。

操作手順

このチュートリアルでは、パブリック OOS テンプレート ACS-ESS-LifeCycleAttachNASFileSystemToInstance を例として使用し、スケールアウトイベント中に NAS ファイルシステムを Linux ECS インスタンスに自動的にマウントする方法を示します。手順は次のとおりです。

ステップ 1:RAM ロールへの OOS サービス権限の付与

OOS テンプレートを実行するには、必要な権限が必要です。ACS-ESS-LifeCycleAttachNASFileSystemToInstance テンプレートで定義されている運用保守 (O&M) 操作には、ECS、Auto Scaling (ESS)、および NAS のリソースに対する操作が含まれます。

  1. RAM コンソールにログインします。

  2. アクセスポリシーを作成します。

    1. 左側のナビゲーションウィンドウで、権限管理 > ポリシー を選択します。

    2. ポリシーの作成 をクリックします。

    3. ポリシーの作成 ページで、設定モードとして [スクリプトエディター] を選択し、他のパラメーターを設定してから、OK をクリックします。

      次の表に、このチュートリアルで使用するパラメーターを示します。他のパラメーターはデフォルト値のままにします。

      設定項目

      説明

      [名前]

      ESSHookPolicyForAttachNAS と入力します。

      [ポリシードキュメント]

      次の内容を入力します。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:DescribeInvocations",
                      "ecs:RunCommand",
                      "ecs:DescribeInvocationResults",
                      "ecs:DescribeInstances"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "ess:CompleteLifecycleAction"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
  3. OOSServiceRole にアクセスポリシーを付与します。

    1. 左側のナビゲーションウィンドウで、アイデンティティ > ロール を選択します。

    2. OOSServiceRole を見つけて、操作 列の 権限の付与 をクリックします。

      OOS が偽装する OOSServiceRole RAM ロールに必要な権限を付与します。これにより、権限付与が完了します。

    3. 権限の付与 ページで、リソース範囲と権限設定を指定し、[権限の追加を確認] をクリックします。

      次の表に、このチュートリアルで使用するパラメーターを示します。他のパラメーターはデフォルト値のままにします。

      設定項目

      説明

      [リソース範囲]

      [アカウント] レベルを選択します。

      [権限ポリシー]

      カスタムポリシー ESSHookPolicyForAttachNAS を追加します。

ステップ 2:スケールアウトアクティビティ用のライフサイクルフックの作成とスケールアウトのトリガー

  1. Auto Scalingコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、スケーリンググループをクリックします。

  3. 上部のナビゲーションバーで、リージョンを選択します。

  4. 目的のスケーリンググループを見つけ、次のいずれかの方法でスケーリンググループの詳細ページを開きます。

    • スケーリンググループ名 /ID列のスケーリンググループのIDをクリックします。

    • [操作] 列の [詳細] をクリックします。

  5. スケールアウトアクティビティのライフサイクルフックを作成します。

    1. 詳細ページの上部で、ライフサイクルフックタブをクリックします。

    2. ライフサイクルフックの作成 をクリックします。

    3. ライフサイクルフックの設定を指定し、OK をクリックします。

      次の表に、このチュートリアルで使用するパラメーターを示します。他のパラメーターはデフォルト値のままにします。

      設定項目

      説明

      [名前]

      ESSHookForAttachNAS と入力します。

      [スケーリングアクティビティタイプ]

      スケールアウト を選択します。

      [タイムアウト時間]

      300 秒など、適切なタイムアウト期間を入力します。

      説明

      タイムアウト期間は、カスタム操作に許容される時間です。タイムアウト期間が短すぎると、カスタム操作が失敗する可能性があります。カスタム操作に必要な時間を見積もり、適切なタイムアウト期間を設定してください。

      [デフォルトの実行ポリシー]

      続行 を選択します。

      [フック中に実行されたアクション]

      指定した方法で通知を送信するか、追加の操作を自動的に実行します。テンプレートの設定は次のとおりです。

      • 通知方法:OOS テンプレート を選択します。

      • OOSテンプレートタイプ:パブリックテンプレート を選択します。

      • パブリックテンプレート:ACS-ESS-LifeCycleAttachNASFileSystemToInstance を選択します。

      ACS-ESS-LifeCycleAttachNASFileSystemToInstance の実行パラメーターは次のように設定します。

      • [マウントターゲットドメイン名]:NAS ファイルシステムのマウントターゲットドメイン名を入力します。

      • [マウントディレクトリ]:ファイルシステムをマウントする ECS インスタンス上のディレクトリで、デフォルトは /mnt です。

      • [ファイルシステムバージョン]:0 は NFS v4 プロトコルを使用してファイルシステムをマウントすることを意味し、1 は NFS v3 プロトコルを使用することを意味します。この例では、0 を使用します。

      • [レート制御]:[同時実行制御][バッチ制御] の 2 種類のレート制御が利用可能です。このチュートリアルでは、デフォルトのタイプである [同時実行制御] を例として使用します。

      • [OOS 用 RAM ロール]:RAM ロールを指定し、ロールに付与された権限を使用する を選択し、OOSServiceRole を選択します。[操作手順]では、OOSServiceRole RAM ロールに ECS、Auto Scaling (ESS)、および NAS ファイルシステムリソースを管理する権限が付与されています。OOS サービスは、このロールを引き受けて必要な権限を取得します。

  6. スケールアウトをトリガーします。

    このチュートリアルでは、スケーリングルールの手動実行を例に説明します。スケジュールされたタスクまたはイベントトリガーのタスクを使用してスケールアウトをトリガーすることもできます。

    説明

    スケーリングルールを手動で実行すると、結果として発生するスケーリングアクティビティを通じてライフサイクルフックがトリガーされます。ただし、ECS インスタンスを手動で追加または削除しても、ライフサイクルフックはトリガーされません。

    1. ページの上部にあるスケーリングルールとアラートタスク タブをクリックします。

    2. スケーリングルール タブで、スケーリングルールの作成 をクリックします。

    3. スケーリングルールのプロパティを設定し、OK をクリックします。

      次の表に、このチュートリアルで使用するパラメーターを示します。他のパラメーターはデフォルト値のままにします。

      設定項目

      説明

      [ルール名]

      Add1 と入力します。

      [ルールタイプ]

      シンプルスケーリングルール を選択します。

      [操作]

      1 つのインスタンスを追加するように設定します。

    4. スケーリングルールのリストで、新しく作成したスケーリングルール Add1 を見つけ、操作 列で 曜日に一回実行 をクリックします。

    5. OK をクリックします。

    スケーリングルールが実行されると、1 つの ECS インスタンスが自動的に作成されます。ESSHookForAttachNAS ライフサイクルフックがスケーリンググループに作成されているため、ECS インスタンスは待機状態になります。OOS サービスは自動的に通知を受け、ACS-ESS-LifeCycleAttachNASFileSystemToInstance テンプレートで定義された O&M 操作を実行します。

  7. 自動的に作成された ECS インスタンスが期待どおりに動作するかどうかを確認します。

    1. 詳細ページの上部で、インスタンスタブをクリックします。

    2. 自動的に作成された ECS インスタンスを見つけ、ECS インスタンス ID/名前 列でインスタンス ID をクリックします。

    3. 基本情報 エリアで、[リモート接続] をクリックします。

    4. ECS インスタンスにログインした後、コマンドを実行してマウント結果を確認します。

      df -h | grep aliyun

      次の図に示すように、結果には NAS ファイルシステムのマウントパスが含まれています。これは、自動マウントが成功したことを示します。また、nfsstat -c を実行して、使用されているプロトコルバージョンを確認することもできます。Client nfs v4 は、プロトコルバージョンが v4 であることを意味します。attachnas-result

      ECS インスタンスは作成されたが NAS ファイルシステムがマウントされていない場合は、OOS コンソールに移動してタスクの実行ステータスを確認できます。詳細については、「(オプション) ステップ 3:OOS の実行ステータスの表示」をご参照ください。

(オプション) ステップ 3:OOS の実行ステータスの表示

  1. OOS コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、自動タスク > エグゼキューション を選択します。

  3. 開始時刻で実行を検索し、詳細操作 列からクリックします。

  4. 実行詳細ページで、実行情報を確認します。

    たとえば、基本情報 セクションで実行 ID や実行ステータスなどの情報を確認したり、実行結果 セクションでタスクノードをクリックして実行の詳細を確認したりできます。詳細については、「タスク実行の詳細の表示」をご参照ください。

    説明

    実行が失敗した場合、関連するエラーメッセージも実行詳細ページに表示されます。

よくある質問

オーケストレーションタスクが失敗した場合は、その実行結果に表示されるエラーメッセージを参照してトラブルシューティングを行ってください。詳細については、「よくある質問」をご参照ください。

以下の表は、一般的なエラーメッセージを示しています。

エラーメッセージ

原因

解決方法

Forbidden.Unauthorized message: A required authorization for the specified action is not supplied.

Auto Scaling に指定された操作を実行するための必要な権限が付与されていません。

OOSServiceRole RAM ロールに必要な権限が付与されているか確認してください。

Forbidden.RAM message: User not authorized to operate on the specified resource, or this API doesn't support RAM.

RAM ユーザーまたは RAM ロールに、指定されたリソースに対する操作権限がありません。

OOS テンプレートで指定されたリソースを管理するために、OOSServiceRole RAM ロールに必要な権限が付与されていることを確認してください。たとえば、OOS のサンプル権限をロールに付与できます。

LifecycleHookIdAndLifecycleActionToken.Invalid message: The specified lifecycleActionToken and LifecycleHookId you provided does not match any in process lifecycle action.

進行中のライフサイクルアクションが期限切れになったか、中止されました。

ライフサイクルフックのタイムアウト値を確認し、OOS テンプレートで定義されたオーケストレーションタスクが完了するのに十分な長さに設定されていることを確認してください。