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 の例: 説明 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 ロールを使用できます。
|
NasConfig | Map | いいえ | はい | ファイルストレージ NAS (NAS) の構成。この構成により、関数は指定された NAS リソースにアクセスできます。 | 詳細については、NasConfig プロパティをご参照ください。 スタックの更新時に NAS 構成を削除する場合の NasConfig の例: |
LogConfig | Map | いいえ | はい | ログの設定。関数ログは、設定で指定した Logstore に書き込まれます。 | 詳細については、LogConfig プロパティをご参照ください。 |
TracingConfig | Map | いいえ | はい | Managed Service for OpenTelemetry の構成。 | Function Compute が Managed Service for OpenTelemetry と統合されると、Function Compute でリクエストの継続時間を記録し、関数のコールドスタート継続時間を表示し、関数の実行継続時間を記録できます。 詳細については、TracingConfig プロパティをご参照ください。 |
InternetAccess | Boolean | いいえ | はい | 関数がインターネットにアクセスできるかどうかを指定します。 | 有効な値:
|
DeletionForce | Boolean | いいえ | はい | サービスを強制的に削除するかどうかを指定します。 | このプロパティは、VpcConfig が指定されている場合に有効になります。有効な値:
現在のスタックで作成された 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 | いいえ | はい | リクエストモニタリングを有効にするかどうかを指定します。 | 有効な値:
|
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 文字で、 |
値 | 文字列 | いいえ | いいえ | タグの値。 | 値は最大 128 文字で、 |
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": {
}
}