本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CreateMountTarget
建立文件系統的掛載目標。然後,您可以使用掛載目標在EC2執行個體上掛載檔案系統。
您可以在您的每個可用區域中建立一個裝載目標VPC。指定可用區域VPC內的所有EC2執行個體會共用指定檔案系統的單一掛載目標。若您在可用區域中有多個子網路,您會在其中一個子網路內建立掛載目標。EC2執行個體不需要與掛載目標位於相同的子網路中,才能存取其檔案系統。
您只能為單區域檔案系統建立一個掛載目標。您必須在檔案系統所在的同一可用區域中掛載目標。請在 DescribeFileSystems 回應物件中使用 AvailabilityZoneName
和 AvailabiltyZoneId
屬性來取得此資訊。建立掛載目標時,請使用與檔案系統的可用區域相關聯的 subnetId
。
若要建立檔案系統的掛載目標,檔案系統的生命週期狀態必須是 available
。如需詳細資訊,請參閱 DescribeFileSystems。
請在請求中提供下列資訊:
-
正在建立掛載目標的檔案系統 ID。
-
子網路 ID 決定了下列内容:
-
Amazon VPC 在其中EFS創建安裝目標
-
Amazon 在其中EFS建立掛接目標的可用區域
-
Amazon 從中EFS選取掛載目標 IP 位址的 IP 位址範圍 (如果您未在請求中指定 IP 位址)
-
創建掛載目標後,Amazon EFS 返回一個響應,其中包括, a MountTargetId
和IpAddress
. 在EC2執行個體中掛載檔案系統時,您可以使用此 IP 位址。您也可以在掛載檔案系統時使用掛載目標的DNS名稱。您使用掛載目標掛載檔案系統的EC2執行個體可以將掛載目標的DNS名稱解析為其 IP 位址。如需詳細資訊,請參閱運作方式:實作概觀。
請注意,您只能在一個檔案系統中建立掛載目標VPC,而且每個可用區域只能有一個掛載目標。也就是,若已為檔案系統建立一或多個掛載目標,則在新增另一個掛載目標請求中所指定的子網路必須符合下列需求:
-
必須與VPC現有掛載目標的子網路相同
-
不得位於和現有掛載目標任何子網路相同的可用區域內。
如果請求滿足要求,Amazon EFS 會執行以下操作:
-
在指定子網路中建立新的掛載目標。
-
也會透過以下方式,在子網路中建立新的網路介面:
-
如果請求提供
IpAddress
,Amazon EFS 會將該 IP 位址指派給網路界面。否則,Amazon 會在子網路中指EFS派免費位址 (與 Amazon EC2CreateNetworkInterface
呼叫在請求未指定主要私有 IP 位址時的方式相同)。 -
若請求提供
SecurityGroups
,則此網路介面會和那些安全群組建立關聯。否則,它會屬於子網路的預設安全性群組VPC。 -
指派描述
Mount target fsmt-id for file system fs-id
,其中fsmt-id
是掛載目標 ID,fs-id
則是FileSystemId
。 -
將網路介面的
requesterManaged
屬性設為true
,並將requesterId
值設為EFS
。
每個 Amazon EFS 掛載目標都有一個對應的請求者管理網路界EC2面。建立網路介面後,Amazon 會將掛載目標說明中的
NetworkInterfaceId
欄位EFS設定為網路介面 ID,並將IpAddress
欄位設定為其位址。若網路介面建立失敗,整個CreateMountTarget
操作都會失敗。 -
注意
CreateMountTarget
呼叫只會在建立網路介面後傳回,但當掛載目標狀態仍為 creating
時,您可以透過呼叫操作檢查掛載目標的建立狀態,DescribeMountTargets 操作和其他項目會一起傳回掛載目標的狀態。
我們建議您在每個可用區域中建立一個掛載目標。透過在另一個可用區域建立的掛載目標,於一個可用區域中使用檔案系統時,有成本上的考量。有關更多信息,請參閱 Amazon EFS
此操作需要在檔案系統上具備以下動作的許可:
-
elasticfilesystem:CreateMountTarget
此操作還需要下列 Amazon EC2 動作的許可:
-
ec2:DescribeSubnets
-
ec2:DescribeNetworkInterfaces
-
ec2:CreateNetworkInterface
請求語法
POST /2015-02-01/mount-targets HTTP/1.1
Content-type: application/json
{
"FileSystemId": "string
",
"IpAddress": "string
",
"SecurityGroups": [ "string
" ],
"SubnetId": "string
"
}
URI請求參數
請求不使用任何URI參數。
請求主體
請求接受以下JSON格式的數據。
- FileSystemId
-
要建立掛載目標的檔案系統 ID。
類型:字串
長度限制:長度上限為 128。
模式:
^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$
必要:是
- IpAddress
-
指定子網路位址範圍內的有效IPv4位址。
類型:字串
長度限制:長度下限為 7。長度上限為 15。
模式:
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$
必要:否
- SecurityGroups
-
最多五個VPC安全組IDs,表單
sg-xxxxxxxx
。這些必須與指定的子網路VPC相同。類型:字串陣列
陣列成員:最多 100 個項目。
長度限制:長度下限為 11。長度上限為 43。
模式:
^sg-[0-9a-f]{8,40}
必要:否
- SubnetId
-
要在其中新增掛載目標的子網路 ID。對於單區域檔案系統,請使用與檔案系統的可用區域相關聯的子網路。
類型:字串
長度限制:長度下限為 15。長度上限為 47。
模式:
^subnet-[0-9a-f]{8,40}$
必要:是
回應語法
HTTP/1.1 200
Content-type: application/json
{
"AvailabilityZoneId": "string",
"AvailabilityZoneName": "string",
"FileSystemId": "string",
"IpAddress": "string",
"LifeCycleState": "string",
"MountTargetId": "string",
"NetworkInterfaceId": "string",
"OwnerId": "string",
"SubnetId": "string",
"VpcId": "string"
}
回應元素
如果動作成功,服務會傳回 HTTP 200 回應。
服務會以JSON格式傳回下列資料。
- AvailabilityZoneId
-
掛載目標所在可用區域的唯一且一致的識別碼。例如,
use1-az1
是 us-east-1 區域的 AZ ID,且每個區域都有相同的位置。 AWS 帳戶類型:字串
- AvailabilityZoneName
-
掛載目標所在可用區域名稱。可用區域會獨立對應至每個區域的名稱 AWS 帳戶。例如,您的 AWS 帳戶 可
us-east-1a
用區域可能與其他位置不同 AWS 帳戶。us-east-1a
類型:字串
長度限制:長度下限為 1。長度上限為 64。
模式:
.+
- FileSystemId
-
指定掛載目標所屬的檔案系統 ID。
類型:字串
長度限制:長度上限為 128。
模式:
^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$
- IpAddress
-
使用掛載目標掛載檔案系統的地址。
類型:字串
長度限制:長度下限為 7。長度上限為 15。
模式:
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$
- LifeCycleState
-
掛載目標的生命週期狀態。
類型:字串
有效值:
creating | available | updating | deleting | deleted | error
- MountTargetId
-
系統指定的掛載目標 ID。
類型:字串
長度限制:長度下限為 13。長度上限為 45。
模式:
^fsmt-[0-9a-f]{8,40}$
- NetworkInterfaceId
-
Amazon EFS 建立掛載目標時建立的網路介面 ID。
類型:字串
- OwnerId
-
AWS 帳戶 擁有資源的 ID。
類型:字串
長度限制:長度上限為 14。
模式:
^(\d{12})|(\d{4}-\d{4}-\d{4})$
- SubnetId
-
掛載目標子網路的 ID。
類型:字串
長度限制:長度下限為 15。長度上限為 47。
模式:
^subnet-[0-9a-f]{8,40}$
- VpcId
-
裝載目標所在的虛擬私人雲端 (VPC) ID。
類型:字串
錯誤
- AvailabilityZonesMismatch
-
如果為掛載目標指定的可用區域與為單區域儲存指定的可用區域不同,則傳回。如需詳細資訊,請參閱區域和單區域儲存冗餘。
HTTP狀態碼:
- BadRequest
-
如果請求格式錯誤或包含錯誤,例如無效的參數值或缺少必要參數,則傳回。
HTTP狀態碼:
- FileSystemNotFound
-
如果請求者中不存在指定的
FileSystemId
AWS 帳戶值,則返回。HTTP狀態碼:
- IncorrectFileSystemLifeCycleState
-
如果檔案系統的生命週期狀態不是「可用」,則傳回。
HTTP狀態碼:4
- InternalServerError
-
如果伺服器端發生錯誤,則傳回。
HTTP狀態碼:5
- IpAddressInUse
-
如果請求指定了已在子網路中使用的請求
IpAddress
,則傳回。HTTP狀態碼:4
- MountTargetConflict
-
如果掛載目標違反以檔案系統現有的掛載目標為基礎的其中一個指定限制,則傳回。
HTTP狀態碼:4
- NetworkInterfaceLimitExceeded
-
呼叫帳戶已達到指定 AWS 區域區域彈性網絡介面的限制。刪除某些網路介面,或請求提高帳戶配額。如需詳細資訊,請參閱 Amazon VPC使用者指南中的 Amazon VPC 配額 (請參閱網路界面表格中每個區域的網路界面項目)。
HTTP狀態碼:4
- NoFreeAddressesInSubnet
-
如果在請求中未指定
IpAddress
且在子網路中沒有可用的 IP 地址,則傳回。HTTP狀態碼:4
- SecurityGroupLimitExceeded
-
如果請求中指定的
SecurityGroups
大小大於五,則傳回。HTTP狀態碼:
- SecurityGroupNotFound
-
如果子網路的虛擬私有雲中沒有其中一個指定的安全性群組,則傳回。VPC
HTTP狀態碼:
- SubnetNotFound
-
如果在請求中沒有提供 ID
SubnetId
的子網路,則傳回。HTTP狀態碼:
- UnsupportedAvailabilityZone
-
如果請求的 Amazon EFS 功能在指定的可用區域中不可用,則傳回。
HTTP狀態碼:
範例
將掛載目標新增至檔案系統
下列請求會建立檔案系統的掛載目標。請求僅指定必要 FileSystemId
和 SubnetId
參數的值。請求不提供可選的 IpAddress
和 SecurityGroups
參數。對於 IpAddress
,此操作會使用指定子網路中的其中一個可用 IP 地址。而且,作業會使用與的相關聯的預設安全性群組SecurityGroups
。VPC
請求範例
POST /2015-02-01/mount-targets HTTP/1.1
Host: elasticfilesystem.us-west-2.amazonaws.com
x-amz-date: 20140620T221118Z
Authorization: <...>
Content-Type: application/json
Content-Length: 160
{"SubnetId": "subnet-748c5d03", "FileSystemId": "fs-01234567"}
回應範例
HTTP/1.1 200 OK
x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef
Content-Type: application/json
Content-Length: 252
{
"MountTargetId": "fsmt-55a4413c",
"NetworkInterfaceId": "eni-01234567",
"FileSystemId": "fs-01234567",
"LifeCycleState": "available",
"SubnetId": "subnet-01234567",
"OwnerId": "231243201240",
"IpAddress": "172.31.22.183"
}
將掛載目標新增至檔案系統
下面的請求指定創建一個掛載目標的所有請求參數。
請求範例
POST /2015-02-01/mount-targets HTTP/1.1
Host: elasticfilesystem.us-west-2.amazonaws.com
x-amz-date: 20140620T221118Z
Authorization: <...>
Content-Type: application/json
Content-Length: 160
{
"FileSystemId":"fs-01234567",
"SubnetId":"subnet-01234567",
"IpAddress":"10.0.2.42",
"SecurityGroups":[
"sg-01234567"
]
}
回應範例
HTTP/1.1 200 OK
x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef
Content-Type: application/json
Content-Length: 252
{
"OwnerId":"251839141158",
"MountTargetId":"fsmt-9a13661e",
"FileSystemId":"fs-01234567",
"SubnetId":"subnet-fd04ff94",
"LifeCycleState":"available",
"IpAddress":"10.0.2.42",
"NetworkInterfaceId":"eni-1bcb7772"
}
另請參閱
如需有關API在其中一種特定語言中使用此功能的詳細資訊 AWS SDKs,請參閱下列內容: