ALIYUN::FC::Service は、サービスを作成する場合に使用します。 サービスは、Function Compute 内のリソースの整理や管理に役立つオブジェクトです。 サービスのすべての関数で、サービス許可やログ記録設定など、同じ設定を共有します。 1 つのサービスに複数の関数を作成することができ、サービスのすべての関数で Logstore やサービスロールなどのサービスリソースを共有できます。

サービスを利用すると、ビジネスコンポーネントをより適切に整理できます。

サービスの形式でリソースを管理できます。 サービスは、アプリケーションを表すことができます。 同じアプリケーションに使用される関数を、1 つのサービスにまとめることができます。 サービスは独立していて、他のサービスとリソースを共有することはできません。

構文

  1. { Type”: ALIYUN::FC::Service”, Properties”: { Description”: String, VpcConfig”: Map, ServiceName”: String, Role”: String, NasConfig”: Map, LogConfig”: Map, InternetAccess”: Boolean }}

プロパティ

名前 データ型 必須/省略可能 更新可/不可 説明 制約
Description String 省略可能 サービスの説明。 なし
VpcConfig Map 省略可能 VPC の設定。関数が特定の VPC にアクセスできるようにします。 なし
ServiceName String 必須 サービスの名前。 名前は 1 から 128 文字にする必要があります。
Role String 省略可能 特定の関数を実行する権限を Function Compute に付与する RAM ロール。
  1. たとえば、指定した Logstore に関数実行ログを送信することを Function Compute に許可することができます。
  2. このロールで生成された一時的な STS トークンは、関数コンテキストから取得でき、他のクラウドリソースへのアクセスに使用できます。
なし
NasConfig Map 省略可能 NAS の設定。関数が特定の NAS ファイルシステムにアクセスできるようにします。 なし
LogConfig Map 省略可能 ログの設定。 Function Compute は、設定済みの Logstore に関数実行ログを書き込みます。 なし
InternetAccess Boolean 省略可能 関数にインターネットへのアクセスを許可するかどうかを示します。 このパラメーターが true に設定されていると、関数はインターネットにアクセスできます。 なし

LogConfig 構文

  1. LogConfig”: { Project”: String, Logstore”: String}

LogConfig プロパティ

名前 データ型 必須/省略可能 更新可/不可 説明 制約
Project String 省略可能 LogHub のプロジェクト名。 なし
Logstore String 省略可能 LogHub の Logstore 名。 なし

VpcConfig 構文

  1. VpcConfig”: { SecurityGroupId”: String, VSwitchIds”: [String, …], VpcId”: String}

VpcConfig プロパティ

名前 データ型 必須/省略可能 更新可/不可 説明 制約
SecurityGroupId String 必須 セキュリティグループの ID。 なし
VSwitchIds String 必須 1 つ以上の VSwitch ID のリスト。 リストには、1 つ以上の VSwitch ID を含める必要があります。
VpcId String 必須 VPC の ID。 なし

NasConfig 構文

  1. NasConfig”: { UserId”: Integer, GroupId”: Integer, MountPoints”: [ { ServerAddr”: String, MountDir”: String }, ]}

NasConfig プロパティ

名前 データ型 必須/省略可能 更新可/不可 説明 制約
UserId Integer 必須 関数が NAS ファイルシステムへのアクセスに使用するユーザー ID。 有効な値:-1 から 65534。
GroupId Integer 必須 関数が NAS ファイルシステムへのアクセスに使用するグループ ID。 有効な値:-1 から 65534。
MountPoints List 必須 サービス内の NAS マウントポイントのリスト。 なし
ServerAddr String 必須 サービスがアクセスする必要がある NAS ファイルシステム内のリモートディレクトリ。 なし
MountDir String 必須 ローカルファイルシステムのマウントポイント。 なし

レスポンスパラメーター

Fn::GetAtt

ServiceId:サービスごとに生成される一意の ID。

  1. { ROSTemplateFormatVersion”: 2015-09-01”, Resources”: { Service”: { Type”: ALIYUN::FC::Service”, Properties”: { Description”: { Ref”: Description }, VpcConfig : { Ref”: VpcConfig }, ServiceName”: { Ref”: ServiceName }, Role”: { Ref”: Role }, NasConfig”: { Ref”: NasConfig }, LogConfig”: { Ref”: LogConfig }, InternetAccess”: { Ref”: InternetAccess } } } }, Parameters”: { Description”: { Type”: String”, Description”: Service description }, VpcConfig”: { Type”: Json”, Description”: VPC configuration. Function Compute uses the config to setup ENI in the specific VPC.” }, ServiceName”: { MinLength”: 1, Type”: String”, Description”: Service name”, MaxLength”: 128 }, Role”: { Type”: String”, Description”: The role grants Function Compute the permission to access user\u2019s cloud resources, such as pushing logs to user\u2019s log store. The temporary STS token generated from this role can be retrieved from function context and used to access cloud resources. }, NasConfig”: { Type”: Json”, Description”: NAS configuration. Function Compute uses a specified NAS configured on the service.” }, LogConfig”: { Type”: Json”, Description”: Log configuration. Function Compute pushes function execution logs to the configured log store.” }, InternetAccess”: { Type”: Boolean”, Description”: Set it to true to enable Internet access.”, AllowedValues”: [ True”, true”, False”, false ] } }, Outputs”: { ServiceId”: { Description”: The service ID”, Value”: { Fn::GetAtt”: [ Service”, ServiceId ] } } }}
  1. </article>
  2. </main>