Propriété
Type
Obligatoire
Modifiable
Description
Contraintes
ProtocolType
String
Oui
Non
Le type de protocole.
Valeurs valides :
NFS : protocole NFS.
SMB : protocole SMB.
cpfs : protocole CPFS.
Bandwidth
Integer
Non
Non
Le débit maximal du système de fichiers.
Ce paramètre est obligatoire lorsque FileSystemType est défini sur cpfs. La valeur de ce paramètre dépend de la valeur de Capacity. Pour plus d'informations, consultez la page d'achat CPFS.
Unité : Mbit/s.
ChargeType
String
Non
Non
La méthode de facturation.
Valeurs valides :
PayAsYouGo : paiement à l'utilisation.
Subscription : abonnement.
Duration
Integer
Non
Non
La durée de l'abonnement.
Ce paramètre est obligatoire et prend effet uniquement lorsque ChargeType est défini sur Subscription. Si vous ne renouvelez pas l'instance d'abonnement, celle-ci est automatiquement libérée à l'expiration. Valeurs valides :
1
2
3
6
12
36
Unité : mois.
StorageType
String
Oui
Non
La classe de stockage.
Valeurs valides :
Si FileSystemType est défini sur standard :
Performance : instance optimisée pour le calcul.
Capacity : optimisé pour le stockage.
Si FileSystemType est défini sur extreme :
standard : moyen.
advance : avancé.
Si FileSystemType est défini sur cpfs :
advance_100 : ligne de base de 100 Mo/s/TiB.
advance_200 : ligne de base de 200 Mo/s/TiB.
DeletionForce
Boolean
Non
Oui
Forcer la suppression ?
Valeurs valides :
true : force la suppression du système de fichiers.
false (par défaut) : ne force pas la suppression du système de fichiers.
Description
String
Non
Oui
La description du système de fichiers.
La description doit comporter entre 2 et 128 caractères. Elle doit commencer par une lettre ou un caractère chinois et ne peut pas commencer par http:// ou https://. Elle peut contenir des lettres, des caractères chinois, des chiffres, des deux-points (:), des traits de soulignement (_) et des tirets (-).
Tags
List
Non
Oui
Tag.
Vous pouvez ajouter jusqu'à 20 tags à chaque instance.
Pour plus d'informations, consultez la section Propriété Tags.
SnapshotId
String
Non
Non
L'ID du snapshot.
Vous pouvez créer une instance NAS à partir d'un snapshot en spécifiant ce paramètre. Cette fonctionnalité est disponible uniquement pour les systèmes de fichiers Extreme NAS.
La version du système de fichiers que vous créez à partir d'un snapshot doit être identique à celle du système de fichiers source du snapshot. Si les versions diffèrent, procédez comme suit :
Copiez les données du système de fichiers source du snapshot vers le nouveau système de fichiers.
Une fois les données copiées, migrez vos services vers le nouveau système de fichiers.
EncryptType
Integer
Non
Non
Indique s'il faut chiffrer les données dans le système de fichiers. Vous pouvez utiliser une clé gérée par KMS pour chiffrer les données stockées dans le système de fichiers. Lors de la lecture et de l'écriture des données chiffrées, aucun déchiffrement n'est nécessaire.
Ce paramètre est disponible uniquement lorsque FileSystemType est défini sur standard ou extreme. Valeurs valides :
0 : ne chiffre pas les données.
1 : chiffre les données.
Capacity
Integer
Non
Oui
La capacité du système de fichiers.
Ce paramètre est obligatoire et prend effet uniquement lorsque FileSystemType est défini sur extreme ou cpfs.
Plage de valeurs :
Si FileSystemType est défini sur extreme : 100 à 262 144.
Si FileSystemType est défini sur cpfs : 2 048 à 512 000.
Unité : Go.
FileSystemType
String
Non
Non
Le type de système de fichiers.
Valeurs valides :
standard (par défaut) : à usage général.
extreme : Extreme.
cpfs : système de fichiers parallèle.
VpcId
String
Non
Non
L'ID du VPC (Virtual Private Cloud). Si vous spécifiez VpcId et VSwitchId, une cible de montage par défaut est préconfigurée lors de la création du système de fichiers.
Ce paramètre est obligatoire lorsque FileSystemType est défini sur cpfs.
VSwitchId
String
Non
Non
L'ID du vSwitch. Si vous spécifiez VpcId et VSwitchId, une cible de montage par défaut est préconfigurée lors de la création du système de fichiers.
Ce paramètre est obligatoire lorsque FileSystemType est défini sur cpfs.
ResourceGroupId
String
Non
Oui
L'ID du groupe de ressources.
Aucune
ZoneId
String
Non
Non
L'ID de la zone.
Aucune
Utilisez le type de ressource ALIYUN::NAS::FileSystem pour créer un système de fichiers.
Syntaxe
{
"Type": "ALIYUN::NAS::FileSystem",
"Properties": {
"SnapshotId": String,
"Description": String,
"StorageType": String,
"DeletionForce": Boolean,
"EncryptType": Integer,
"VpcId": String,
"ZoneId": String,
"Capacity": Integer,
"Tags": List,
"ProtocolType": String,
"FileSystemType": String,
"Bandwidth": Integer,
"VSwitchId": String,
"Duration": Integer,
"ChargeType": String,
"ResourceGroupId": String
}
}
Exemples
Scénario 1 : Créer un système de fichiers.
ROSTemplateFormatVersion: '2015-09-01'
Description: Test NAS FileSystem
Parameters: {}
Resources:
FileSystem:
Type: ALIYUN::NAS::FileSystem
Properties:
ProtocolType: NFS
StorageType: Capacity
Outputs:
FileSystemId:
Description: ID of the file system created
Value:
Fn::GetAtt:
- FileSystem
- FileSystemId{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test NAS FileSystem",
"Parameters": {
},
"Resources": {
"FileSystem": {
"Type": "ALIYUN::NAS::FileSystem",
"Properties": {
"ProtocolType": "NFS",
"StorageType": "Capacity"
}
}
},
"Outputs": {
"FileSystemId": {
"Description": "ID of the file system created",
"Value": {
"Fn::GetAtt": [
"FileSystem",
"FileSystemId"
]
}
}
}
}Scénario 2 : Créer un système de fichiers NAS, un groupe d'accès, une règle d'accès et une cible de montage.
ROSTemplateFormatVersion: '2015-09-01'
Description: Create NAS file systems, access groups, access rules, and mount targets, configure
protocols, storage types, permissions, and network settings.
Parameters:
Description:
Type: String
Description: File system description.
Default: mytest
ProtocolType:
Type: String
Description: Type of protocol used.
Default: NFS
AllowedValues:
- NFS
- SMB
StorageType:
Type: String
Description: The file system type.
Default: Capacity
AllowedValues:
- Performance
- Capacity
AccessGroupName:
Type: String
Default: mytest
VSwitchId:
Type: String
VpcId:
Type: String
Priority:
Type: Number
Description: 'Allowed Values: 1~100'
Default: 1
MinValue: 1
MaxValue: 100
UserAccessType:
Type: String
Default: no_squash
AllowedValues:
- no_squash
- root_squash
- all_squash
SourceCidrIp:
Type: String
Description: Address or address segment
Default: 0.0.0.0/0
RWAccessType:
Type: String
Description: 'Read-write permission type: RDWR (default), RDONLY'
Default: RDWR
AllowedValues:
- RDWR
- RDONLY
Resources:
FileSystem:
Type: ALIYUN::NAS::FileSystem
Properties:
ProtocolType:
Ref: ProtocolType
StorageType:
Ref: StorageType
Description:
Ref: Description
AccessGroup:
Type: ALIYUN::NAS::AccessGroup
Properties:
AccessGroupType: Vpc
AccessGroupName:
Ref: AccessGroupName
AccessRule:
Type: ALIYUN::NAS::AccessRule
Properties:
Priority:
Ref: Priority
UserAccessType:
Ref: UserAccessType
AccessGroupName:
Fn::GetAtt:
- AccessGroup
- AccessGroupName
SourceCidrIp:
Ref: SourceCidrIp
RWAccessType:
Ref: RWAccessType
DependsOn: AccessGroup
MountTarget:
Type: ALIYUN::NAS::MountTarget
Properties:
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
FileSystemId:
Fn::GetAtt:
- FileSystem
- FileSystemId
NetworkType: Vpc
AccessGroupName:
Fn::GetAtt:
- AccessGroup
- AccessGroupName
DependsOn:
- AccessRule
- FileSystem
Outputs:
FileSystemId:
Description: ID of the file system created
Value:
Fn::GetAtt:
- FileSystem
- FileSystemId
AccessGroupName:
Description: Permission group name
Value:
Fn::GetAtt:
- AccessGroup
- AccessGroupName
AccessRuleId:
Value:
Fn::GetAtt:
- AccessRule
- AccessRuleId
MountTargetDomain:
Value:
Fn::GetAtt:
- MountTarget
- MountTargetDomain
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Create NAS file systems, access groups, access rules, and mount targets, configure protocols, storage types, permissions, and network settings.",
"Parameters": {
"Description": {
"Type": "String",
"Description": "File system description.",
"Default": "mytest"
},
"ProtocolType": {
"Type": "String",
"Description": "Type of protocol used.",
"Default": "NFS",
"AllowedValues": [
"NFS",
"SMB"
]
},
"StorageType": {
"Type": "String",
"Description": "The file system type.",
"Default": "Capacity",
"AllowedValues": [
"Performance",
"Capacity"
]
},
"AccessGroupName": {
"Type": "String",
"Default": "mytest"
},
"VSwitchId": {
"Type": "String"
},
"VpcId": {
"Type": "String"
},
"Priority": {
"Type": "Number",
"Description": "Allowed Values: 1~100",
"Default": 1,
"MinValue": 1,
"MaxValue": 100
},
"UserAccessType": {
"Type": "String",
"Default": "no_squash",
"AllowedValues": [
"no_squash",
"root_squash",
"all_squash"
]
},
"SourceCidrIp": {
"Type": "String",
"Description": "Address or address segment",
"Default": "0.0.0.0/0"
},
"RWAccessType": {
"Type": "String",
"Description": "Read-write permission type: RDWR (default), RDONLY",
"Default": "RDWR",
"AllowedValues": [
"RDWR",
"RDONLY"
]
}
},
"Resources": {
"FileSystem": {
"Type": "ALIYUN::NAS::FileSystem",
"Properties": {
"ProtocolType": {
"Ref": "ProtocolType"
},
"StorageType": {
"Ref": "StorageType"
},
"Description": {
"Ref": "Description"
}
}
},
"AccessGroup": {
"Type": "ALIYUN::NAS::AccessGroup",
"Properties": {
"AccessGroupType": "Vpc",
"AccessGroupName": {
"Ref": "AccessGroupName"
}
}
},
"AccessRule": {
"Type": "ALIYUN::NAS::AccessRule",
"Properties": {
"Priority": {
"Ref": "Priority"
},
"UserAccessType": {
"Ref": "UserAccessType"
},
"AccessGroupName": {
"Fn::GetAtt": [
"AccessGroup",
"AccessGroupName"
]
},
"SourceCidrIp": {
"Ref": "SourceCidrIp"
},
"RWAccessType": {
"Ref": "RWAccessType"
}
},
"DependsOn": "AccessGroup"
},
"MountTarget": {
"Type": "ALIYUN::NAS::MountTarget",
"Properties": {
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"FileSystemId": {
"Fn::GetAtt": [
"FileSystem",
"FileSystemId"
]
},
"NetworkType": "Vpc",
"AccessGroupName": {
"Fn::GetAtt": [
"AccessGroup",
"AccessGroupName"
]
}
},
"DependsOn": [
"AccessRule",
"FileSystem"
]
}
},
"Outputs": {
"FileSystemId": {
"Description": "ID of the file system created",
"Value": {
"Fn::GetAtt": [
"FileSystem",
"FileSystemId"
]
}
},
"AccessGroupName": {
"Description": "Permission group name",
"Value": {
"Fn::GetAtt": [
"AccessGroup",
"AccessGroupName"
]
}
},
"AccessRuleId": {
"Value": {
"Fn::GetAtt": [
"AccessRule",
"AccessRuleId"
]
}
},
"MountTargetDomain": {
"Value": {
"Fn::GetAtt": [
"MountTarget",
"MountTargetDomain"
]
}
}
}
}Scénario 3 : Créez un modèle conversationnel à l'aide de Qwen et LangChain
ROSTemplateFormatVersion: '2015-09-01'
Description: Create a VPC environment, configure security groups, set up an NFS file system,
enable PAI services, and deploy a conversation model WebUI based on Qwen and LangChain.
Parameters:
ZoneId:
Type: String
Label: VSwitch Availability Zone
Description: Availability Zone ID
AssociationProperty: ZoneId
PAIEASInstanceType:
Type: String
Label: PAI-EAS instance type.
Description: PAI-EAS instance type.
AllowedPattern: '(^ecs.*gn.*)|(^ml.*)'
AssociationProperty: ALIYUN::EAS::Instance::InstanceType
AssociationPropertyMetadata:
SubscriptionType: PayAsYouGo
Resources:
RandomString:
Type: ALIYUN::RandomString
Properties:
length: 8
character_classes:
- class: lowercase
min: 1
- class: digits
min: 1
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
CidrBlock: 192.168.0.0/16
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
ZoneId:
Ref: ZoneId
VpcId:
Ref: Vpc
CidrBlock: 192.168.0.0/24
SecurityGroup:
Type: ALIYUN::ECS::SecurityGroup
Properties:
VpcId:
Ref: Vpc
SecurityGroupIngress:
- PortRange: 80/80
Priority: 1
SourceCidrIp: 0.0.0.0/0
IpProtocol: tcp
NicType: internet
- PortRange: 443/443
Priority: 1
SourceCidrIp: 0.0.0.0/0
IpProtocol: tcp
NicType: internet
- PortRange: 3389/3389
Priority: 1
SourceCidrIp: 0.0.0.0/0
IpProtocol: tcp
NicType: internet
NasFileSystem:
Type: ALIYUN::NAS::FileSystem
Properties:
ProtocolType: NFS
FileSystemType: standard
StorageType: Performance
DeletionForce: true
ZoneId:
Ref: ZoneId
VpcId:
Ref: Vpc
VSwitchId:
Ref: VSwitch
NasAccessGroup:
Type: ALIYUN::NAS::AccessGroup
Properties:
AccessGroupType: Vpc
AccessGroupName:
Fn::Sub: nas-access-group-${ALIYUN::StackId}
NasMountTarget:
Type: ALIYUN::NAS::MountTarget
DependsOn:
- NasAccessRule
Properties:
VpcId:
Ref: Vpc
VSwitchId:
Ref: VSwitch
NetworkType: Vpc
AccessGroupName:
Ref: NasAccessGroup
FileSystemId:
Ref: NasFileSystem
NasAccessRule:
Type: ALIYUN::NAS::AccessRule
Properties:
SourceCidrIp: 0.0.0.0/0
AccessGroupName:
Ref: NasAccessGroup
Workspace:
Type: ALIYUN::PAI::Workspace
Properties:
EnvTypes:
- dev
- prod
Description: Build a conversational model based on Qwen and LangChain.
WorkspaceName:
Fn::Sub: qwen_demo_${RandomString.value}
EAS:
Type: ALIYUN::PAI::Service
Properties:
ServiceConfig:
metadata:
name:
Fn::Sub: qwen_demo_${RandomString.value}
instance: 1
enable_webservice: 'true'
cloud:
computing:
instance_type:
Ref: PAIEASInstanceType
instances: Null
containers:
- image:
Fn::Sub:
- 'eas-registry-vpc.${Region}.cr.aliyuncs.com/pai-eas/chat-llm-webui:2.1'
- Region:
Ref: ALIYUN::Region
script: 'python webui/webui_server.py --port=8000 --model-path=Qwen/Qwen-7B-Chat'
port: 8000
DependsOn:
- Workspace
Outputs:
Namespace:
Description: The namespace where the service resides.
Value:
Fn::GetAtt:
- EAS
- Namespace
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- ZoneId
- PAIEASInstanceType
TemplateTags:
- acs:technical-solution:AI:Build a conversational model using Qwen and LangChain{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Create a VPC environment, configure security groups, set up an NFS file system, enable PAI services, and deploy a conversation model WebUI based on Qwen and LangChain.",
"Parameters": {
"ZoneId": {
"Type": "String",
"Label": "VSwitch Availability Zone",
"Description": "Availability Zone ID",
"AssociationProperty": "ZoneId"
},
"PAIEASInstanceType": {
"Type": "String",
"Label": "PAI-EAS instance type.",
"Description": "PAI-EAS instance type.",
"AllowedPattern": "(^ecs.*gn.*)|(^ml.*)",
"AssociationProperty": "ALIYUN::EAS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"SubscriptionType": "PayAsYouGo"
}
}
},
"Resources": {
"RandomString": {
"Type": "ALIYUN::RandomString",
"Properties": {
"length": 8,
"character_classes": [
{
"class": "lowercase",
"min": 1
},
{
"class": "digits",
"min": 1
}
]
}
},
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": {
"CidrBlock": "192.168.0.0/16"
}
},
"VSwitch": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"ZoneId": {
"Ref": "ZoneId"
},
"VpcId": {
"Ref": "Vpc"
},
"CidrBlock": "192.168.0.0/24"
}
},
"SecurityGroup": {
"Type": "ALIYUN::ECS::SecurityGroup",
"Properties": {
"VpcId": {
"Ref": "Vpc"
},
"SecurityGroupIngress": [
{
"PortRange": "80/80",
"Priority": 1,
"SourceCidrIp": "0.0.0.0/0",
"IpProtocol": "tcp",
"NicType": "internet"
},
{
"PortRange": "443/443",
"Priority": 1,
"SourceCidrIp": "0.0.0.0/0",
"IpProtocol": "tcp",
"NicType": "internet"
},
{
"PortRange": "3389/3389",
"Priority": 1,
"SourceCidrIp": "0.0.0.0/0",
"IpProtocol": "tcp",
"NicType": "internet"
}
]
}
},
"NasFileSystem": {
"Type": "ALIYUN::NAS::FileSystem",
"Properties": {
"ProtocolType": "NFS",
"FileSystemType": "standard",
"StorageType": "Performance",
"DeletionForce": true,
"ZoneId": {
"Ref": "ZoneId"
},
"VpcId": {
"Ref": "Vpc"
},
"VSwitchId": {
"Ref": "VSwitch"
}
}
},
"NasAccessGroup": {
"Type": "ALIYUN::NAS::AccessGroup",
"Properties": {
"AccessGroupType": "Vpc",
"AccessGroupName": {
"Fn::Sub": "nas-access-group-${ALIYUN::StackId}"
}
}
},
"NasMountTarget": {
"Type": "ALIYUN::NAS::MountTarget",
"DependsOn": [
"NasAccessRule"
],
"Properties": {
"VpcId": {
"Ref": "Vpc"
},
"VSwitchId": {
"Ref": "VSwitch"
},
"NetworkType": "Vpc",
"AccessGroupName": {
"Ref": "NasAccessGroup"
},
"FileSystemId": {
"Ref": "NasFileSystem"
}
}
},
"NasAccessRule": {
"Type": "ALIYUN::NAS::AccessRule",
"Properties": {
"SourceCidrIp": "0.0.0.0/0",
"AccessGroupName": {
"Ref": "NasAccessGroup"
}
}
},
"Workspace": {
"Type": "ALIYUN::PAI::Workspace",
"Properties": {
"EnvTypes": [
"dev",
"prod"
],
"Description": "Build a conversational model based on Qwen and LangChain.",
"WorkspaceName": {
"Fn::Sub": "qwen_demo_${RandomString.value}"
}
}
},
"EAS": {
"Type": "ALIYUN::PAI::Service",
"Properties": {
"ServiceConfig": {
"metadata": {
"name": {
"Fn::Sub": "qwen_demo_${RandomString.value}"
},
"instance": 1,
"enable_webservice": "true"
},
"cloud": {
"computing": {
"instance_type": {
"Ref": "PAIEASInstanceType"
},
"instances": null
}
},
"containers": [
{
"image": {
"Fn::Sub": [
"eas-registry-vpc.${Region}.cr.aliyuncs.com/pai-eas/chat-llm-webui:2.1",
{
"Region": {
"Ref": "ALIYUN::Region"
}
}
]
},
"script": "python webui/webui_server.py --port=8000 --model-path=Qwen/Qwen-7B-Chat",
"port": 8000
}
]
}
},
"DependsOn": [
"Workspace"
]
}
},
"Outputs": {
"Namespace": {
"Description": "The namespace where the service resides.",
"Value": {
"Fn::GetAtt": [
"EAS",
"Namespace"
]
}
}
},
"Metadata": {
"ALIYUN::ROS::Interface": {
"ParameterGroups": [
{
"Parameters": [
"ZoneId",
"PAIEASInstanceType"
]
}
],
"TemplateTags": [
"acs:technical-solution:AI:Build a conversational model using Qwen and LangChain"
]
}
}
}Pour plus d'exemples, consultez les modèles publics contenant cette ressource.
Syntaxe des tags
"Tags": [
{
"Key": String,
"Value": String
}
]
Propriétés des tags
|
Nom de la propriété |
Type |
Obligatoire |
Mise à jour autorisée |
Description |
Contraintes |
|
Key |
String |
Oui |
Non |
Clé du tag. |
La clé du tag doit comporter entre 1 et 128 caractères. Elle ne peut pas commencer par |
|
Value |
String |
Non |
Non |
Valeur du tag. |
La valeur du tag peut comporter entre 0 et 128 caractères. Elle ne peut pas commencer par |
Valeur de retour
Fn::GetAtt
FileSystemId : ID du système de fichiers.