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

Resource Orchestration Service:ALIYUN::FC::Service

最終更新日:Jan 16, 2025

ALIYUN::FC::Service は、Function Compute でサービスを作成するために使用されます。

サービスのすべての関数は、サービス認証やログ設定など、同じ構成を共有します。 1 つのサービスに複数の関数を設定でき、すべての関数が Logstore や Resource Access Management (RAM) ロールなどのサービスリソースを共有します。サービスは O&M 管理の基本単位であり、ビジネスロジックを明確に整理するのに役立ちます。サービスはアプリケーションと見なすことができます。同じアプリケーションを作成するために使用される関数は、単一のサービスに属します。サービスは相互に独立しており、リソースを相互に共有することはできません。

構文

{
  "Type": "ALIYUN::FC::Service",
  "Properties": {
    "Description": String,
    "VpcConfig": Map,
    "ServiceName": String,
    "Role": String,
    "DeletionForce": Boolean,
    "Tags": List,
    "NasConfig": Map,
    "LogConfig": Map,
    "TracingConfig": Map,
    "InternetAccess": Boolean,
    "VpcBindings": List,
    "OssMountConfig": Map
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Description

String

いいえ

はい

サービスの説明。

なし。

VpcConfig

Map

いいえ

はい

仮想プライベートクラウド (VPC) の構成。この構成により、関数は指定された VPC にアクセスできます。

詳細については、VpcConfig プロパティをご参照ください。

スタックの更新時に VPC 構成を削除する場合の VpcConfig の例:

{
 "VpcId": "",
 "VSwitchIds": [],
 "SecurityGroupId": ""
}
説明

VPC をサポートするために、Function Compute は Elastic Network Interface (ENI) を作成および管理するための権限を必要とします。そのため、Function Compute に ecs:CreateNetworkInterface 権限を付与することをお勧めします。

ServiceName

String

はい

いいえ

サービスの名前。

名前は 1 ~ 128 文字で、文字、数字、アンダースコア (_)、ハイフン (-) を使用できます。文字またはアンダースコア (_) で始める必要があります。

Role

String

いいえ

はい

Function Compute に必要な権限を付与するために使用される RAM ロールの Alibaba Cloud Resource Name (ARN)。

以下のシナリオで RAM ロールを使用できます。

  • 関数の実行ログを Logstore に送信する。

  • 関数が呼び出されたときに、関数が他のクラウド リソースにアクセスするためのトークンを生成する。

NasConfig

Map

いいえ

はい

ファイルストレージ NAS (NAS) の構成。この構成により、関数は指定された NAS リソースにアクセスできます。

詳細については、NasConfig プロパティをご参照ください。

スタックの更新時に NAS 構成を削除する場合の NasConfig の例:

{
 "MountPoints": [],
 "UserId": -1,
 "GroupId": -1
}

LogConfig

Map

いいえ

はい

ログの設定。関数ログは、設定で指定した Logstore に書き込まれます。

詳細については、LogConfig プロパティをご参照ください。

TracingConfig

Map

いいえ

はい

Managed Service for OpenTelemetry の構成。

Function Compute が Managed Service for OpenTelemetry と統合されると、Function Compute でリクエストの継続時間を記録し、関数のコールドスタート継続時間を表示し、関数の実行継続時間を記録できます。

詳細については、TracingConfig プロパティをご参照ください。

InternetAccess

Boolean

いいえ

はい

関数がインターネットにアクセスできるかどうかを指定します。

有効な値:

  • true

  • false

DeletionForce

Boolean

いいえ

はい

サービスを強制的に削除するかどうかを指定します。

このプロパティは、VpcConfig が指定されている場合に有効になります。有効な値:

  • true: サービスを強制的に削除します。サービスは、Function Compute がサービスのために作成したすべての ENI が削除される前に削除されます。

    説明

    ALIYUN::FC::Service リソースタイプで指定した vSwitch またはセキュリティグループに基づいてサービスが作成されている場合は、サービスの削除時に DeletionForce を true に設定できます。これにより、サービスはより短い待機時間で削除されます。

  • false (デフォルト): サービスを強制的に削除しません。サービスは、Function Compute がサービスのために作成したすべての ENI が削除されるまで削除されません。

現在のスタックで作成された vSwitch またはセキュリティグループに基づいてサービスが作成されている場合は、サービスの削除時に DeletionForce を指定する必要はありません。サービスを削除した後、ENI とスタックを想定どおりに削除するために、サービスの関数が 1 時間以内に呼び出されないことを確認してください。

Tags

List

いいえ

はい

タグ。

最大 20 個のタグを追加できます。

詳細については、Tags プロパティをご参照ください。

VpcBindings

List

いいえ

はい

Function Compute にバインドする VPC の ID。

デフォルトでは、パブリックエンドポイントとプライベートエンドポイントを使用して、作成された関数を呼び出すことができます。指定された VPC 経由で関数を呼び出す場合は、VPC を Function Compute にバインドする必要があります。

最大 20 個の VPC を指定できます。

OssMountConfig

Map

いいえ

はい

オブジェクトストレージサービス (OSS) のマウント構成。

詳細については、OssMountConfig プロパティをご参照ください。

LogConfig 構文

"LogConfig": {
  "Project": String,
  "Logstore": String,
  "EnableRequestMetrics": Boolean,
  "LogBeginRule": String   
}

LogConfig プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Project

String

いいえ

はい

LogHub のプロジェクト名。

なし。

Logstore

String

いいえ

はい

LogHub の Logstore 名。

なし。

EnableRequestMetrics

Boolean

いいえ

はい

リクエストモニタリングを有効にするかどうかを指定します。

有効な値:

  • true

  • false

LogBeginRule

String

いいえ

はい

ログのセグメント化ルール。

なし。

VpcConfig 構文

"VpcConfig": {
  "SecurityGroupId": String, // セキュリティグループ ID
  "VSwitchIds": List, // VSwitch ID のリスト
  "VpcId": String, // VPC ID
  "ZoneId": String // ゾーン ID
}

VpcConfig プロパティ

プロパティ

必須

編集可能

説明

制約

SecurityGroupId

String

はい

はい

セキュリティグループの ID。

なし。

VSwitchIds

List

はい

はい

vSwitch の ID。

なし。

VpcId

String

はい

はい

VPC の ID。

なし。

ZoneId

String

いいえ

はい

ゾーンの ID。

なし。

NasConfig 構文

"NasConfig": {
  "MountPoints": List, // マウントポイントのリスト
  "UserId": Integer, // ユーザー ID
  "GroupId": Integer // グループ ID
}

NasConfig プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

MountPoints

リスト

はい

はい

マウントターゲット。

詳細については、「MountPoints プロパティ」をご参照ください。

UserId

整数

はい

はい

ユーザー ID。

有効な値: -1 ~ 65534。

GroupId

整数

はい

はい

グループ ID。

有効な値: -1 ~ 65534。

TracingConfig 構文

"TracingConfig": {
  "Type": String, // タイプ
  "Params": Map // パラメーター
}

TracingConfig プロパティ

プロパティ

必須

編集可能

説明

制約

Type

String

いいえ

はい

トレースシステムのタイプ。

なし。

Params

Map

いいえ

はい

Managed Service for OpenTelemetry のパラメーター。

なし。

タグの構文

"Tags": [
  {
    "Key": String, // キー
    "Value": String // 値
  }
]  

タグのプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

キー

文字列

はい

いいえ

タグのキー。

キーは 1 ~ 128 文字で、http:// または https:// を含めることはできません。aliyun または acs: で始めることはできません。

文字列

いいえ

いいえ

タグの値。

値は最大 128 文字で、http:// または https:// を含めることはできません。aliyun または acs: で始めることはできません。

VpcConfig 構文

"OssMountConfig": {
  // マウントポイントのリスト
  "MountPoints": List
}

VpcConfig プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

SecurityGroupId

String

はい

はい

セキュリティグループの ID。

詳細については、「MountPoints プロパティ」をご参照ください。

MountPoints 構文

"MountPoints":  [
  {
    "ServerAddr": String, // サーバーアドレス
    "MountDir": String // マウントディレクトリ
  }
]

MountPoints プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

ServerAddr

String

はい

はい

NAS サーバーのアドレス。

なし。

MountDir

String

はい

はい

ローカルのマウントディレクトリ。

なし。

戻り値

Fn::GetAtt

  • ServiceId: サービスの ID。システムはサービスごとに一意の ID を生成します。

  • ServiceName: サービスの名前。

  • Tags: タグ。

  • Role: RAM ロール。

  • LogProject: ログプロジェクト。

  • Logstore: Logstore。

  • InternetAccess: 関数がインターネットにアクセスできるかどうかを示します。

  • VpcId: VPC の ID。

YAML 形式

ROSTemplateFormatVersion: '2015-09-01'
Description: Test FC
Parameters: {}
Resources:
  Service:
    Type: ALIYUN::FC::Service
    Properties:
      ServiceName: mytest
Outputs: {}                 

JSON 形式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Test FC",
  "Parameters": {
  },
  "Resources": {
    "Service": {
      "Type": "ALIYUN::FC::Service",
      "Properties": {
        "ServiceName": "mytest"
      }
    }
  },
  "Outputs": {
  }
}