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

Resource Orchestration Service:概要

最終更新日:Aug 28, 2026

Terraform は、自動化されたリソースオーケストレーションのためのオープンソースツールです。ROS は Terraform をマネージドサービスとしてホストします。Terraform テンプレートとスタックを作成し、ROS API 互換の操作を通じて Alibaba Cloud、Amazon Web Services (AWS)、および Microsoft Azure のリソースをオーケストレーションできます。

制限事項

Terraform は ROS の機能とリソースのサブセットをサポートしています。ROS で Terraform がサポートする機能とリソース をご参照ください。

開発方法

次のいずれかの方法を使用して、Terraform コードを記述およびテストします。

ROS で Terraform を使用するメリット

ROS は、Terraform CLI を超える次の機能を追加します。

  • 統一されたコンソールエクスペリエンス

    ROS コンソールは、ネイティブの ROS テンプレートと同じエクスペリエンスで Terraform テンプレートを管理し、すべてのリソース管理を一元化します。

    ROS コンソールの [Create Stack] ページで、[Stack Name] を入力し、中国 (杭州) などの [Region] を選択し、Terraform テンプレートを読み込みます。

    コンソールは、テンプレート変数を視覚的なフォームとしてレンダリングし、[VPC Configuration][vSwitch][Instance Type][Security Group] などのパラメーターに対してドロップダウンオプションとデフォルト値を提供します。

    $ terraform plan
    
    Terraform used the selected providers to generate the following execution plan.
    Resource actions are indicated with the following symbols:
      + create
    
      # alicloud_vpc.default will be created
      + resource "alicloud_vpc" "default" {
          + cidr_block = "10.0.0.0/8"
          + vpc_name   = (known after apply)
        }
    
    Plan: 6 to add, 0 to change, 0 to destroy.
    $ terraform apply
    
    alicloud_vpc.default: Creating...
    alicloud_vpc.default: Creation complete after 6 s [id=vpc-bp1...]
    alicloud_vswitch.default[0]: Creating...
    alicloud_vswitch.default[0]: Creation complete after 5 s [id=vsw-bp1...]
    
    Apply complete! Resources: 6 added, 0 changed, 0 destroyed.
  • パラメーターとプロパティの動的なクエリと選択

    • 有効なパラメーター値を動的にクエリします。

    • 複数のプロパティにわたって単一のパラメーターを参照します。

    • 選択可能な値を持つ GUI でパラメーターを表示します。「AssociationProperty と AssociationPropertyMetadata」をご参照ください。

    パラメーターを設定する際、「Virtual Private Cloud (VPC)」や「Security Group」などのフィールドには、現在のリージョンで利用可能なリソースのドロップダウンリストが表示され、以前に選択したパラメーターによって動的にフィルタリングされます。

    テンプレートのパラメーターセクションで、リージョンリソースをクエリするには AssociationProperty を、フィルター条件を追加するには AssociationPropertyMetadata を指定すると、ROS コンソールにこれらのパラメーターの選択可能な値が表示されます。

    その後、リソース ID を手動で入力する代わりに、ドロップダウンリストから既存のリソースを選択できます。

  • テンプレートリソースの価格照会

    デプロイ前に、ROS は Terraform テンプレートからリソースの推定価格を計算して表示し、予算計画を支援します。

    [Price Details] ダイアログには、[Resource Type] (ECS や RDS インスタンスなど)、[Specifications]、[Region]、[Quantity]、[Billing Method] ごとに推定コストが一覧表示されます。合計 [Prepaid Monthly Fee] は上部に表示されます。

  • サービスのアクティベーションとロールのチェック

    • 自動チェック: ROS は、デプロイ前にテンプレート内のサービスがアクティベートされているか、必要なロールが存在するかをチェックします。[Transit Router] などのサービスがアクティベートされていない場合、[Dependency Check] ダイアログが表示され、問題の数と、サービスのアクティベーションページへの [Activation Link] が表示されます。

    • ヒントとガイダンス:必要なサービスがアクティベートされていない場合、またはロールが不足している場合、ROS は設定を完了するためのガイダンスを提供します。

      アクティベーションリンクをクリックすると、サービスページ ([Transit Router] など) にリダイレクトされ、[Service Agreement] に同意してアクティベートできます。

  • リスク検出

    ROS は、セキュリティグループの削除など、操作を実行する前に潜在的なリスクを検出します。

    スタックを削除する際、[Delete Stack] ダイアログには、依存関係を持つリソース (ECS インスタンスによって参照されているセキュリティグループなど) を一覧表示する [Risk Alert] が表示されます。続行するには、[Deletion Method] (リソースを保持またはリソースをリリース) を選択し、[Stack Name] を確認する必要があります。

  • テンプレートのバージョン管理と共有

    ROS は Terraform テンプレートのバージョン管理を提供します。[Template Details] (ID、共有ステータス、タイムスタンプ) を表示し、[Template Version] セレクターでバージョンを切り替え、[Template Content] (main.tf ファイルの HCL コードなど) をオンラインで表示し、[Share Template] で共有するか、[Create Stack] でデプロイします。

  • タグとリソースグループの伝播

    1 回の操作で、すべてのテンプレートリソースにタグとリソースグループを伝播できます。

シナリオ

Terraform スタックの作成

クラウドプラットフォーム (AWS、Azure) またはオンプレミス環境にまたがるリソースを一元的にオーケストレーションおよび管理するには、Terraform スタックを作成してください。「Terraform スタックの作成」をご参照ください。

Terraform テンプレートの作成

Alibaba Cloud からサードパーティのクラウドリソース (AWS、Azure) を管理するには、Terraform テンプレートで依存関係を持つリソースを定義してください。「Terraform テンプレートの作成」をご参照ください。

テンプレート構造

Terraform テンプレートでリソース、パラメーター、および依存関係を定義することで、Alibaba Cloud、AWS、および Azure のリソースをオーケストレーションできます。「Terraform テンプレートの構造」、「Alibaba Cloud Terraform とは」をご参照ください。

開発に関する推奨事項

ROS 向けに Terraform コードを開発する際は、次のベストプラクティスに従ってください。「Terraform コード開発の方法と推奨事項」をご参照ください。

  • 変数定義を洗練してください。

  • プロバイダーバージョンを指定してください。

  • 擬似パラメーターを使用してスタック情報を取得してください。

  • コンソールでのパラメーターと変数の入力モードを制御してください。

  • Aliyun::Terraform-v1.0 以降を使用してください。

  • Metadata を使用して、コンソールでのパラメーターと変数の表示を制御してください。

  • オンプレミスコードは、名前が .debug.tf で終わるファイルに保存してください。

  • .tf ファイルで Alibaba Cloud プロバイダー (alicloud) を宣言しないでください。

  • .tfvars ファイルではなく、ROS パラメーターを使用して変数値を渡してください。

テンプレートの例

Terraform テンプレートの例」をご参照ください。