

本指南提供 Wickr Enterprise 的文件。如果您使用的是 AWS Wickr，請參閱 [AWS Wickr 管理指南](https://docs.aws.amazon.com/wickr/latest/adminguide/what-is-wickr.html)或 [AWS Wickr 使用者指南](https://docs.aws.amazon.com/wickr/latest/userguide/what-is-wickr.html)。

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

# Wickr Enterprise 入門
<a name="getting-started"></a>

**Topics**
+ [要求](#getting-started-requirements)
+ [安裝相依項目](#getting-started-install-dependencies)
+ [設定](#getting-started-configure)
+ [引導](#getting-started-bootstrap)
+ [部署](#getting-started-deploy)
+ [產生 KOTS Config](#getting-started-generate-kots-config)

## 要求
<a name="getting-started-requirements"></a>

開始之前，請確認符合下列要求：
+ 下載 Node.js 16\$1 
+ AWS CLI 已使用您帳戶的登入資料設定 。

  這些將來自您在 的組態檔案，`~/.aws/config`或使用`AWS_`環境變數。
+ 安裝 kubectl。如需詳細資訊，請參閱《*Amazon EKSUser*》中的[安裝或更新 kubectl](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)。
+ 安裝 kots CLI。如需詳細資訊，請參閱[安裝 kots CLI](https://docs.replicated.com/reference/kots-cli-getting-started)。
+ 允許清單的連接埠：HTTPS 和 TCP 呼叫流量為 443/TCP；UDP 呼叫流量為 16384-19999/UDP；TCP/8443 

**架構**

![\[架構圖。\]](http://docs.aws.amazon.com/zh_tw/wickr/latest/wickrenterpriseinstall/images/enterprise-architecture.png)


## 安裝相依項目
<a name="getting-started-install-dependencies"></a>

您可以使用下列命令，將所有相依性新增至預設套件：

```
 npm install
```

## 設定
<a name="getting-started-configure"></a>

AWS Cloud Development Kit (AWS CDK) 使用內容值來控制應用程式的組態。Wickr Enterprise 使用 CDK 內容值來控制設定，例如 Wickr Enterprise 安裝的網域名稱或保留 RDS 備份的天數。如需詳細資訊，請參閱《 *AWS Cloud Development Kit (AWS CDK) 開發人員指南*》中的[執行期內容](https://docs.aws.amazon.com/cdk/v2/guide/context.html)。

有多種方式可以設定內容值，但建議您在 中編輯這些值`cdk.context.json`，以符合您的特定使用案例。只有開頭為 的內容值`wickr/`與 Wickr Enterprise 部署相關；其餘則是 CDK 特定的內容值。若要在下次透過 CDK 進行更新時保持相同的設定，請儲存此檔案。

您至少必須設定 `wickr/licensePath`、 `wickr/domainName`和 `wickr/acm:certificateArn`或 `wickr/route53:hostedZoneId`和 `wickr/route53:hostedZoneName`。

**使用公有託管區域**

如果您的 中有 Route 53 公有託管區域 AWS 帳戶，建議您使用下列設定來設定 CDK 內容：
+ `wickr/domainName` - 用於此 Wickr Enterprise 部署的網域名稱。如果您使用 Route 53 公有託管區域，系統會自動建立此網域名稱的 DNS 記錄和 ACM 憑證。
+ `wickr/route53:hostedZoneName` - 要在其中建立 DNS 記錄的 Route 53 託管區域名稱。
+ `wickr/route53:hostedZoneId` - Route 53 託管區域 ID，在其中建立 DNS 記錄。

此方法會代表您建立 ACM 憑證，以及將網域名稱指向 Wickr Enterprise 部署前負載平衡器的 DNS 記錄。

**沒有公有託管區域**

如果您的帳戶中沒有 Route 53 公有託管區域，則必須手動建立 ACM 憑證，並使用`wickr/acm:certificateArn`內容值匯入 CDK。
+ `wickr/domainName` - 用於此 Wickr Enterprise 部署的網域名稱。如果您使用 Route 53 公有託管區域，系統會自動建立此網域名稱的 DNS 記錄和 ACM 憑證。
+ `wickr/acm:certificateArn` - 要在負載平衡器上使用的 ACM 憑證 ARN。如果您的帳戶無法使用 Route 53 公有託管區域，則必須提供此值。

**將憑證匯入 ACM**

您可以使用下列命令匯入外部取得的憑證：

```
aws acm import-certificate \ 
   --certificate fileb://path/to/cert.pem \
   --private-key fileb://path/to/key.pem \
   --certificate-chain fileb://path/to/chain.pem
```

輸出將是憑證 ARN，應該用於`wickr/acm:certificateArn`內容設定的值。請務必讓上傳的憑證對 有效`wickr/domainName`，否則 HTTPS 連線將無法驗證。如需詳細資訊，請參閱*AWS Certificate Manager 《 使用者指南*》中的[匯入憑證](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html)。

**建立 DNS 記錄**

由於沒有可用的公有託管區域，因此必須在部署完成後手動建立 DNS 記錄，以指向 Wickr Enterprise 部署前的負載平衡器。

**部署到現有的 VPC**

如果您需要使用現有的 VPC，則可以使用。不過，VPC 必須設定為符合 EKS 所需的規格。如需詳細資訊，請參閱[《Amazon EKS 使用者指南》中的檢視 VPC 和子網路的 Amazon EKS 聯網需求](https://docs.aws.amazon.com/eks/latest/userguide/network-reqs.html)，並確保要使用的 VPC 符合這些需求。 **

此外，強烈建議您確保具有下列服務的 VPC 端點：
+ CLOUDWATCH
+ CLOUDWATCH\$1LOGS
+ EC2
+ EC2\$1MESSAGES
+ ECR
+ ECR\$1DOCKER
+ ELASTIC\$1LOAD\$1BALANCING
+ KMS
+ SECRETS\$1MANAGER
+ SSM
+ SSM\$1MESSAGES

若要將資源部署到現有的 VPC，請設定下列內容值：
+ `wickr/vpc:id` - 要將資源部署到其中的 VPC ID （例如 `vpc-412beef`)。
+ `wickr/vpc:cidr` - VPC 的 IPv4 CIDR （例如 `172.16.0.0/16`)。
+ `wickr/vpc:publicSubnetIds` - VPC 中以逗號分隔的公有子網路清單。Application Load Balancer 和呼叫 EKS 工作者節點將部署在這些子網路中 （例如 `subnet-6ce9941,subnet-1785141,subnet-2e7dc10`)。
+ `wickr/vpc:privateSubnetIds` - VPC 中以逗號分隔的私有子網路清單。EKS 工作者節點和堡壘伺服器將部署在這些子網路中 （例如 `subnet-f448ea8,subnet-3eb0da4,subnet-ad800b5`)。
+ `wickr/vpc:isolatedSubnetIds` - VPC 中隔離子網路的逗號分隔清單。RDS 資料庫將部署在這些子網路中 （例如 `subnet-d1273a2,subnet-33504ae,subnet-0bc83ac`)。
+ `wickr/vpc:availabilityZones` - VPC 中子網路可用區域的逗號分隔清單 （例如 `us-east-1a,us-east-1b,us-east-1c`)。

如需介面 VPC 端點的詳細資訊，請參閱[使用介面 VPC 端點存取 AWS 服務](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)。

**其他設定**

如需詳細資訊，請參閱[內容值](https://docs.aws.amazon.com/wickr/latest/wickrenterpriseinstall/context-values.html)。

## 引導
<a name="getting-started-bootstrap"></a>

如果這是您第一次在此特定 AWS 帳戶 和 區域上使用 CDK，您必須先*引導*帳戶以開始使用 CDK。

```
npx cdk bootstrap
```

## 部署
<a name="getting-started-deploy"></a>

此程序大約需要 45 分鐘。

```
npx cdk deploy --all --require-approval=never
```

完成之後，基礎設施已建立，您可以開始安裝 Wickr Enterprise。

**建立 DNS 記錄**

如果您在設定 CDK 時使用公有託管區域，則不需要此步驟。

部署程序的輸出將包含值 `WickrAlb.AlbDnsName`，這是負載平衡器的 DNS 名稱。輸出看起來像：

```
WickrAlb.AlbDnsName = Wickr-Alb-1Q5IBPJR4ZVZR-409483305.us-west-2.elb.amazonaws.com
```

在此情況下，DNS 名稱為 `Wickr-Alb-1Q5IBPJR4ZVZR-409483305.us-west-2.elb.amazonaws.com`。這是為您的網域名稱建立 CNAME 或 A/AAAA (ALIAS) 記錄時應使用的值。

如果您沒有部署的輸出，請執行下列命令來顯示負載平衡器 DNS 名稱：

```
aws cloudformation describe-stacks --stack-name WickrAlb \ 
   --query 'Stacks[0].Outputs[?OutputKey==`AlbDnsName`].OutputValue' \
   --output text
```

## 產生 KOTS Config
<a name="getting-started-generate-kots-config"></a>

**警告**  
此檔案包含安裝的敏感資訊。請勿公開共用或儲存。

Wickr Enterprise 安裝程式需要一些有關基礎設施的組態值，才能成功安裝。您可以使用協助程式指令碼來產生組態值。

```
./bin/generate-kots-config.ts > wickr-config.json
```

如果您在第一個步驟中將外部憑證匯入 ACM，請將 `--ca-file`旗標傳遞至此指令碼，例如：

```
./bin/generate-kots-config.ts --ca-file path/to/chain.pem > wickr-config.json
```

如果您收到堆疊不存在的錯誤，請將`AWS_REGION`環境變數 (`export AWS_REGION=us-west-2`) 設定為您選取的區域，然後再試一次。或者，如果您設定內容值 `wickr/stackSuffix`，請使用 `--stack-suffix`旗標傳遞尾碼。