

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

# 建立 AS2 伺服器
<a name="create-as2-transfer-server"></a>

本主題提供使用主控台或 CloudFormation 範本建立AS2-enabled Transfer Family 伺服器的指示。如需end-to-end範例 AS2 組態，請參閱 [設定 AS2 組態](as2-example-tutorial.md)。建立 AS2 伺服器之後，您可以將協議新增至伺服器。

1. [匯入 AS2 憑證](managing-as2-partners.md#configure-as2-certificate)

1. [建立 AS2 設定檔](configure-as2-profile.md)

1. 建立 AS2 伺服器

1. [建立 AS2 協議](#as2-agreements)

1. [設定 AS2 連接器](configure-as2-connector.md)

**Topics**
+ [使用 Transfer Family 主控台建立 AS2 伺服器](#create-server-as2-console)
+ [使用 範本建立示範 Transfer 系列 AS2 堆疊](#as2-cfn-demo-template)
+ [建立 AS2 協議](#as2-agreements)

## 使用 Transfer Family 主控台建立 AS2 伺服器
<a name="create-server-as2-console"></a>

此程序說明如何使用 Transfer Family 主控台建立AS2-enabled的伺服器。如果您想要 AWS CLI 改用 ，請參閱 [步驟 4：建立使用 AS2 通訊協定的 Transfer Family 伺服器](as2-example-tutorial.md#as2-example-server)。

**注意**  
您可以將檔案處理工作流程連接至使用 AS2 通訊協定的 Transfer Family 伺服器：不過，AS2 訊息不會執行連接到伺服器的工作流程。

**建立AS2-enabled的伺服器**

1. 在 https：//[https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) 開啟 AWS Transfer Family 主控台。

1. 在左側導覽窗格中，選擇**伺服器**，然後選擇**建立伺服器**。

1. 在**選擇通訊協定**頁面上，選取 **AS2 （適用性陳述式 2)**，然後選擇**下一步**。

1. 在**選擇身分提供者**頁面上，選擇**下一步**。
**注意**  
對於 AS2，您無法選擇身分提供者，因為 AS2 通訊協定不支援基本身分驗證。反之，您可以透過虛擬私有雲端 (VPC) 安全群組來控制存取。

1. 在**選擇端點**頁面上，執行下列動作：  
![\[主控台螢幕擷取畫面，顯示選擇託管 VPC 的端點頁面。\]](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/create-server-choose-endpoint-vpc-internal.png)

   1. 針對**端點類型**，選擇**託管的 VPC** 來託管伺服器的端點。如需設定 VPC 託管端點的資訊，請參閱 [在虛擬私有雲端中建立伺服器](create-server-in-vpc.md)。
**注意**  
AS2 通訊協定不支援公開存取的端點。若要讓 VPC 端點可透過網際網路存取，請在**存取**下選擇**網際網路面向**，然後提供彈性 IP 地址。

   1. 針對**存取**，選擇下列其中一個選項：
      + **內部** – 選擇此選項可在 VPC 和 VPC 連線環境中提供存取權，例如透過 Direct Connect 或 VPN 的現場部署資料中心。
      + **面向網際網路** – 選擇此選項以透過網際網路以及從您的 VPC 和 VPC 連線環境提供存取，例如透過 Direct Connect 或 VPN 的現場部署資料中心。

        如果您選擇**面向網際網路**，請在出現提示時提供彈性 IP 地址。

   1. 對於 **VPC**，請選擇現有的 VPC 或選擇**建立 VPC** 以建立新的 VPC。

   1. 對於**啟用 FIPS**，保持 **FIPS 啟用端點**核取方塊清除。
**注意**  
AS2 通訊協定不支援啟用 FIPS 的端點。

   1. 選擇**下一步**。

1. 在**選擇網域**頁面上，選擇 **Amazon S3**，使用選取的通訊協定將檔案儲存並存取為物件。

   選擇**下一步**。

1. 在**設定其他詳細資訊**頁面上，選擇您需要的設定。
**注意**  
如果您將任何其他通訊協定與 AS2 一起設定，則會套用所有其他詳細資訊設定。不過，對於 AS2 通訊協定，唯一適用的設定是 **CloudWatch 記錄**和**標籤**區段中的設定。  
即使設定 CloudWatch 記錄角色是選用的，我們強烈建議進行設定，以便您可以查看訊息狀態並疑難排解組態問題。

1. 在**檢閱和建立**頁面上，檢閱您的選擇，以確保它們正確無誤。
   + 如果您想要編輯任何設定，請選擇您要變更之步驟旁的**編輯**。
**注意**  
如果您編輯步驟，我們建議您在選擇編輯的步驟之後檢閱每個步驟。
   + 如果您沒有變更，請選擇**建立伺服器**以建立伺服器。您會前往顯示下列內容的 **Servers (伺服器)** 頁面，這裡會列出您的新伺服器。

     可能需要幾分鐘的時間，新伺服器的狀態才會變更為**線上**。此時，您的伺服器會執行您使用者的檔案操作。

## 使用 範本建立示範 Transfer 系列 AS2 堆疊
<a name="as2-cfn-demo-template"></a>

我們提供獨立的 CloudFormation 範本，以快速建立AS2-enabled Transfer Family 伺服器。範本會使用公有 Amazon VPC 端點、憑證、本機和合作夥伴設定檔、協議和連接器來設定伺服器。

基本 AS2 伺服器範本會建立下列資源：
+ 具有 VPC 端點AS2-enabled 的 Transfer Family 伺服器
+ 具有憑證的本機和合作夥伴 AS2 設定檔
+ 設定檔之間的協議
+ 檔案儲存的 Amazon S3 儲存貯體
+ 必要的 IAM 角色和政策
+ CloudWatch 記錄組態

 使用此範本之前，請注意下列事項：
+ 如果您從此範本建立堆疊，則會向您收取 AWS 所使用的資源費用。
+ 範本會建立多個憑證，並將其放入 AWS Secrets Manager 以安全地存放。您可以視需要從 Secrets Manager 刪除這些憑證，因為您需要支付使用此服務的費用。在 Secrets Manager 中刪除這些憑證並不會從 Transfer Family 伺服器中刪除它們。因此，示範堆疊的功能不受影響。不過，對於您要與生產 AS2 伺服器搭配使用的憑證，建議您使用 Secrets Manager 來管理和定期輪換儲存的憑證。
+ 我們建議您僅使用範本做為基礎，主要用於示範用途。如果您想要在生產環境中使用此示範堆疊，建議您修改範本的 YAML 程式碼，以建立更強大的堆疊。例如，建立生產層級憑證，並建立可在生產中使用的 AWS Lambda 函數。

**從 CloudFormation 範本建立AS2-enabled的 Transfer Family 伺服器**

1. 在 https：//[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) 開啟 CloudFormation 主控台。

1. 在左側導覽窗格中，選擇 **Stacks (堆疊)**。

1. 選擇 **Create stack (建立堆疊)**，然後選擇 **With new resources (standard) (使用新資源 (標準))。**

1. 在**先決條件 - 準備範本**區段中，選擇**選擇現有範本**。

1. 複製此連結 [AS2 示範範本](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/aws-transfer-as2-basic.template.yml)，並將其貼到 **Amazon S3 URL** 欄位中。

1. 選擇**下一步**。

1. 在**指定堆疊詳細資訊**頁面上，為您的堆疊命名，然後指定下列參數：
   + 在 **AS2** 下，輸入 **Local AS2 ID** 和 **Partner AS2 ID** 的值，或`partner`分別接受預設值 `local`和 。
   + 在**網路**下，輸入**安全群組傳入 CIDR IP **的值，或接受預設值 `0.0.0.0/0`。
**注意**  
此值採用 CIDR 格式，可指定傳入流量至 AS2 伺服器的 IP 地址。預設值 `0.0.0.0/0`會允許所有 IP 地址。
   + 在**一般**下，輸入**字首**的值，或接受預設值 `transfer-as2`。此字首會放置在堆疊建立的任何資源名稱之前。例如，如果您使用預設字首，Amazon S3 儲存貯體會命名為 `transfer-as2-amzn-s3-demo-bucket`。

1. 選擇**下一步**。在**設定堆疊選項**頁面上，再次選擇**下一步**。

1. 檢閱您正在建立之堆疊的詳細資訊，然後選擇**建立堆疊**。
**注意**  
在頁面底部**的功能**下，您必須確認 CloudFormation 可能會建立 AWS Identity and Access Management (IAM) 資源。

建立堆疊之後，您可以使用 AWS Command Line Interface ()，將測試 AS2 訊息從合作夥伴伺服器傳送至本機 Transfer Family 伺服器AWS CLI。系統會建立用於傳送測試訊息的範例 AWS CLI 命令，以及堆疊中的所有其他資源。

若要使用此範例命令，請前往堆疊的**輸出**索引標籤，然後複製 **TransferExampleAs2Command**。然後，您可以使用 執行 命令 AWS CLI。如果您尚未安裝 AWS CLI，請參閱*AWS Command Line Interface 《 使用者指南*》中的[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

範例命令具有下列格式：

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key test.txt && aws transfer start-file-transfer --region aws-region --connector-id TransferConnectorId --send-file-paths /amzn-s3-demo-bucket/test.txt
```

**注意**  
此命令的版本包含堆疊中 `amzn-s3-demo-bucket`和 `TransferConnectorId` 資源的實際值。

此範例命令包含兩個使用 `&&`字串鏈結在一起的個別命令。

第一個命令會在您的儲存貯體中建立新的空白文字檔案：

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key test.txt
```

然後，第二個命令會使用 連接器，將檔案從合作夥伴設定檔傳送至本機設定檔。Transfer Family 伺服器已設定協議，允許本機設定檔接受來自合作夥伴設定檔的訊息。

```
aws transfer start-file-transfer --region aws-region --connector-id TransferConnectorId --send-file-paths /amzn-s3-demo-bucket/test.txt
```

執行 命令後，您可以前往 Amazon S3 儲存貯體 (`amzn-s3-demo-bucket`) 並檢視內容。如果命令成功，您應該會在儲存貯體中看到下列物件：
+ `processed/` – 此資料夾包含描述傳輸檔案和 MDN 回應的 JSON 檔案。
+ `processing/` – 此資料夾暫時包含正在處理的檔案，但在傳輸完成後，此資料夾應為空白。
+ `server-id/` – 此資料夾會根據 Transfer Family 伺服器 ID 命名。它包含 `from-partner`（此資料夾根據合作夥伴的 AS2 ID 動態命名），它本身包含 `failed/`、 `processed/`和 `processing/` 資料夾。`/server-id/from-partner/processed/` 資料夾包含傳輸的文字檔案副本，以及對應的 JSON 和 MDN 檔案。
+ `test.txt` – 此物件是已傳輸的 （空） 檔案。

## 建立 AS2 協議
<a name="as2-agreements"></a>

協議與 Transfer Family 伺服器相關聯。它們為使用 AS2 通訊協定交換訊息或檔案的交易合作夥伴指定詳細資訊，方法是使用 Transfer Family 進行*傳入*傳輸，將 AS2 檔案從外部、合作夥伴擁有的來源傳送至 Transfer Family 伺服器。

此程序說明如何使用 Transfer Family 主控台建立 AS2 協議。如果您想要 AWS CLI 改用 ，請參閱 [步驟 5：建立您與合作夥伴之間的協議](as2-example-tutorial.md#as2-create-agreement-example)。

**建立 Transfer Family 伺服器的協議**

1. 在 https：//[https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) 開啟 AWS Transfer Family 主控台。

1. 在左側導覽窗格中，選擇**伺服器**，然後選擇使用 AS2 通訊協定的伺服器。

   或者，只要您至少有一個使用 AS2 通訊協定的 Transfer Family 伺服器，請選取**協議以從 AS2 交易合作夥伴選單接收訊息**。 **AS2 ** 然後，在**建立協議**畫面中，選取要與本合約建立關聯的 AS2 伺服器。

1. 在伺服器詳細資訊頁面上，向下捲動至**協議**區段。

1. 選擇**新增協議**。

1. 填寫協議參數，如下所示：

   1. 在**協議組態**區段中，輸入描述性名稱。請確定您可以根據協議的名稱來識別協議的目的。此外，設定協議**的狀態**：**作用中** （預設為選取） **或非作用中**。

   1. 在**通訊組態**區段中，選擇本機設定檔和合作夥伴設定檔。此外，選擇是否強制執行訊息簽署。
      + 根據預設，會啟用**強制執行訊息簽署**，這表示 Transfer Family 拒絕來自您交易合作夥伴的未簽署訊息。
      + 清除此設定，以允許 Transfer Family 接受來自您交易合作夥伴的未簽署訊息。

   1. 在**收件匣目錄組態**區段中，提供下列資訊。
      + 決定是否選取**指定個別目錄來存放 AS2 訊息、MDN 檔案和 JSON 狀態檔案**。
        + 如果選取此選項，您可以為承載檔案、失敗的檔案、MDN 檔案、狀態檔案和暫存檔案指定不同的位置。
        + 如果您清除此選項，所有 AS2 檔案都會進入您為基礎目錄指定的位置。
      + 針對 **S3 儲存貯體**，選擇 Amazon S3 儲存貯體。
      + 對於**字首**，您可以輸入要用於在儲存貯體中存放檔案的字首 （資料夾）。

        例如，如果您**amzn-s3-demo-bucket**為儲存貯體輸入 ，**incoming**並為字首輸入 ，則 AS2 檔案會儲存到 `/amzn-s3-demo-bucket/incoming` 資料夾。
      + 針對 **AWS IAM 角色**，選擇可存取您指定之儲存貯體的角色。
      + 針對**保留檔案名稱**，選擇是否要保留傳入 AS2 訊息承載的原始檔案名稱。
        + 如果您選取此設定，則當檔案儲存在 Amazon S3 中時，交易合作夥伴提供的檔案名稱會保留。
        + 如果您清除此設定，則 Transfer Family 儲存檔案時，會調整檔案名稱，如 中所述[檔案名稱和位置](send-as2-messages.md#file-names-as2)。

   1. （選用） 在標籤區段中新增**標籤**。

   1. 輸入協議的所有資訊後，請選擇**建立協議**。

新協議會出現在伺服器詳細資訊頁面的**協議**區段中。