Resource type ALIYUN::NAS::FileSystem digunakan untuk membuat sistem file NAS.
Sintaks
{
"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
}
} Properti
Nama Properti | Tipe | Wajib | Pembaruan diizinkan | Deskripsi | Batasan |
ProtocolType | String | Ya | Tidak | Jenis protokol. | Nilai yang valid:
|
Bandwidth | Integer | Tidak | Tidak | Throughput maksimum sistem file. | Parameter ini wajib ditentukan ketika FileSystemType diatur ke cpfs. Nilainya bergantung pada Capacity. Untuk informasi selengkapnya, lihat halaman pembelian CPFS. Unit: Mbps. |
ChargeType | String | Tidak | Tidak | Metode penagihan. | Nilai yang valid:
|
Duration | Integer | Tidak | Tidak | Durasi langganan. | Parameter ini wajib dan hanya berlaku ketika ChargeType diatur ke Subscription. Jika Anda tidak memperpanjang instans langganan, instans tersebut akan secara otomatis dilepas setelah masa berlakunya habis. Nilai yang valid:
Unit: bulan. |
StorageType | String | Ya | Tidak | Kelas penyimpanan | Nilai yang valid:
|
DeletionForce | Boolean | Tidak | Ya | Hapus paksa? | Nilai yang valid:
|
Description | String | Tidak | Ya | Deskripsi sistem file. | Deskripsi harus terdiri dari 2 hingga 128 karakter. Deskripsi harus dimulai dengan huruf atau karakter Tionghoa dan tidak boleh dimulai dengan |
Tags | List | Tidak | Ya | Tag. | Anda dapat menambahkan hingga 20 tag ke sebuah instans. Untuk informasi selengkapnya, lihat bagian properti Tags. |
SnapshotId | String | Tidak | Tidak | ID snapshot. | Anda dapat menentukan SnapshotId untuk membuat instans NAS dari snapshot. Fitur ini hanya tersedia untuk sistem file NAS Ekstrem. Catatan Versi sistem file yang dibuat dari snapshot harus sama dengan versi sistem file sumber snapshot tersebut. Jika versinya berbeda, lakukan langkah-langkah berikut:
|
EncryptType | Integer | Tidak | Tidak | Menentukan apakah sistem file dienkripsi. Data dienkripsi saat disimpan menggunakan kunci yang dikelola oleh Key Management Service (KMS). Anda tidak perlu mendekripsi data saat membaca atau menulis data terenkripsi tersebut. | Parameter ini hanya berlaku ketika FileSystemType diatur ke standard atau extreme. Nilai yang valid:
|
Capacity | Integer | Tidak | Ya | Kapasitas sistem file. | Parameter ini wajib dan hanya berlaku ketika FileSystemType diatur ke extreme atau cpfs. Rentang nilai:
Unit: GB. |
FileSystemType | String | Tidak | Tidak | Jenis sistem file. | Nilai yang valid:
|
VpcId | String | Tidak | Tidak | ID virtual private cloud (VPC). Jika Anda menentukan VpcId dan VSwitchId, titik pemasangan default akan dikonfigurasi sebelumnya saat sistem file dibuat. | Parameter ini wajib ketika FileSystemType diatur ke cpfs. |
VSwitchId | String | Tidak | Tidak | ID vSwitch. Jika Anda menentukan VpcId dan VSwitchId, titik pemasangan default akan dikonfigurasi sebelumnya saat sistem file dibuat. | Parameter ini wajib ketika FileSystemType diatur ke cpfs. |
ResourceGroupId | String | Tidak | Ya | ID kelompok sumber daya. | Tidak ada |
ZoneId | String | Tidak | Tidak | ID zona. | Tidak ada |
Sintaks Tags
"Tags": [
{
"Key": String,
"Value": String
}
] Properti Tags
Nama Properti | Tipe | Wajib | Pembaruan diizinkan | Deskripsi | Batasan |
Key | String | Ya | Tidak | Kunci tag. | Kunci tag harus terdiri dari 1 hingga 128 karakter. Kunci tidak boleh dimulai dengan |
Value | String | Tidak | Tidak | Nilai tag. | Nilai tag harus terdiri dari 0 hingga 128 karakter. Nilai tidak boleh dimulai dengan |
Nilai kembalian
Fn::GetAtt
FileSystemId: ID sistem file.
Contoh
Skenario 1: Membuat sistem file
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"
]
}
}
}
}Skenario 2: Membuat sistem file NAS, grup akses, aturan akses, dan titik pemasangan
ROSTemplateFormatVersion: '2015-09-01'
Description:
en: 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 to 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": {
"en": "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 to 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"
]
}
}
}
}Skenario 3: Membangun model percakapan dengan Qwen dan LangChain
ROSTemplateFormatVersion: '2015-09-01'
Description:
en: 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:
en: VSwitch Availability Zone
Description:
en: Availability Zone ID
AssociationProperty: ZoneId
PAIEASInstanceType:
Type: String
Label:
en: PAI-EAS instance type.
Description:
en: 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:
en: 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 with Qwen and LangChain{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"en": "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": {
"en": "VSwitch Availability Zone"
},
"Description": {
"en": "Availability Zone ID"
},
"AssociationProperty": "ZoneId"
},
"PAIEASInstanceType": {
"Type": "String",
"Label": {
"en": "PAI-EAS instance type."
},
"Description": {
"en": "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": {
"en": "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 with Qwen and LangChain"
]
}
}
}Untuk contoh lainnya, lihat Templat publik yang berisi resource ini.