CreateMountTarget - Amazon Elastic File System

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CreateMountTarget

建立文件系統的掛載目標。然後,您可以使用掛載目標在EC2執行個體上掛載檔案系統。

您可以在您的每個可用區域中建立一個裝載目標VPC。指定可用區域VPC內的所有EC2執行個體會共用指定檔案系統的單一掛載目標。若您在可用區域中有多個子網路,您會在其中一個子網路內建立掛載目標。EC2執行個體不需要與掛載目標位於相同的子網路中,才能存取其檔案系統。

您只能為單區域檔案系統建立一個掛載目標。您必須在檔案系統所在的同一可用區域中掛載目標。請在 DescribeFileSystems 回應物件中使用 AvailabilityZoneNameAvailabiltyZoneId 屬性來取得此資訊。建立掛載目標時,請使用與檔案系統的可用區域相關聯的 subnetId

如需詳細資訊,請參閱 AmazonEFS:其運作方式。

若要建立檔案系統的掛載目標,檔案系統的生命週期狀態必須是 available。如需詳細資訊,請參閱 DescribeFileSystems

請在請求中提供下列資訊:

  • 正在建立掛載目標的檔案系統 ID。

  • 子網路 ID 決定了下列内容:

    • Amazon VPC 在其中EFS創建安裝目標

    • Amazon 在其中EFS建立掛接目標的可用區域

    • Amazon 從中EFS選取掛載目標 IP 位址的 IP 位址範圍 (如果您未在請求中指定 IP 位址)

創建掛載目標後,Amazon EFS 返回一個響應,其中包括, a MountTargetIdIpAddress. 在EC2執行個體中掛載檔案系統時,您可以使用此 IP 位址。您也可以在掛載檔案系統時使用掛載目標的DNS名稱。您使用掛載目標掛載檔案系統的EC2執行個體可以將掛載目標的DNS名稱解析為其 IP 位址。如需詳細資訊,請參閱運作方式:實作概觀

請注意,您只能在一個檔案系統中建立掛載目標VPC,而且每個可用區域只能有一個掛載目標。也就是,若已為檔案系統建立一或多個掛載目標,則在新增另一個掛載目標請求中所指定的子網路必須符合下列需求:

  • 必須與VPC現有掛載目標的子網路相同

  • 不得位於和現有掛載目標任何子網路相同的可用區域內。

如果請求滿足要求,Amazon EFS 會執行以下操作:

  • 在指定子網路中建立新的掛載目標。

  • 也會透過以下方式,在子網路中建立新的網路介面:

    • 如果請求提供IpAddress,Amazon EFS 會將該 IP 位址指派給網路界面。否則,Amazon 會在子網路中指EFS派免費位址 (與 Amazon EC2 CreateNetworkInterface 呼叫在請求未指定主要私有 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狀態碼:

範例

將掛載目標新增至檔案系統

下列請求會建立檔案系統的掛載目標。請求僅指定必要 FileSystemIdSubnetId 參數的值。請求不提供可選的 IpAddressSecurityGroups 參數。對於 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,請參閱下列內容: