

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

# 範例：透過堡壘主機啟動 VPC 內的 Elastic Beanstalk 應用程式
<a name="vpc-bastion-host"></a>

本節說明如何使用堡壘主機在 VPC 內部署 Elastic Beanstalk 應用程式，以及實作此拓撲的原因。

如果您的 Amazon EC2 執行個體位於私有子網路內，將無法從遠端進行連線。欲連接至您的執行個體，您可在公有子網路內設定堡壘伺服器做為代理。例如，您可於公有子網路內設定 SSH 連接埠轉寄站或 RDP 閘道，代理從您自己的網路流向資料庫伺服器的流量。本章節的範例說明如何透過私有和公有子網路建立 VPC。執行個體位於私有子網路內，而堡壘主機、NAT 閘道和負載平衡器則位於公有子網路內。您的基礎設施將與下圖類似。

![\[具有堡壘主機的 Elastic Beanstalk 和 VPC 拓撲圖表。\]](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/images/aeb-vpc-bastion-topo-ngw.png)


如要使用堡壘主機在 VPC 內部部署 Elastic Beanstalk 應用程式，請完成下列小節所述的步驟。

**Topics**
+ [建立包含公有和私有子網路的 VPC](#vpc-bastion-host-create)
+ [建立並設定堡壘主機安全群組](#vpc-bastion-create-host-sg)
+ [更新執行個體安全群組](#vpc-bastion-update-instance-sg)
+ [建立堡壘主機](#vpc-bastion-host-launch)

## 建立包含公有和私有子網路的 VPC
<a name="vpc-bastion-host-create"></a>

在 [公有/私有 VPC](vpc.md#services-vpc-privatepublic) 完成所有程序。部署應用程式時，您必須為執行個體指定 Amazon EC2 金鑰對，以便從遠端連線。如需指定執行個體金鑰對的詳細資訊，請參閱 [您 Elastic Beanstalk 環境的 Amazon EC2 執行個體](using-features.managing.ec2.md)。

## 建立並設定堡壘主機安全群組
<a name="vpc-bastion-create-host-sg"></a>

建立堡壘主機的安全群組，並新增規則允許來自網際網路的傳入 SSH 流量，以及傳出至內含 Amazon EC2 執行個體私有子網路的 SSH 流量。

**建立堡壘主機安全群組**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中，選擇 **Security Groups** (安全群組)。

1. 選擇 **Create Security Group** (建立安全群組)。

1. 在 **Create Security Group (建立安全群組)** 對話方塊中，輸入如下內容並選擇 **Yes, Create (是，建立)**。  
**Name tag (名稱標籤)** (選用)  
輸入安全群組的名稱標籤。  
**Group name** (群組名稱)  
輸入安全群組的名稱。  
**Description**  
輸入安全群組的描述。  
**VPC**  
選取您的 VPC。

   安全群組便會建立，並出現在 **Security Groups (安全群組)** 頁面上。請注意其會有 ID (例如：`sg-xxxxxxxx`)。您可能必須按一下頁面右上角的 **Show/Hide (顯示/隱藏)** 來開啟 **Group ID (群組 ID)** 資料行。

**欲設定堡壘主機安全群組**

1. 在安全群組清單中，選取您剛為堡壘主機建立的安全群組核取方塊。

1. 在 **Inbound Rules (傳入規則)** 標籤上，選擇 **Edit (編輯)**。

1. 視需要選擇 **Add another rule (新增其他規則)**。

1. 若您的防禦主機為 Linux 執行個體，在 **Type (類型)** 底下選取 **SSH (SSH)**。

   若您的防禦主機為 Windows 執行個體，在 **Type (類型)** 底下選取 **RDP (RDP)**。

1. 在 **Source (來源)** 欄位輸入所需來源 CIDR 範圍，然後選擇 **Save (儲存)**。  
![\[防禦主機安全群組\]](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/images/vpc-bh-sg-inbound.png)

1. 在 **Outbound Rules (傳出規則)** 索引標籤上，選擇 **Edit (編輯)**。

1. 視需要選擇 **Add another rule (新增其他規則)**。

1. 在 **Type (類型)** 下，選取您指定類型的傳入規則。

1. 在 **Source (來源)** 欄位中，輸入 VPC 私有子網路中主機子網路的 CIDR 範圍。

   尋找：

   1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

   1. 在導覽窗格中，選擇 **Subnets** (子網)。

   1. 請注意，每個 **Availability Zone (可用區域)** 在 **IPv4 CIDR (IPv4 CIDR)** 下的值，其中有您希望防禦主機橋接的主機。
**注意**  
如果您在多個可用區域擁有主機，請針對這些可用區域的每一個建立傳出規則。  
![\[VPC 子網路\]](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/images/vpc-subnets.png)

1. 選擇**儲存**。

## 更新執行個體安全群組
<a name="vpc-bastion-update-instance-sg"></a>

您的執行個體安全群組預設不允許傳入流量。Elastic Beanstalk 會修改執行個體的預設群組以允許 SSH 流量，但如果您的執行個體為 Windows 執行個體，則必須自行修改自訂執行個體的安全群組，以允許 RDP 流量。

**欲更新 RDP 執行個體安全群組**

1. 在安全群組清單中，選取執行個體安全群組的核取方塊。

1. 在 **Inbound (傳入)** 標籤上，選擇 **Edit (編輯)**。

1. 視需要選擇 **Add another rule (新增其他規則)**。

1. 輸入下列值，然後選擇 **Save (儲存)**。  
**類型**  
`RDP`  
**通訊協定**  
`TCP`  
**連接埠範圍**  
`3389`  
**來源**  
輸入防禦主機安全群組的 ID (如 `sg-8a6f71e8`)，並選擇 **Save (儲存)**。

## 建立堡壘主機
<a name="vpc-bastion-host-launch"></a>

如要建立堡壘主機，您可以在您的公有子網路中啟動將做為堡壘主機的 Amazon EC2 執行個體。

如需在私有子網路中為 Windows 執行個體設定堡壘主機的詳細資訊，請參閱[使用堡壘伺服器控制 EC2 執行個體的網路存取](https://aws.amazon.com/blogs/security/controlling-network-access-to-ec2-instances-using-a-bastion-server/)。

如需在私有子網路中為 Linux 執行個體設定堡壘主機的詳細資訊，請參閱[安全連線至在私有 Amazon VPC 內執行的 Linux 執行個體](https://aws.amazon.com/blogs/security/securely-connect-to-linux-instances-running-in-a-private-amazon-vpc/)。