教學課程:使用內部部署 Linux 用戶端 - Amazon Elastic File System

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

教學課程:使用內部部署 Linux 用戶端

使用或連接到 Amazon 時,您可以將 Amazon EFS 檔案系統掛接到現場部署資料中心伺服VPC器 AWS Direct Connect 上VPN。下圖顯示從現場部署掛載 Amazon EFS 檔案系統時 AWS 服務 所需的高階示意圖。

使用時,在內部部署用戶端上掛載EFS檔案系統 AWS Direct Connect。
注意

不支援將 Amazon EFS 與基於 Microsoft 視窗的用戶端搭配使用。

必要條件

請確定您已有 AWS Direct Connect 或VPN連線。如需 AWS Direct Connect的詳細資訊,請參閱《AWS Direct Connect 使用者指南》https://docs.aws.amazon.com/directconnect/latest/UserGuide/。如需有關設定VPN連線的詳細資訊,請參閱 Amazon VPC 使用者指南中的VPN連線

建立 AWS Direct Connect 或VPN連接後,在 Amazon 中創建一個EFS文件系統和一個掛載目標VPC。之後,您下載並安裝工 amazon-efs-utils 具。然後,您從現場部署用戶端中測試檔案系統。最後,逐步解說最後的清理步驟將為您提供移除這些資源的資訊。

本逐步解說會在美國西部 (奧勒岡) 區域 (us-west-2) 中建立所有這些資源。無論 AWS 區域 您使用哪種方式,請務必始終如一地使用它。您的所有資源 (您的VPC、掛載目標和 Amazon EFS 檔案系統) 都必須位於相同的資源 AWS 區域,如下圖所示。

使用時,在內部部署用戶端上掛載EFS檔案系統 AWS Direct Connect。
注意

在某些情況下,您的本機應用程式可能需要知道EFS檔案系統是否可用。在這些情況下,如果第一個掛載點暫時無法使用,則您的應用程式應該能夠指向不同的掛載點 IP 地址。在這個案例中,我們建議您有兩個內部部署用戶端透過不同的可用區域 (AZs) 連線到您的檔案系統,以提高可用性。

您可以使用您的根憑證登 AWS 帳戶 入主控台並嘗試此練習。但是, AWS Identity and Access Management (IAM) 最佳做法建議您不要使用 AWS 帳戶. 反之,在帳戶中建立一個管理員使用者並使用這些憑證來管理帳戶中的資源。如需詳細資訊,請參閱《使用指南》中的指派IAM身分識別中心使用AWS IAM Identity Center 者的 AWS 帳戶 存取權。

您可以使用您在帳戶中建立的預設值VPC或自訂VPC。對於本逐步解說,預設VPC組態可運作。但是,如果您使用自訂VPC,請確認下列事項:

  • 網際網路閘道已連接到您的VPC. 如需詳細資訊,請參閱 Amazon VPC 使用者指南中的網際網路閘道

  • VPC路由表包含一個規則,可將所有連結到網際網路的流量傳送至網際網路閘道。

步驟 1:建立資EFS源

在此步驟中,您會建立EFS檔案系統並掛載目標。

建立 EFS 檔案系統
  1. 在中開啟 Amazon Elastic File System 主控台https://console.aws.amazon.com/efs/

  2. 選擇 Create File System (建立檔案系統)

  3. VPC從清單中選擇您的預設VPC值。

  4. 選取所有可用區域的核取方塊。確保它們已選擇預設子網路、自動 IP 地址和預設安全群組。這些是您的掛載目標。如需詳細資訊,請參閱 管理掛載目標

  5. 選擇 Next Step (後續步驟)

  6. 為您的檔案系統命名,將 general purpose (一般用途) 選擇為您的預設效能模式,然後選擇 Next Step (下一步)

  7. 選擇 Create File System (建立檔案系統)

  8. 從清單中選擇您的檔案系統,並記下 Security group (安全群組) 值。您在下一個步驟中需要使用到此數值。

您剛建立的檔案系統已有掛載目標。每個掛載目標都有一個關聯的安全群組。做為虛擬防火牆的安全群組會控制網路流量。如果您在建立掛載目標時未提供安全群組,Amazon EFS 會將該群組的預設安全群組VPC與該群組建立關聯。如果您完全依照上述步驟,則掛載目標使用的是預設安全群組。

接下來,您將規則新增至裝載目標的安全性群組,以允許網路檔案系統 (NFS) 連接埠 (2049) 的輸入流量。您可以使用將規則新增 AWS Management Console 至您的裝載目標的安全性群組VPC。

允許NFS連接埠的輸入流量
  1. 登錄 AWS Management Console 並在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. NETWORK& 下SECURITY,選擇安全性群組

  3. 選擇與您檔案系統關聯的安全群組。您在 步驟 1:建立資EFS源 結尾時記下此資訊。

  4. 在安全群組清單下方顯示的標籤窗格中,選擇傳入 索引標籤。

  5. 選擇編輯

  6. 選擇 Add Rule (新增規則),然後選擇以下其中一種類型的規則:

    • 類型NFS

    • 來源Anywhere (隨處)

    我們建議您只使用 Anywhere (隨處) 來源進行測試。您可以建立設為在現場部署用戶端之 IP 地址的自訂來源,或從用戶端本身使用主控台,然後選擇 My IP (我的 IP)

    注意

    您不需要新增傳出規則,因為預設的傳出規則可讓所有流量離開。如果您沒有此預設輸出規則,請新增輸出規則以在連接NFS埠上開啟TCP連線,並將掛載目標安全性群組識別為目的地。

步驟 2:安裝用NFS戶端

在此步驟中,您會安裝用NFS戶端。

若要在內部部署伺服器上安裝NFS用戶端
注意

如果您需要在傳輸過程中加密資料,請使用 Amazon EFS 掛載協助程式amazon-efs-utils,而不是用NFS戶端。如需安裝的相關資訊 amazon-efs-utils,請參閱選用:加密傳輸中的資料一節。

  1. 存取現場部署用戶端的終端機。

  2. 安裝 NFS。

    如果您使用的是 RHEL,請使NFS用下列指令進行安裝。

    $ sudo yum -y install nfs-utils

    如果您使用的是 Ubuntu,請使NFS用以下命令進行安裝。

    $ sudo apt-get -y install nfs-common

步驟 3:在現場部署用戶端上掛載 Amazon EFS 檔案系統

建立掛載目錄
  1. 使用以下命令建立掛載點的目錄。

    mkdir ~/efs
  2. 選擇可用區域中掛載目標的慣用 IP 地址。您可以透過現場部署 Linux 用戶端測量延遲。若要這麼做,請使用終端型工具,例如ping針對不同可用區域中EC2執行個體的 IP 位址,找出延遲最低的工具。

  • 執行掛載命令,並使用掛載目標的 IP 地址進行檔案系統掛載。

    $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/efs

現在您已經掛載 Amazon EFS 檔案系統,您可以使用以下程序對其進行測試。

若要測試 Amazon EFS 檔案系統連線
  1. 使用下列命令,將目錄變更為您建立的新目錄。

    $ cd ~/efs
  2. 建立子目錄,並將該子目錄的擁有權變更為EC2執行個體使用者。接著,使用下列命令導覽至新目錄。

    $ sudo mkdir getting-started $ sudo chown ec2-user getting-started $ cd getting-started
  3. 透過下列命令建立文字檔。

    $ touch test-file.txt
  4. 透過以下命令列出目錄內容。

    $ ls -al

因此,會建立以下檔案。

-rw-rw-r-- 1 username username 0 Nov 15 15:32 test-file.txt
警告

使用 _netdev 選項,此選項用於在自動掛載檔案系統時識別網路檔案系統。如果_netdev遺失,您的EC2執行個體可能會停止回應。此結果是因為網路檔案系統在運算執行個體開始聯網後需要初始化。如需詳細資訊,請參閱 自動掛載失敗且執行個體沒有回應

步驟 4:清除資源和保護 AWS 帳戶

在完成此逐步解說後,或者,如果您不想探索逐步解說,您應該遵循這些步驟以清除資源並保護 AWS 帳戶。

若要清理資源並保護您的 AWS 帳戶
  1. 使用下列命令卸載 Amazon EFS 檔案系統。

    $ sudo umount ~/efs
  2. 在打開 Amazon EFS 控制台https://console.aws.amazon.com/efs/

  3. 從EFS檔案系統清單中選擇要刪除的 Amazon 檔案系統。

  4. 針對 Actions (動作),選擇 Delete file system (刪除檔案系統)

  5. 在 [永久刪除檔案系統] 對話方塊中,輸入要刪除之 Amazon EFS 檔案系統的檔案系統 ID,然後選擇 [刪除檔案系統]。

  6. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  7. 在導覽窗格中,選擇安全群組

  8. 選取您在此逐步解說中將規則新增至其中的安全群組名稱。

    警告

    請勿刪除您的預設安全性群組VPC。

  9. Actions (動作) 中,選擇 Edit inbound rules (編輯傳入規則)

  10. 選擇在您新增之傳入規則結尾的 X 並選擇 Save (儲存)

選用:加密傳輸中的資料

若要加密傳輸中的資料,請使用 Amazon EFS 掛載協助程式而非用NFS戶端。 amazon-efs-utils

amazon-efs-utils 軟件包是 Amazon EFS 工具的開源集合。此系 amazon-efs-utils 列隨附掛載協助程式和工具,可讓您更輕鬆地為 Amazon 加密傳輸中的資料EFS。如需此套件的詳細資訊,請參閱安裝 Amazon EFS 客戶端。此套件可免費下載 GitHub,您可以透過複製套件的存放庫來取得。

若要 amazon-efs-utils 從複製 GitHub
  1. 存取現場部署用戶端的終端機。

  2. 從終端機,使用以下命令 GitHub 將 amazon-efs-utils 工具從複製到您選擇的目錄。

    git clone https://github.com/aws/efs-utils

現在您已有套件,即可進行安裝。根據現場部署用戶端的 Linux 發行版本,此安裝的處理方式會有所不同。支援以下發行版本:

  • Amazon Linux 2

  • Amazon Linux

  • Red Hat Enterprise Linux (和例如 CentOS 之類的導數) 版本 7 和更新版本

  • Ubuntu 16.04 LTS 及更新版本

若要建置並安裝 amazon-efs-utils 為RPM套件
  1. 開啟用戶端上的終端機,然後瀏覽至具有複製 amazon-efs-utils 套件的目錄。 GitHub

  2. 使用以下命令建置套件。

    make rpm
    注意

    如果您尚未這麼做,則請使用下列命令安裝 rpm-builder 套件。

    sudo yum -y install rpm-build
  3. 使用下列命令安裝 套件。

    sudo yum -y install build/amazon-efs-utils*rpm
若要建置並安裝 amazon-efs-utils 為 deb 套件
  1. 開啟用戶端上的終端機,然後瀏覽至具有複製 amazon-efs-utils 套件的目錄。 GitHub

  2. 使用以下命令建置套件。

    ./build-deb.sh
  3. 使用下列命令安裝 套件。

    sudo apt-get install build/amazon-efs-utils*deb

安裝套件之後,請在您的 AWS 區域 與 AWS Direct Connect 或中 amazon-efs-utils 進行配置VPN。

若要設 amazon-efs-utils 定以便在您的 AWS 區域
  1. 使用您選擇的文字編輯器,開啟 /etc/amazon/efs/efs-utils.conf 進行編輯。

  2. 尋找行 “dns_name_format = {fs_id}.efs.{region}.amazonaws.com”

  3. 使用 AWS 區域的 ID (例如 us-west-2) 變更 {region}

若要在內部部署用戶端上掛載EFS檔案系統,請先在內部部署 Linux 用戶端上開啟終端機。若要掛載系統,您需要檔案系統 ID、其中一個掛載目標的掛載目標 IP 地址,以及檔案系統的 AWS 區域。如果您建立多個檔案系統的掛載目標,則可以選擇任何其中一個。

當您擁有該資訊時,您可以使用三個步驟來掛載檔案系統:

建立掛載目錄
  1. 使用以下命令建立掛載點的目錄。

    mkdir ~/efs
  2. 選擇可用區域中掛載目標的慣用 IP 地址。您可以透過現場部署 Linux 用戶端測量延遲。若要這麼做,請使用終端型工具,例如ping針對不同可用區域中EC2執行個體的 IP 位址,找出延遲最低的工具。

更新 /etc/hosts
  • 使用以下格式透過檔案系統 ID 和掛載目標 IP 地址,將項目新增到本機 /etc/hosts 檔案。

    mount-target-IP-Address file-system-ID.efs.region.amazonaws.com
    192.0.2.0 fs-12345678.efs.us-west-2.amazonaws.com
建立掛載目錄
  1. 使用以下命令建立掛載點的目錄。

    mkdir ~/efs
  2. 執行掛載命令來掛載檔案系統。

    sudo mount -t efs fs-12345678 ~/efs

    如果您想要使用傳輸中的資料加密,掛載命令看起來如下所示。

    sudo mount -t efs -o tls fs-12345678 ~/efs