

 AWS Cloud9 不再提供給新客戶。 AWS Cloud9 的現有客戶可以繼續正常使用該服務。[進一步了解](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# 故障診斷 AWS Cloud9
<a name="troubleshooting"></a>

使用以下資訊來識別和解決 的問題 AWS Cloud9。

如果您的問題未列於其中，或者，如果您需要額外協助，請參閱 [AWS Cloud9 開發論壇](https://forums.aws.amazon.com/forum.jspa?forumID=268)。當您進入此論壇時，您可能需要登入。您也可以直接[聯絡我們](https://aws.amazon.com/contact-us/)。

**Topics**
+ [Installer (安裝程式)](#troubleshooting-installer-group)
+ [AWS Cloud9 環境](#troubleshooting-environment-group)
+ [Amazon EC2](#troubleshooting-ec2-group)
+ [AWS 其他服務](#troubleshooting-other-services-group)
+ [應用程式預覽](#troubleshooting-preview-group)
+ [效能](#troubleshooting-performance-group)
+ [第三方應用程式和服務](#troubleshooting-third-party-group)

## Installer (安裝程式)
<a name="troubleshooting-installer-group"></a>

下節概述與安裝程式相關的 AWS Cloud9 疑難排解問題。

### AWS Cloud9 安裝程式停止回應或失敗
<a name="troubleshooting-ssh-installer"></a>

 **問題：**當您[下載並執行 AWS Cloud9 安裝程式](installer.md#installer-download-run)時，會發生一或多個錯誤，而且安裝程式指令碼不會顯示 `Done`。

 **原因：** AWS Cloud9 安裝程式遇到一或多個錯誤，無法從中復原並因此失敗。

 **解決方案：**如需詳細資訊，請參閱 [安裝程式故障診斷 AWS Cloud9](installer.md#installer-troubleshooting)。請參閱所提供的常見問題、可能的原因，以及建議解決方案。

### AWS Cloud9 安裝程式在顯示以下內容後仍未完成：「Package Cloud9 IDE 1」
<a name="cloud9-installer-failed"></a>

**問題：** AWS Cloud9 在建立 SSH 開發環境的過程中，安裝在現有的 Amazon EC2 執行個體或您自己的伺服器上。當您在 **AWS Cloud9 安裝程式**對話方塊上看到此訊息：「套件 Cloud9 IDE 1」後，安裝程式呈現暫停狀態。如果您選擇 **Cancel (取消)**，您會看到下列訊息：「安裝失敗。」 當 AWS Cloud9 套件無法安裝在客戶的 SSH 主機時，會發生此錯誤。

**原因：**SSH 主機需要您已安裝 Node.js。建議您安裝主機作業系統支援的Node.js最新版本。如果您的主機Node.js上有 AWS Cloud9 不支援的 版本，則可能會發生安裝錯誤。

**建議的解決方案：**在您的 SSH 主機上安裝 AWS Cloud9 支援的 **Node.js** 版本。

### 無法安裝相依性
<a name="proxy-failed-dependencies"></a>

**問題：** AWS Cloud9 需要網際網路存取才能下載相依性。

**可能原因：**
+ 如果您的 AWS Cloud9 環境使用代理存取網際網路， AWS Cloud9 需要代理詳細資訊才能安裝相依性。如果您未提供代理的詳細資訊 AWS Cloud9，則會出現此錯誤。
+ 如果您的環境不允許傳出流量，則可能有另一個原因。

**建議解決方案：**
+ 若要提供代理的詳細資訊 AWS Cloud9，請將下列程式碼附加至您的環境`~/.bashrc`檔案：

  ```
  export http_proxy=[proxy url for http]
  export https_proxy=[proxy url for https]
  #Certificate Authority used by your proxy
  export NODE_EXTRA_CA_CERTS=[path_to_pem_certificate]
  ```

  例如，如果您的 HTTP 代理 URL 是 ，`https://172.31.26.80:3128`而您的 HTTP 代理 URL 是 `https://172.31.26.80:3129`，請將以下幾行新增至您的 `~/.bashrc` 檔案，並以 PEM 格式`NODE_EXTRA_CA_CERTS`設定為憑證授權機構檔案的路徑。如需此變數的詳細資訊，請參閱 [https://nodejs.org/api/cli.html#node_extra_ca_certsfile](https://nodejs.org/api/cli.html#node_extra_ca_certsfile)。

  ```
  export http_proxy=http://172.31.26.80:3128
  export https_proxy=https://172.31.26.80:3129
  export NODE_EXTRA_CA_CERTS=[path_to_pem_certificate]
  ```
+ 如果您使用的是無輸入 Amazon EC2 執行個體，則必須確保已設定 Amazon S3 的 Amazon VPC 端點。如需詳細資訊，請參閱[為 Amazon S3 下載相依性設定 Amazon VPC 端點。 ](https://docs.aws.amazon.com/cloud9/latest/user-guide/ec2-ssm.html#configure-s3-endpoint)

### SSH 環境錯誤：「安裝 pty.js 需要 Python 第 3 版」
<a name="troubleshooting-python-ssh"></a>

 **問題：**開啟 AWS Cloud9 SSH 開發環境後，IDE AWS Cloud9 中的終端機會顯示開頭為「Python 第 3 版需要安裝 pty.js」的訊息。

 **原因：**為了如預期般運作，SSH 環境需要安裝 Python 第 3 版。

 **解決方案：**在環境中安裝 Python 第 3 版。若要檢查您的版本，請從伺服器的終端機執行 **`python --version`** 命令。若要在您的伺服器上安裝 Python 3，請參閱下列其中一項：
+  *Python 範例*中的 [步驟 1：安裝 Python](sample-python.md#sample-python-install)。
+  在 [Python 網站上下載](https://www.python.org/downloads/) Python。

## AWS Cloud9 環境
<a name="troubleshooting-environment-group"></a>

下節概述與環境相關的 AWS Cloud9 疑難排解問題。

### 環境建立錯誤：「我們無法建立 EC2 執行個體...」
<a name="troubleshooting-account-verification"></a>

 **問題：**當您嘗試建立 AWS Cloud9 開發環境時，會出現一則訊息，其中包含「我們無法在帳戶驗證和啟用期間在您的帳戶中建立 EC2 執行個體」一詞。

 **原因：** AWS 目前正在驗證和啟用您的 AWS 帳戶。啟用完成前 (最多可能需要 24 小時)，您都無法建立這個執行個體或其他環境。

 **解決方案**： 嘗試稍候重新建立環境。如果您在 24 小時後仍收到此訊息，請聯絡 [支援](https://support.aws.amazon.com/#/contacts/aws-account-verification)。此外，請務必了解，即使嘗試建立環境失敗， AWS CloudFormation 仍會在您的帳戶中建立相關的堆疊。這些堆疊會計入您帳戶的堆疊建立配額中。為了避免耗盡堆疊建立配額，您可以刪除這些失敗的堆疊。如需詳細資訊，請參閱 *AWS CloudFormation 使用者指南*中的[刪除 AWS CloudFormation 主控台的堆疊](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html)。

### 環境建立錯誤：「Not authorized to perform sts:AssumeRole」(未獲授權執行 sts:AssumeRole)
<a name="troubleshooting-sts-assume-role"></a>

 **問題：**當您嘗試建立新的環境時，出現「Not authorized to perform sts:AssumeRole」(未獲授權執行 sts:AssumeRole) 的錯誤而未能建立環境。

 **可能原因：**您的 中不存在 AWS Cloud9 服務連結角色 AWS 帳戶。

 **建議的解決方案：**在您的 中建立 AWS Cloud9 服務連結角色 AWS 帳戶。您可以在 AWS Command Line Interface (AWS CLI) 或 AWS CloudShell中執行下列命令，即可執行這項操作。

```
aws iam create-service-linked-role --aws-service-name cloud9.amazonaws.com # For the AWS CLI.
iam create-service-linked-role --aws-service-name cloud9.amazonaws.com     # For the aws-shell.
```

如果您無法執行此操作，請洽詢您的 AWS 帳戶 管理員。

執行上述命令後，再次嘗試建立環境。

### 聯合身分無法建立環境
<a name="troubleshooting-federated-service-role"></a>

 **問題：**當您嘗試使用 AWS 聯合身分來建立 AWS Cloud9 開發環境時，會顯示存取錯誤訊息，而且不會建立環境。

 **原因：**： AWS Cloud9 使用服務連結角色。在帳戶中使用 `iam:CreateServiceLinkedRole` 呼叫首次建立環境後，服務連結角色會隨之建立。不過，聯合身分使用者無法呼叫 IAM API。如需詳細資訊，請參閱 *AWS Security Token Service API 參考*中的 [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_API_GetFederationToken.html)。

 **解決方案：**要求 AWS 帳戶 管理員在 IAM 主控台 AWS Cloud9 中建立 的服務連結角色，或使用 AWS Command Line Interface (AWS CLI) 執行此命令：

```
aws iam create-service-linked-role --aws-service-name cloud9.amazonaws.com
```

或者，此命令具有 AWS殼層：

```
iam create-service-linked-role --aws-service-name cloud9.amazonaws.com
```

如需詳細資訊，請參閱[IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)中的*使用服務連結角色*。

### 主控台錯誤：「User is not authorized to perform action on resource」(使用者未獲授權對資源執行動作)
<a name="troubleshooting-access-not-authorized"></a>

 **問題：**當您嘗試使用 AWS Cloud9 主控台建立或管理 AWS Cloud9 開發環境時，您會看到錯誤，其中包含類似於「使用者`arn:aws:iam::123456789012:user/MyUser`無權`cloud9:action`在資源 上執行」的片語`arn:aws:cloud9:us-east-2:123456789012:environment:12a34567b8cd9012345ef67abcd890e1`，其中：
+  `arn:aws:iam::123456789012:user/MyUser` 是發出請求之使用者的 Amazon Resource Name (ARN)。
+  `action` 是接收請求之使用者的操作名稱。
+  `arn:aws:cloud9:us-east-2:123456789012:environment:12a34567b8cd9012345ef67abcd890e1` 是使用者請求執行操作的環境的 ARN。

 **原因：**您使用 登入 AWS Cloud9 主控台的使用者沒有執行 動作的正確 AWS 存取許可。

 **解決方案：**確認使用者具備正確的 AWS 存取許可，然後再次嘗試執行該動作。如需詳細資訊，請參閱下列內容：
+  *小組設定*中的 [步驟 2：將 AWS Cloud9 存取許可新增至群組](setup.md#setup-give-user-access) 
+  *企業設定*中的 [步驟 6. 讓組織內的群組和使用者能夠使用 AWS Cloud9](setup-enterprise.md#setup-enterprise-groups-users-access) 
+  *使用共用環境*中的 [關於環境成員的存取角色](share-environment.md#share-environment-member-roles) 

### 無法連線到環境
<a name="troubleshooting-connection"></a>

 **問題：**使用者無法連接到環境，停滯在「連接」階段。

 **原因：**如果您變更`~/ .ssh/authorized_keys`檔案的許可、從該檔案移除 AWS Cloud9 金鑰，或完全移除檔案，可能會發生此問題。

 **解決方案：**不要刪除此檔案。如果您刪除它，就必須重新建立您的環境，並且可能需要將現有環境的 [EBS 磁碟區](move-environment.md#move-environment.title)連接到新的 EC2 環境。這是為了擷取遺失的資料。如果缺少許可，請確保檔案具有 `Read-Write` 許可。這是為了允許 SSH 常駐程式讀取它。

### 無法開啟環境
<a name="troubleshooting-env-loading"></a>

 **問題：**當您嘗試開啟環境時，IDE 超過五分鐘還未顯示。

 **可能原因：**
+ 登入 AWS Cloud9 主控台的 IAM 使用者沒有開啟環境所需的 AWS 存取許可。
+ 如果環境與 AWS 雲端運算執行個體 （例如 Amazon EC2 執行個體） 相關聯，則可能為 true：
  + 與執行個體相關聯的 VPC 未設定為正確的設定 AWS Cloud9。
  + 當 AWS Cloud9 嘗試連線到執行個體時，執行個體正在狀態之間轉換或自動化狀態檢查失敗。
+ 如果環境是 SSH 環境，則相關聯的雲端運算執行個體或您自己的伺服器未正確設定，以允許 AWS Cloud9 存取它。

 **建議解決方案：**
+ 確定登入 AWS Cloud9 主控台的 IAM 使用者具有開啟環境所需的 AWS 存取許可。然後再次嘗試開啟環境。如需詳細資訊，請參閱以下內容或洽詢您的 AWS 帳戶 管理員：
  +  *小組設定*中的 [步驟 2：將 AWS Cloud9 存取許可新增至群組](setup.md#setup-give-user-access) 
  +  *身分驗證與存取控制*中的 [AWS 的 受管政策 AWS Cloud9](security-iam.md#auth-and-access-control-managed-policies) 
  +  *進階小組設定*中的 [使用 的團隊的客戶受管政策範例 AWS Cloud9](setup-teams-policy-examples.md) 
  +  *身分驗證與存取控制*中的 [客戶管理政策範例](security-iam.md#auth-and-access-control-customer-policies-examples) 
  +  《IAM 使用者指南》**中的[變更 IAM 使用者的許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html)
  +  *IAM 使用者指南*中的 [IAM 政策故障診斷](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html)

  如果登入的 IAM 使用者仍然無法開啟環境，請嘗試登出，然後以 AWS 帳戶 根使用者或帳戶中的管理員使用者身分重新登入。然後再次嘗試開啟環境。如果這麼做能夠開啟環境，問題很可能就跟 IAM 使用者存取許可有關。
+ 如果環境與 AWS 雲端運算執行個體 （例如 Amazon EC2 執行個體） 相關聯，請執行下列動作：
  + 請確定與執行個體相關聯的 VPC 設定為正確的設定 AWS Cloud9，然後再次嘗試開啟環境。如需詳細資訊，請參閱[的 Amazon VPC 需求 AWS Cloud9](vpc-settings.md#vpc-settings-requirements)。

    如果與 AWS 雲端運算執行個體相關聯的 VPC 設定為 的正確設定， AWS Cloud9 但您仍然無法開啟環境，則執行個體的安全群組可能會阻止存取 AWS Cloud9。**以下僅做為疑難排解技巧之用**：請檢查安全群組，確認至少允許所有 IP 地址透過連接埠 22 傳入 SSH 流量 (`Anywhere` 或 `0.0.0.0/0`)。如需說明，請參閱《*Amazon EC2 使用者指南*》中的[描述您的安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#describing-security-group)和[更新安全群組規則](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#updating-security-group-rules)。

    如需其他 VPC 疑難排解步驟，請觀看 YouTube 上相關的 5 分鐘影片 [AWS 知識中心影片：如果我無法連接至 VPC 中的執行個體，應檢查什麼？](https://www.youtube.com/watch?v=--BoDeCF5Dw)。
**警告**  
完成疑難排解時，請務必將傳入規則設為適當的地址範圍。如需詳細資訊，請參閱[的傳入 SSH IP 地址範圍 AWS Cloud9](ip-ranges.md)。
  + 重新啟動該執行個體、確定執行個體運作中並已通過所有系統檢查，然後再次嘗試開啟環境。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[重新啟動執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-reboot.html)和[檢視狀態檢查](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html#viewing_status)。
+ 如果環境是 SSH 環境，請確定與其相關聯的雲端運算執行個體或您自己的伺服器已正確設定，以允許 AWS Cloud9 存取它。然後再次嘗試開啟環境。如需詳細資訊，請參閱[SSH 環境主機要求](ssh-settings.md)。

### 無法開啟 AWS Cloud9 環境：「協作者目前無法存取此環境。Please wait until the removal of managed temporary credentials is complete, or contact the owner of this environment.」(此環境目前無法供協作者存取。請等候受管臨時憑證的移除作業完成，或連絡此環境的擁有者。)
<a name="collaborator-access-credentials"></a>

**問題：**如果由非環境擁有者的人員將新的協作者新增至環境，則會停用 AWS 受管臨時憑證。憑證會因您刪除 `~/.aws/credentials` 檔案而停用。刪除`~/.aws/credentials`檔案時，新的協作者無法存取 AWS Cloud9 環境。

**原因：**在 AWS 受管臨時憑證刪除過程中防止環境遭存取是一種安全性措施。這樣可讓環境擁有者確認只有受信任的協作者才能存取受管憑證。如果環境擁有者認為協作者名單沒有問題，就可以重新啟用受管憑證，讓憑證可以共用。如需詳細資訊，請參閱[控制 AWS 受管臨時登入資料的存取](security-iam.md#temporary-managed-credentials-control)。

**建議的解決方案：**等待`~/.aws/credentials`檔案完全刪除，然後再嘗試開啟 AWS Cloud9 環境。憑證到期的最長等待時間為 15 分鐘。或者，請要求環境擁有者重新啟用或停用受管臨時憑證。重新啟用或停用憑證之後，協作者就可以立即存取環境。透過將受管憑證的狀態切換為 ENABLED 或 DISABLED，環境擁有者就可確保憑證不會保留在中繼狀態。中繼統計資料可以防止協作者存取環境。

**注意**  
假設環境擁有者和協同合作者屬於同一個 AWS 帳戶。然後，協作者可以在主控台的 **Your environments** (您的環境) 頁面查看環境卡片，藉此找到要聯絡的環境擁有者。環境擁有者也會列在 **Environment details** (環境詳細資訊) 頁面上。

### 環境刪除錯誤：「One or more environments failed to delete」(無法刪除一或多個環境)
<a name="troubleshooting-delete-environment"></a>

**問題：**當您嘗試刪除 AWS Cloud9 主控台中的一或多個環境時，會顯示一則訊息，顯示「一或多個環境無法刪除」，而且至少有一個環境不會刪除。

**可能的原因：** AWS CloudFormation 刪除一或多個環境時可能有問題。 AWS Cloud9 依賴 CloudFormation 來建立和刪除環境。

**建議的解決方案：**嘗試使用 CloudFormation 刪除每個未刪除的環境。

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

1. 在 AWS 導覽列上，選擇環境 AWS 區域 的 。

1. 在 CloudFormation 堆疊清單中，選取**堆疊名稱**包含未刪除環境名稱且**狀態**為 **DELETE\$1FAILED** 的項目。例如，若環境名稱是 **my-demo-environment**，請選擇開頭名稱是 **aws-cloud9-my-demo-environment** 的堆疊。(請選擇環境名稱旁的方塊或選項，而非環境名稱本身。)

1. 選擇 **Actions (動作)、Delete Stack (刪除堆疊)**。

1. 出現提示時，選擇 **Yes, Delete (是，刪除)**。

刪除堆疊的程序可能需要幾分鐘的時間。

如果堆疊從清單中消失，則表示環境已刪除。

如果幾分鐘過後堆疊仍然顯示 **DELETE\$1FAILED**，則表示環境仍未刪除。您可以嘗試手動刪除已失敗堆疊的每個資源。

**注意**  
手動刪除失敗堆疊的資源並不會將堆疊本身從您的 中移除 AWS 帳戶。

若要手動刪除這些資源，請執行下列動作。在 CloudFormation 主控台中，選擇失敗的堆疊，然後選取**資源**區段。針對此清單中 AWS 的每個資源前往 中的 主控台，然後使用該主控台刪除資源。

### 在 IDE AWS Cloud9 中變更環境的逾時時間
<a name="changing-environment-timeout"></a>

 **問題：**使用者想要更新 Amazon EC2 環境的逾時時間。

 **原因：**預設逾時時間為 30 分鐘。對於某些使用者而言，這可能太短。

 **建議解決方案：**

1. 開啟您要設定的環境。

1. 在 **AWS Cloud9 IDE** 的選單列中，選擇**AWS Cloud9****偏好設定**。

1. 在**偏好設定**視窗中，捲動至 **Amazon EC2 執行個體**區段。

1. 從可用清單中選取逾時值並更新。

### 在 AWS Toolkit 中於本機執行 SAM 應用程式時發生錯誤，因為 AWS Cloud9 環境沒有足夠的磁碟空間
<a name="troubleshooting-dockerimage-toolkit"></a>

**問題：**當您使用 AWS Toolkit AWS SAM 為 SAM 範本定義的應用程式執行 CLI 命令時發生錯誤。

**可能原因：**當您使用 AWS Toolkit 在本機執行和偵錯無伺服器應用程式時， AWS SAM 會使用Docker映像。這些映像提供執行時間環境和建置工具，而這些工具會模擬您計劃要部署至其中的 Lambda 環境。

不過，如果您的環境缺乏足夠的磁碟空間，提供這些功能的 Docker 映像就無法建置，且您的本機 SAM 應用程式無法執行。如果發生這個問題，您可能會在 **Output** (輸出) 索引標籤收到錯誤，內容如下。

```
Error: Could not find amazon/aws-sam-cli-emulation-image-python3.7:rapid-1.18.1 image locally and failed to pull it from docker.
```

此錯誤與使用 Python 執行時間建置的 SAM 應用程式相關。根據您為應用程式選擇的執行時間而定，您收到的訊息可能稍有不同。

**建議解決方案：**釋放環境中的磁碟空間，以便 Docker 映像可以進行建置。在 IDE 的終端機中執行以下命令，藉此移除任何未使用的 Docker 映像。

```
docker image prune -a
```

如果您因為磁碟空間的限制而反覆遇到 SAM CLI 命令的問題，請切換到使用不同[執行個體類型](create-environment-main.md#create-environment-console)的開發環境。

([回到頁首](#troubleshooting))

### 無法使用舊版 Microsoft Edge 瀏覽器載入 IDE
<a name="forbidden-edge-ide"></a>

**問題：**嘗試使用 Microsoft Edge Web 瀏覽器載入 AWS Cloud9 IDE 時傳回`HTTP403: FORBIDDEN`錯誤。

**可能原因：**IDE AWS Cloud9 不支援某些較舊版本的 Microsoft Edge。

**建議解決方案：**若要更新瀏覽器，請選擇 Microsoft Edge 工具列中的省略符號 (...) 按鈕。從功能表中，選擇 **Settings** (設定)，然後選擇 **About Microsoft Edge** (關於 Microsoft Edge)。如果需要更新，系統會自動下載並安裝更新。

([回到頁首](#troubleshooting))

### 無法在 IDE File Explorer 中建立子資料夾結構 AWS Cloud9 **/home/ec2-user/environment/home/ec2-user/environment**。
<a name="c9-folder-error"></a>

**問題：**當您在 IDE File Explorer 中建立子資料夾結構 **/home/ec2-user/environment/home/ec2-user/environment** AWS Cloud9 時，您會收到錯誤訊息，指出無法開啟此目錄。

**可能的原因：**目前無法使用 IDE 的檔案系統，在相同名稱的資料夾中建立子資料夾結構 AWS Cloud9 **/home/ec2-user/environment**。您將無法從 IDE File Explorer AWS Cloud9 存取此目錄中的任何檔案，但您可以使用命令列存取這些檔案。此問題只影響檔案路徑 **/home/ec2-user/environment/home/ec2-user/environment**，**/test/home/ec2-user/environment** 和 **/home/ec2-user/environment/test** 等檔案路徑應該可以運作。這是已知問題，只會影響 AWS Cloud9 IDE File Explorer。

**建議解決方案**：使用不同的檔案名稱和結構。

([回到頁首](#troubleshooting))

### 無法在 CodeCatalyst 的 AWS Cloud9 IDE 檔案總管中建立子資料夾結構/**專案/專案**。
<a name="codecatalyst-folder-error"></a>

**問題：**當您在 CodeCatalyst 的 IDE File Explorer AWS Cloud9 中建立子資料夾結構 **/projects/projects** 時，您會收到錯誤訊息，指出無法開啟此目錄。

**可能的原因：**目前無法使用 CodeCatalyst 的 AWS Cloud9 IDE 檔案總管，在相同名稱的資料夾中建立子資料夾結構**/專案**。您將無法從 IDE File Explorer AWS Cloud9 存取此目錄中的任何檔案，但您可以使用命令列存取這些檔案。此問題只會影響檔案路徑 **/projects/projects**，**/test/projects** 和 **/projects/test** 等檔案路徑應該可以運作。這是已知問題，只會影響 CodeCatalyst 的 AWS Cloud9 IDE 檔案總管。

**建議解決方案**：使用不同的檔案名稱和結構。

([回到頁首](#troubleshooting))

### 由於 AWS Cloud9 `tmux`工作階段錯誤，無法在 中與終端機視窗互動
<a name="tmux-terminal-error"></a>

**問題：**當您嘗試在 中啟動新的終端機視窗時 AWS Cloud9，無法使用預期的命令列界面。沒有命令提示字元，您無法輸入文字。系統會傳回諸如 `tmux: need UTF-8 locale (LC_CTYPE)` 或 `invalid LC_ALL, LC_CTYPE or LANG` 等錯誤訊息。

**可能的原因：**沒有回應的終端機可能是由 tmux 錯誤造成。 AWS Cloud9 會使用 [tmux](https://en.wikipedia.org/wiki/Tmux) 公用程式。如此，顯示在終端機中的資訊，即使在頁面重新載入或您重新連線至開發環境時也會持續存在。

在 `tmux` 工作階段中，終端機視窗中顯示的內容會由用戶端處理。用戶端會與可管理多個工作階段的伺服器通訊。伺服器和用戶端會透過位於 `tmp` 資料夾中的通訊端進行通訊。如果 `tmp` 資料夾在開發環境中遺失，或者套用了過於嚴格的許可，`tmux` 工作階段就無法執行。如果發生這種情況，IDE 中的終端機視窗將不會有回應。

**建議的解決方案**：如果 `tmux` 錯誤使您無法與終端機視窗互動，請使用替代方式來建立具有適當許可的 `tmp` 資料夾。這樣，`tmux` 工作階段就能執行。其中一種解決方法是在 `.bash_profile` 或 `.bashrc` 檔案中匯出 `LC_CTYPE`。另一個建議的解決方案是使用 AWS Systems Manager 來設定主機管理組態。如此可以透過 Amazon EC2 主控台存取相關執行個體。

**設定主機管理**

1. 首先，在 AWS Cloud9 主控台中，尋找您環境執行個體的名稱。若要這麼做，請選擇 **Your environments** (您的環境) 中的相關面板，並選擇 **View details** (檢視詳細資訊)。在 **Environment details** (環境詳細資訊) 頁面中，選擇 **Go to Instance** (前往執行個體)。在 Amazon EC2 主控台中，確認您需要存取的執行個體名稱。

1. 現在前往 AWS Systems Manager 主控台，然後在導覽窗格中，選擇**快速設定**。

1. 在 **Quick Setup** (快速設定) 頁面中，選擇 **Create** (建立)。

1. 對於 **Configuration types** (組態類型)，前往 **Host Management** (主機管理)，然後選擇 **Create** (建立)。

1. 對於 **Customize Host Management configuration options** (自訂主機管理組態選項)，在 **Targets** (目標) 區段中，選擇 **Manual** (手動)。

1. 選取您要存取的 EC2 執行個體，然後選擇 **Create** (建立)。

**連線至執行個體並執行命令**

**注意**  
以下步驟適用於全新 EC2 主控台。

1. 在 Amazon EC2 主控台的導覽窗格中，選擇 **Instances** (執行個體)，然後選取您要連線的執行個體。

1. 選擇**連線**。

   如果 **Connect** (連線) 並未啟用，您可能需要先啟動該執行個體。

1. 在 **Connect to your instance** (連線至您的執行個體) 窗格中，對於 **Connection method** (連線方法)，選擇 **Session Manager** (工作階段管理員)，然後選擇 **Connect** (連線)。

1. 在出現的終端機工作階段視窗中，輸入下列指令。這些命令會建立具有適當許可的 `tmp` 資料夾，讓 tmux 通訊端可供使用。

   ```
   sudo mkdir /tmp
   sudo chmod 777 /tmp
   sudo rmdir /tmp/tmux-*
   ```

([回到頁首](#troubleshooting))

## Amazon EC2
<a name="troubleshooting-ec2-group"></a>

下節概述與 Amazon EC2 相關的疑難排解問題。

### Amazon EC2 執行個體未自動更新
<a name="troubleshooting-update-ami"></a>

 **問題：**最近的系統更新不會自動套用至連線至 AWS Cloud9 開發環境的 Amazon EC2 執行個體。

 **原因**：自動套用最近的系統更新可能導致您的程式碼或 Amazon EC2 執行個體在未經您事先知悉或核准的情況下發生行為異常。

 **建議解決方案：**

遵循《Amazon EC2 使用者指南》中[更新執行個體軟體的指示，定期將系統更新套用至 Amazon EC2 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-updates.html)。 *Amazon EC2 *

若要在執行個體上執行命令，您可以從連線至執行個體的環境使用 IDE AWS Cloud9 中的終端機工作階段。

或者，您可以使用 SSH 遠端存取公用程式 (例如 **ssh** 或 PuTTY) 連線至執行個體。若要這樣做，請從您的本機電腦中使用 **ssh-keygen** 或 PuTTYgen 之類的 SSH 金鑰對建立公用程式。使用連接至執行個體之環境的 AWS Cloud9 IDE，將產生的公有金鑰存放在執行個體上。接著使用 SSH 遠端存取公用程式連同產生的私密金鑰以存取執行個體。如需詳細資訊，請參閱公用程式的說明文件。

### AWS CLI or AWS-shell 錯誤：EC2 環境中的「請求中包含的安全字符無效」
<a name="troubleshooting-cli-invalid-token"></a>

 **問題：**當您嘗試使用 AWS Command Line Interface (AWS CLI) 或 AWS-shell 在 EC2 環境的 IDE AWS Cloud9 中執行命令時，會顯示錯誤：「請求中包含的安全字符無效。」

 **原因：**如果您已啟用 AWS 受管臨時憑證，且發生下列其中一個事項，就可能產生無效的安全權杖：
+ 您嘗試執行 AWS 受管臨時登入資料不允許的命令。如需允許命令的清單，請參閱 [AWS 受管臨時憑證支援的動作](security-iam.md#auth-and-access-control-temporary-managed-credentials-supported)。
+  AWS 受管臨時憑證會在 15 分鐘後自動過期。
+ 共用環境的 AWS 受管臨時登入資料已停用，因為環境擁有者以外的人員新增了新的成員。

 **建議解決方案：**
+ 僅執行 AWS 受管臨時登入資料允許的命令。如果您需要執行 AWS 受管臨時登入資料不允許的命令，請在環境中使用一組永久登入資料設定 AWS CLI 或 AWS-shell。這可消除此限制。如需說明，請參閱[在環境中建立並存放永久存取憑證](credentials.md#credentials-permanent-create)。
+ 對於已停用或過期的登入資料，請確定環境擁有者開啟環境，讓 AWS Cloud9 可以重新整理環境中的臨時登入資料。如需詳細資訊，請參閱[控制 AWS 受管臨時登入資料的存取](security-iam.md#temporary-managed-credentials-control)。

### 無法連線到 EC2 環境，因為 VPC 的 IP 地址是由 Docker 使用
<a name="docker-bridge"></a>

**問題：**使用 EC2 環境時，如果您在採用 IPv4 無類別域間路由 (CIDR) 區塊 `172.17.0.0/16` 的 Amazon VPC 中啟動 EC2 執行個體，則在您嘗試開啟該環境時，連線可能會停滯。

**原因：**Docker 使用稱為橋接網路的連結層裝置，可讓連線至相同橋接網路的容器進行通訊。 AWS Cloud9 建立使用預設橋接進行容器通訊的容器。預設橋接器通常會使用 `172.17.0.0/16` 子網路來進行容器網路連線。

如果環境執行個體的 VPC 子網路使用 Docker 已經使用的相同地址範圍，可能會發生 IP 地址衝突。因此，如果 AWS Cloud9 嘗試連線到其執行個體，則該連線會由閘道路由表路由到 Docker 橋接器。這 AWS Cloud9 可防止 連線到支援開發環境的 EC2 執行個體。

**建議解決方案：**若要解決 Amazon VPC 和 Docker 使用相同的 IPv4 CIDR 地址區塊所造成的 IP 地址衝突，請為支援 EC2 環境的執行個體設定新的 VPC。請為這個新的 VPC 設定有別於 `172.17.0.0/16` 的 CIDR 區塊。(您不能變更現有 VPC 或子網路的 IP 地址範圍。) 

如需詳細資訊，請參閱 Amazon VPC 使用者指南中的 [VPC 和子網路規模調整](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html#VPC_Sizing)。

### 無法在 IDE File Explorer 中建立子資料夾結構 AWS Cloud9 **/home/ec2-user/environment/home/ec2-user/environment**。
<a name="c9-folder-error"></a>

**問題：**當您在 IDE File Explorer 中建立子資料夾結構 **/home/ec2-user/environment/home/ec2-user/environment** AWS Cloud9 時，您會收到錯誤訊息，指出無法開啟此目錄。

**可能原因：**目前無法使用 IDE 的檔案系統，在相同名稱的資料夾中建立子資料夾結構 AWS Cloud9 **/home/ec2-user/environment**。您將無法從 IDE File Explorer AWS Cloud9 存取此目錄中的任何檔案，但您可以使用命令列存取這些檔案。此問題只影響檔案路徑 **/home/ec2-user/environment/home/ec2-user/environment**，**/test/home/ec2-user/environment** 和 **/home/ec2-user/environment/test** 等檔案路徑應該可以運作。這是已知問題，只會影響 AWS Cloud9 IDE File Explorer。

**建議解決方案**：使用不同的檔案名稱和結構。

### AWS License Manager 授權組態與 Amazon EC2 執行個體相關聯時，無法 AWS Cloud9 從主控台啟動
<a name="license-config-deny"></a>

**問題：**當您嘗試從主控台啟動 an AWS Cloud9 EC2 環境時，`unable to access your environment`會傳回錯誤訊息。

**可能原因：** AWS License Manager 簡化跨 的軟體廠商授權管理 AWS 雲端。設定 License Manager 時，您可以建立授權組態，它們是以您的企業協議條款為根據的授權規則集。這些授權組態可以連接到機制，例如 Amazon Machine Image (AMI) 或 CloudFormation。您可以使用其中一種機制來啟動 EC2 執行個體。

AWSServiceRoleForAWSCloud9 服務連結角色 (SLR) 的舊版本 **AWSCloud9ServiceRolePolicy** 目前不包含 `license-configuration` 資源條件。因此， AWS Cloud9 不允許 啟動和停止其執行個體。因此， AWS Cloud9 拒絕存取其 Amazon EC2 執行個體，並傳回錯誤。

**建議的解決方案**：如果您無法存取現有 AWS Cloud9 環境並使用 License Manager，請將舊的 **AWSCloud9ServiceRolePolicy** 服務連結角色取代為 [SLR 版本](using-service-linked-roles.md#service-linked-role-permissions)，當 `license-configuration`套用到執行個體時明確允許 EC2 動作。您可以透過直接刪除來取代舊角色。然後，更新過的角色會自動建立。

### 無法在 EC2 環境中執行某些命令或指令碼
<a name="troubleshooting-rhel-ubuntu"></a>

 **問題：**開啟 an AWS Cloud9 EC2 開發環境後，您無法安裝某些類型的套件、執行 `yum`或 等命令`apt`，或執行包含通常與其他 Linux 作業系統搭配使用之命令的指令碼。

 **原因：** AWS Cloud9 用於 Amazon EC2 環境的 Amazon EC2 執行個體依賴 Amazon Linux （以 Red Hat Enterprise Linux (RHEL) 為基礎） 或 Ubuntu Server。

 **解決方案**：如果您在 EC2 環境的 IDE 中安裝或管理套件，或執行命令或指令碼，請視環境的執行個體而定，確認這些項目可與 RHEL (適用於 Amazon Linux) 或 Ubuntu Server 相容。

### 使用 建立 EC2 環境時，回報「執行個體描述檔 AWSCloud9SSMInstanceProfile 不存在於帳戶中」的錯誤訊息 CloudFormation
<a name="cfn-no-instanceprofile"></a>

**問題：**使用 [ AWS：：Cloud9：：EnvironmentEC2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html) CloudFormation resource 建立 EC2 環境時，使用者會收到錯誤訊息，指出帳戶中不存在執行個體描述檔 AWSCloud9SSMInstanceProfile。

**原因：**建立無輸入 EC2 環境時，您必須建立服務角色 `AWSCloud9SSMAccessRole` 和執行個體描述檔 `AWSCloud9SSMInstanceProfile`。這些 IAM 資源可讓 Systems Manager 管理可為開發環境提供支援的 EC2 執行個體。

如果您使用主控台建立無輸入環境，`AWSCloud9SSMAccessRole` 和 `AWSCloud9SSMInstanceProfile` 會自動建立。但是，使用 CloudFormation 或 AWS CLI 建立第一個無輸入環境時，您必須手動建立這些 IAM 資源。

**建議的解決方案：**如需編輯 CloudFormation 範本和更新 IAM 許可的相關資訊，請參閱 [使用 CloudFormation 建立無輸入 EC2 環境](ec2-ssm.md#cfn-role-and-permissions)

### 使用 建立 EC2 環境時，回報「未授權資源`perform: ssm:StartSession`上的 」的錯誤訊息 CloudFormation
<a name="cfn-no-ingress-failed"></a>

**問題：**使用 [ AWS：：Cloud9：：EnvironmentEC2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html) CloudFormation resource 建立 EC2 環境時，使用者會收到 `AccessDeniedException`並收到通知，告知他們「未授權在資源`ssm:StartSession`上執行：」。

**原因：**使用者缺少呼叫 `StartSession` API 的許可，此許可對於使用 Systems Manager 管理無輸入執行個體的 EC2 環境而言，是組態中必需的部分。

**建議的解決方案：**如需編輯 CloudFormation 範本和更新 IAM 許可的相關資訊，請參閱 [使用 CloudFormation 建立無輸入 EC2 環境](ec2-ssm.md#cfn-role-and-permissions)。

### 使用 建立 EC2 環境時，回報未授權「在資源`iam:GetInstanceProfile`上執行：執行個體描述檔`AWSCloud9SSMInstanceProfile`」的錯誤訊息 AWS CLI
<a name="cli-no-ingress-failed"></a>

**問題：**當您使用 [AWS CLI](tutorials-basic.md#tutorial-create-environment) 來建立 EC2 環境時，使用者會收到 `AccessDeniedException` 並被告知，他們的 AWS Cloud9 環境未獲授權「在資源：執行個體設定檔 `AWSCloud9SSMInstanceProfile` 上執行 iam:GetInstanceProfile」。

**Cause：** AWS Cloud9 釋出呼叫 `StartSession` API 的許可，這是 EC2 環境組態的一部分，這些環境使用 Systems Manager 進行無輸入執行個體。

**建議的解決方案：**如需新增必要`AWSCloud9SSMAccessRole`服務角色和 `AWSCloud9SSMInstanceProfile` 到您的 AWS Cloud9 環境的相關資訊，請參閱 [使用 管理 Systems Manager 的執行個體描述檔 AWS CLI](ec2-ssm.md#aws-cli-instance-profiles)。

### 將預設加密套用至 Amazon EBS 磁碟區時，無法建立環境
<a name="troubleshooting-policy-cmk"></a>

**問題：**嘗試建立 Amazon EC2 環境時傳回 `Failed to create environments. The development environment '[environment-ID]' failed to create` 錯誤。

**可能原因：**如果您 AWS Cloud9 的 IDE 使用預設加密的 Amazon EBS 磁碟區，則 AWS Identity and Access Management AWS Cloud9 的服務連結角色需要存取 AWS KMS keys 這些 EBS 磁碟區的 。如果未提供存取權，IDE AWS Cloud9 可能無法啟動，而且可能難以偵錯問題。

**建議的解決方案**：若要提供存取權，請將 AWS Cloud9的服務連結角色新增至 Amazon EBS 磁碟區所使用的`AWSServiceRoleForAWSCloud9`客戶受管金鑰。

 如需此任務的詳細資訊，請參閱在規範性指引模式中[建立 AWS Cloud9 使用 Amazon EBS 磁碟區與預設加密的 ](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption.html)。 *AWS *

### EC2-Classic 帳戶的 VPC 錯誤：「無法存取您的環境」
<a name="ec2-classic-issue"></a>

**問題：**EC2-Classic 導入了 Amazon EC2 的原始版本。如果您使用 AWS 帳戶 在 2013 年 12 月 4 日之前設定的 ，而您在建立 AWS Cloud9 EC2 開發環境時未設定 Amazon VPC 和子網路，則可能會發生此錯誤。

如果您接受預設 VPC 設定，則 Amazon EC2 執行個體會在 EC2-Classic 網路中啟動。此執行個體不會啟動至預設 VPC 的子網路。當建立環境失敗時會顯示下列訊息：



 環境錯誤

無法存取您的環境

建立環境失敗，出現錯誤：下列資源無法建立：[執行個體]. . 使用者請求轉返..

您可以確認錯誤是因為 EC2 執行個體不在預設 VPC 中所造成的。使用 CloudFormation 檢視開發環境的堆疊事件歷史記錄。

1. 開啟 CloudFormation 主控台。如需詳細資訊，請參閱[登入 CloudFormation 主控台](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-login.html)。

1. 在 CloudFormation 主控台中，選擇 **Stacks**。

1. 在 **Stacks (堆疊)** 頁面上，選擇無法建立的開發環境名稱。

1. 在 **Stack details** (堆疊詳細資訊) 頁面上，選擇 **Events** (事件) 標籤，然後檢查下列項目：

   狀態：CREATE\$1FAILED

   狀態原因：AssociatePublicIpAddress 參數僅由 VPC 啟動支援。[...] 

**原因：** AWS Cloud9 開發環境必須與符合特定 VPC 要求的 Amazon VPC 相關聯。如果是啟用了 EC2-Classic 的帳戶，在[建立 EC2 環境](create-environment.md)時接受預設網路設定，則所需的 EC2 執行個體不會在 VPC 中啟動。相反地，該執行個體會在 EC2-Classic 網路中啟動。

**建議解決方案：**使用 EC2-Classic 帳戶，您必須在[建立 EC2 環境](create-environment.md)時選取 VPC 和子網路。在 **Configure settings (配置設定)** 頁面的 **Network settings (advanced) (網路設定 (進階))** 區段中，選取您可以在 VPC 和子網路中啟動的 EC2 執行個體。

## AWS 其他服務
<a name="troubleshooting-other-services-group"></a>

下節概述與其他 AWS 服務相關的疑難排解問題。

### 無法在 CodeCatalyst 的 AWS Cloud9 IDE 檔案總管中建立子資料夾結構/**專案/專案**。
<a name="codecatalyst-folder-error"></a>

**問題：**當您在 CodeCatalyst 的 IDE File Explorer AWS Cloud9 中建立子資料夾結構 **/projects/projects** 時，您會收到錯誤訊息，指出無法開啟此目錄。

**可能原因：**目前無法使用 CodeCatalyst 的 AWS Cloud9 IDE 檔案總管，在相同名稱的資料夾中建立子資料夾結構**/專案**。您將無法從 IDE File Explorer AWS Cloud9 存取此目錄中的任何檔案，但您可以使用命令列存取這些檔案。此問題只會影響檔案路徑 **/projects/projects**，**/test/projects** 和 **/projects/test** 等檔案路徑應該可以運作。這是已知問題，只會影響 CodeCatalyst 的 AWS Cloud9 IDE 檔案總管。

**建議解決方案**：使用不同的檔案名稱和結構。

### 無法從 IDE 外部顯示執行中的應用程式
<a name="troubleshooting-app-sharing"></a>

 **問題：**當您或其他人嘗試從 IDE 外部由 Web 瀏覽器標籤顯示執行中的應用程式時，Web 瀏覽器標籤顯示錯誤或一片空白。

 **可能原因：**
+ 應用程式未在 IDE 中執行。
+ 應用程式使用 IP `127.0.0.1` 或 `localhost` 執行。
+ 應用程式正在 an AWS Cloud9 EC2 開發環境中執行。此外，與對應的 Amazon EC2 執行個體相關聯的一個或多個安全群組不允許透過應用程式所需的通訊協定、連接埠或 IP 地址傳入流量。
+ 應用程式正在 AWS 雲端運算執行個體 （例如 Amazon EC2 執行個體） 的 AWS Cloud9 SSH 開發環境中執行。此外，與對應的執行個體相關聯虛擬私有雲端 (VPC) 中的子網路設有網路 ACL，不允許透過應用程式所需的通訊協定、連接埠或 IP 地址傳入流量。
+ URL 不正確。
+ 請求的 URL 是應用程式預覽標籤上的網址，而不是執行個體的公有 IP 地址。
+ 您正嘗試前往的 IP 地址包含 `127.0.0.1` 或 `localhost`。這些 IP 會嘗試存取本機電腦上的資源，而非環境中的資源。
+ 執行個體的公有 IP 地址已變更。
+ Web 請求源自於虛擬私有網路 (VPN)，會封鎖透過應用程式所需的通訊協定、連接埠或 IP 地址傳送流量。
+ 應用程式正在 SSH 環境中執行。此外，伺服器或相關聯的網路並不允許透過應用程式所需的通訊協定、連接埠或 IP 地址傳送流量。

 **建議解決方案：**
+ 確認應用程式是在 IDE 中執行。
+ 確認應用程式未使用 IP `127.0.0.1` 或 `localhost` 執行。如需 Node.js 和 Python 方面的範例，請參閱[執行應用程式](app-preview.md#app-preview-run-app)。
+ 假設應用程式正在 AWS 雲端運算執行個體 （例如 Amazon EC2 執行個體） 上執行。接著，確認對應的執行個體其相關聯的所有安全群組皆允許透過應用程式所需的通訊協定、連接埠及 IP 地址傳入流量。如需相關指示，請參閱*透過網際網路共用執行中的應用程式*中的[步驟 2：為執行個體設定安全群組](app-preview-share.md#app-preview-share-security-group)。另亦請參閱 *Amazon VPC 使用者指南*中的 [VPC 的安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html)。
+ 假設應用程式正在 AWS 雲端運算執行個體上執行。此外，VPC 中與對應執行個體相關聯的子網路存在網路 ACL。接著，確認網路 ACL 允許透過應用程式所需的通訊協定、連接埠及 IP 地址傳入流量。如需相關指示，請參閱*透過網際網路共用執行中的應用程式*中的[步驟 3：為執行個體設定子網路](app-preview-share.md#app-preview-share-subnet)。亦請參閱 *Amazon VPC 使用者指南*中的[網路 ACL](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)。
+ 確認請求的 URL 正確無誤，包括通訊協定且可能必須指定連接埠。如需詳細資訊，請參閱*透過網際網路共用執行中的應用程式*中的[步驟 4：共用執行中應用程式的 URL](app-preview-share.md#app-preview-share-url)。
+ 我們不建議請求格式為 的 URL `https://12a34567b8cd9012345ef67abcd890e1.vfs.cloud9.us-east-2.amazonaws.com/`（其中 `12a34567b8cd9012345ef67abcd890e1` 是 AWS Cloud9 指派給環境的 ID，而 `us-east-2`是環境的 AWS 區域 ID)。此 URL 僅限於環境的 IDE 已開啟且應用程式由同一個 Web 瀏覽器執行時才有效。
+ 假設您正嘗試前往的 IP 地址包含 `127.0.0.1` 或 `localhost`。改為嘗試前往正確的執行中應用程式非本機地址。如需詳細資訊，請參閱[透過網際網路共用執行中的應用程式](app-preview-share.md)。
+ 假設應用程式正在 AWS 雲端運算執行個體上執行。查明執行個體的公有 IP 地址是否已變更。執行個體的公有 IP 地址可能因執行個體重新啟動而隨時變更。為避免此 IP 地址發生變更，您可以配置彈性 IP 地址，然後將該地址指派給運作中的執行個體。如需詳細資訊，請參閱*透過網際網路共用執行中的應用程式*中的[步驟 4：共用執行中應用程式的 URL](app-preview-share.md#app-preview-share-url)。
+ 若 Web 請求源自於 VPN，請確認該 VPN 允許透過應用程式所需的通訊協定、連接埠及 IP 地址傳送流量。若您無法對該 VPN 進行變更，請洽詢您的網路管理員。或者如果可行，從其他網路提出 Web 請求。
+ 假設應用程式在您自己伺服器的 SSH 環境中執行。確認您的伺服器和相關聯的網路允許透過應用程式所需的通訊協定、連接埠及 IP 地址傳送流量。若您無法對伺服器或相關聯的網路進行變更，請洽詢您的伺服器或網路管理員。
+ 執行 `curl` 命令，後面加上 URL，藉此嘗試從環境的終端機執行應用程式。如果此命令顯示錯誤訊息，可能還有其他與 無關的問題 AWS Cloud9。

### 執行 AWS Toolkit 時發生錯誤：「您的環境已用盡 inodes，請提高 'fs.inotify.max\$1user\$1watches' 限制。」
<a name="toolkit-iodes-"></a>

**問題：** AWS Toolkit 使用的檔案監看器公用程式接近其目前可監看的檔案限制或配額。

**Cause：** AWS Toolkit 使用檔案監看器公用程式來監控檔案和目錄的變更。當公用程式幾乎達到目前可監看的檔案數量配額時，會顯示警告訊息。

**建議解決方案：**若要增加檔案監看員可處理的最大檔案數量，請執行下列動作：

1. 在選單列上選擇 **Window** (視窗)、**New Terminal** (新增終端機)，啟動終端機工作階段。

1. 輸入以下命令。

   ```
   sudo bash -c 'echo "fs.inotify.max_user_watches=524288" >> /etc/sysctl.conf' && sudo sysctl -p
   ```

### Lambda 本機函數執行錯誤：無法安裝 SAM Local
<a name="troubleshooting-install-sam-local"></a>

 **問題：**在您嘗試在 IDE AWS Cloud9 中執行 AWS Lambda 函數的本機版本後，會顯示對話方塊。對話方塊指出安裝 SAM Local 時 AWS Cloud9 發生問題。 AWS Cloud9 需要 SAM Local 在 IDE 中執行本機版本的 AWS Lambda 函數。除非安裝 SAM Local，否則您無法在 IDE 中執行本機版本的 Lambda 函式。

**原因：** AWS Cloud9 在環境中的預期路徑找不到 SAM Local，也就是 `~/.c9/bin/sam`。這是因為 SAM Local 尚未安裝，或已安裝但 AWS Cloud9 未能在上述位置找到該元件。

 **建議的解決方案：**您可以等待 AWS Cloud9 嘗試完成安裝 SAM Local，也可以自行安裝。

若要查看 如何 AWS Cloud9 嘗試安裝 SAM Local，請在功能表列選擇 **Window， Installer**。

若要自行安裝 SAM Local，請遵循《 開發人員指南》中的[在 Linux 上安裝 AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install-linux.html) 中的指示。 *AWS Serverless Application Model *

### AWS Control Tower 嘗試使用下列方式建立 Amazon EC2 環境時發生錯誤 AWS Cloud9：「建立環境失敗並發生錯誤：下列 hook(s) 失敗：【ControlTower：：Guard：：Hook】。」
<a name="control-tower-rule"></a>

**問題：** AWS Cloud9 和 AWS Control Tower 主動控制 *CT.EC2.PR.8 *存在相容性問題。如果啟用此控制項，您就無法在其中建立 EC2 環境 AWS Cloud9。

**Cause：** AWS Control Tower 預期 *AssociatePublicIpAddress* 參數在 AWS CloudFormation 範本中。目前無法新增此參數。

**建議的解決方案：**從 AWS Control Tower 主控台停用 control*CT.EC2.PR.8*，並在其中重新建立環境 AWS Cloud9。

### 將預設加密套用至 Amazon EBS 磁碟區時，無法建立環境
<a name="troubleshooting-policy-cmk"></a>

**問題：**嘗試建立 Amazon EC2 環境時傳回 `Failed to create environments. The development environment '[environment-ID]' failed to create` 錯誤。

**可能原因：**如果您 AWS Cloud9 的 IDE 使用預設加密的 Amazon EBS 磁碟區，則 AWS Identity and Access Management AWS Cloud9 的服務連結角色需要存取 AWS KMS keys 這些 EBS 磁碟區的 。如果未提供存取權，IDE AWS Cloud9 可能無法啟動，而且可能難以偵錯問題。

**建議的解決方案**：若要提供存取權，請將 AWS Cloud9的服務連結角色新增至 Amazon EBS 磁碟區所使用的`AWSServiceRoleForAWSCloud9`客戶受管金鑰。

 如需此任務的詳細資訊，請參閱在規範性指引模式中[建立 AWS Cloud9 使用 Amazon EBS 磁碟區與預設加密的 ](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption.html)。 *AWS *

([回到頁首](#troubleshooting))

### AWS License Manager 授權組態與 Amazon EC2 執行個體相關聯時，無法 AWS Cloud9 從主控台啟動
<a name="license-config-deny"></a>

**問題：**當您嘗試從主控台啟動 an AWS Cloud9 EC2 環境時，`unable to access your environment`會傳回錯誤訊息。

**可能原因：** AWS License Manager 簡化跨 的軟體廠商授權管理 AWS 雲端。設定 License Manager 時，您可以建立授權組態，它們是以您的企業協議條款為根據的授權規則集。這些授權組態可以連接到機制，例如 Amazon Machine Image (AMI) 或 CloudFormation。您可以使用其中一種機制來啟動 EC2 執行個體。

AWSServiceRoleForAWSCloud9 服務連結角色 (SLR) 的舊版本 **AWSCloud9ServiceRolePolicy** 目前不包含 `license-configuration` 資源條件。因此， AWS Cloud9 不允許 啟動和停止其執行個體。因此， AWS Cloud9 拒絕存取其 Amazon EC2 執行個體，並傳回錯誤。

**建議解決方案**：如果您無法存取現有 AWS Cloud9 環境並使用 License Manager，請將舊的 **AWSCloud9ServiceRolePolicy** 服務連結角色取代為 [SLR 版本](using-service-linked-roles.md#service-linked-role-permissions)，當 `license-configuration`套用到執行個體時明確允許 EC2 動作。您可以透過直接刪除來取代舊角色。然後，更新過的角色會自動建立。

([回到頁首](#troubleshooting))

## 應用程式預覽
<a name="troubleshooting-preview-group"></a>

下節概述與應用程式預覽相關的疑難排解問題。

### 重新載入環境後，您必須重新整理應用程式預覽
<a name="troubleshooting-app-preview-refresh"></a>

 **問題：**在您重新載入顯示應用程式預覽標籤的環境後，該標籤並未顯示應用程式預覽。

 **原因：**有時使用者編寫的程式碼會執行無限迴圈。或者，其程式碼可以使用太多記憶體，讓 AWS Cloud9 IDE 可能會在應用程式預覽執行時暫停或停止。為了避免這種情況發生， AWS Cloud9 每當環境重新載入時，就不會重新載入應用程式預覽標籤。

 **解決方案：**在您重新載入顯示應用程式預覽標籤的環境後，從該標籤上選擇 **Click to load the page** (按一下以載入頁面) 按鈕，即可顯示應用程式預覽。

### 應用程式預覽或檔案預覽通知：「Third-party cookies disabled」(已停用第三方 Cookie)
<a name="troubleshooting-preview"></a>

**問題：** 當您嘗試預覽[應用程式](app-preview.md)或[檔案](file-preview.md)時，畫面會通知下列訊息：「Preview functionality is disabled because your browser has third-party cookies disabled.」(已停用預覽功能，因為您的瀏覽器已停用第三方 Cookie。)

**原因：**開啟 IDE AWS Cloud9 不需要第三方 Cookie。不過，您必須啟用第三方 Cookie，才能使用「應用程式預覽」或「檔案預覽」功能。

**解決方案：**在 Web 瀏覽器中啟用第三方 Cookie、重新載入您的 IDE，然後嘗試再次開啟預覽。
+ **Apple Safari**：Apple 支援網站上的[在 Safari 中管理 Cookie 和網站資料](https://support.apple.com/guide/safari/manage-cookies-and-website-data-sfri11471/mac)。
+ **Google Chrome**：Google Chrome 說明網站上，[在 Chrome 中清除、啟用與管理 Cookie](https://support.google.com/chrome/answer/95647) 中的**更改您的 Cookie 設定**。
+ **Internet Explorer**：Microsoft 支援網站上，[刪除與管理 Cookie](https://support.microsoft.com/en-us/help/17442) 中的**封鎖或允許 Cookie**。
+ **Microsoft Edge**：Microsoft 支援網站上的[封鎖第三方 Cookie](https://support.microsoft.com/en-us/help/4464209/issue-with-blocking-third-party-cookies)。
+ **Mozilla Firefox**：Mozilla 支援網站上，[啟用與停用網站追蹤您的偏好設定時使用的 Cookie](https://support.mozilla.org/kb/enable-and-disable-cookies-website-preferences) 中的**接受第三方 Cookie** 設定。
+ **其他 Web 瀏覽器**：請參閱 Web 瀏覽器的文件。

您的 Web 瀏覽器必須允許此資料粒度，您才能為 AWS Cloud9啟用第三方 Cookie。若要執行此操作，請根據您使用 AWS Cloud9的支援 AWS 區域 ，指定下列網域。


****  

|  **AWS 區域**  |  **網域**  | 
| --- | --- | 
|  美國東部 (維吉尼亞北部)  |   `*.vfs.cloud9.us-east-1.amazonaws.com`   `vfs.cloud9.us-east-1.amazonaws.com`   | 
| 美國東部 (俄亥俄) |   `*.vfs.cloud9.us-east-2.amazonaws.com`   `vfs.cloud9.us-east-2.amazonaws.com`   | 
| 美國西部 (加利佛尼亞北部) |   `*.vfs.cloud9.us-west-1.amazonaws.com`   `vfs.cloud9.us-west-1.amazonaws.com`   | 
| 美國西部 (奧勒岡) |   `*.vfs.cloud9.us-west-2.amazonaws.com`   `vfs.cloud9.us-west-2.amazonaws.com`   | 
| 非洲 (開普敦) |   `*.vfs.cloud9.af-south-1.amazonaws.com`   `vfs.cloud9.af-south-1.amazonaws.com`   | 
|  亞太區域 (香港)  |   `*.vfs.cloud9.ap-east-1.amazonaws.com`   `vfs.cloud9.ap-east-1.amazonaws.com`   | 
|  亞太區域 (孟買)  |   `*.vfs.cloud9.ap-south-1.amazonaws.com`   `vfs.cloud9.ap-south-1.amazonaws.com`   | 
|  亞太區域 (大阪)  |   `*.vfs.cloud9.ap-northeast-3.amazonaws.com`   `vfs.cloud9.ap-northeast-3.amazonaws.com`   | 
|  亞太區域 (首爾)  |   `*.vfs.cloud9.ap-northeast-2.amazonaws.com`   `vfs.cloud9.ap-northeast-2.amazonaws.com`   | 
|  亞太區域 (新加坡)  |   `*.vfs.cloud9.ap-southeast-1.amazonaws.com`   `vfs.cloud9.ap-southeast-1.amazonaws.com`   | 
|  亞太地區 (雪梨)  |   `*.vfs.cloud9.ap-southeast-2.amazonaws.com`   `vfs.cloud9.ap-southeast-2.amazonaws.com`   | 
|  亞太區域 (東京)  |   `*.vfs.cloud9.ap-northeast-1.amazonaws.com`   `vfs.cloud9.ap-northeast-1.amazonaws.com`   | 
|  加拿大 (中部)  |   `*.vfs.cloud9.ca-central-1.amazonaws.com`   `vfs.cloud9.ca-central-1.amazonaws.com`   | 
| 歐洲 (法蘭克福) |   `*.vfs.cloud9.eu-central-1.amazonaws.com`   `vfs.cloud9.eu-central-1.amazonaws.com`   | 
| 歐洲 (愛爾蘭) |   `*.vfs.cloud9.eu-west-1.amazonaws.com`   `vfs.cloud9.eu-west-1.amazonaws.com`   | 
|  歐洲 (倫敦)  |   `*.vfs.cloud9.eu-west-2.amazonaws.com`   `vfs.cloud9.eu-west-2.amazonaws.com`   | 
|  歐洲 (米蘭)  |   `*.vfs.cloud9.eu-south-1.amazonaws.com`   `vfs.cloud9.eu-south-1.amazonaws.com`   | 
|  歐洲 (巴黎)  |   `*.vfs.cloud9.eu-west-3.amazonaws.com`   `vfs.cloud9.eu-west-3.amazonaws.com`   | 
|  歐洲 (斯德哥爾摩)  |   `*.vfs.cloud9.eu-north-1.amazonaws.com`   `vfs.cloud9.eu-north-1.amazonaws.com`   | 
|  中東 (巴林)  |   `*.vfs.cloud9.me-south-1.amazonaws.com`   `vfs.cloud9.me-south-1.amazonaws.com`   | 
|  南美洲 (聖保羅)  |   `*.vfs.cloud9.sa-east-1.amazonaws.com`   `vfs.cloud9.sa-east-1.amazonaws.com`   | 

### 應用程式預覽標籤顯示錯誤或一片空白
<a name="troubleshooting-app-preview"></a>

 **問題：**當您從 IDE 的選單列選擇 **Preview、Preview Running Application** (預覽、預覽執行中的應用程式) 或 **Tools、Preview、Preview Running Application** (工具、預覽、預覽執行中的應用程式) 嘗試讓 IDE 的預覽標籤顯示您的應用程式時，該標籤顯示錯誤或一片空白。

 **可能原因：**
+ 您的應用程式未在 IDE 中執行。
+ 您的應用程式未使用 HTTP 執行。
+ 您的應用程式透過多個連接埠執行。
+ 您的應用程式透過 `8080`、`8081` 或 `8082` 以外的連接埠執行。
+ 您的應用程式使用 `127.0.0.1`、`localhost` 或 `0.0.0.0` 以外的 IP 執行。
+ 預覽標籤上的 URL 未指定連接埠 (`8080`、`8081` 或 `8082`)。
+ 您的網路封鎖了對連接埠 `8080`、`8081` 或 `8082` 的傳入流量。
+ 您正嘗試前往的 IP 地址包含 `127.0.0.1`、`localhost` 或 `0.0.0.0`。根據預設，IDE AWS Cloud9 會嘗試前往您的本機電腦。它不會嘗試移至連線至環境的執行個體或您自己的伺服器。

 **建議解決方案：**
+ 確認應用程式是在 IDE 中執行。
+ 確認應用程式是使用 HTTP 執行。如需 Node.js 和 Python 方面的範例，請參閱[執行應用程式](app-preview.md#app-preview-run-app)。
+ 確認應用程式只透過單一連接埠執行。如需 Node.js 和 Python 方面的範例，請參閱[執行應用程式](app-preview.md#app-preview-run-app)。
+ 確認應用程式是透過連接埠 `8080`、`8081` 或 `8082` 執行。如需 Node.js 和 Python 方面的範例，請參閱[執行應用程式](app-preview.md#app-preview-run-app)。
+ 確認應用程式是使用 IP `127.0.0.1`、`localhost` 或 `0.0.0.0` 執行。如需 Node.js 和 Python 方面的範例，請參閱[執行應用程式](app-preview.md#app-preview-run-app)。
+ 為預覽標籤上的 URL 添加 `:8080`、`:8081` 或 `:8082`。
+ 確認您的網路允許透過連接埠 `8080`、`8081` 或 `8082` 傳入流量。若您無法對網路進行變更，請洽詢您的網路管理員。
+ 如果您嘗試移至包含 IP `127.0.0.1`、`localhost` 或 `0.0.0.0` 的地址，請嘗試改為移至以下地址：`https://12a34567b8cd9012345ef67abcd890e1.vfs.cloud9.us-east-2.amazonaws.com/`。在這個地址中，`12a34567b8cd9012345ef67abcd890e1` 是 AWS Cloud9 指派給環境的 ID。`us-east-2` 是 AWS 區域 指派給環境的 ID。您也可以嘗試移到 IDE 之外的此地址。不過，這僅限於環境的 IDE 已開啟且應用程式由同一個 Web 瀏覽器執行時才有效。
+ 確認符合上述所有條件後，嘗試停止應用程式並將其重新啟動。
+ 如果您已停止應用程式並將其重新啟動，請再次嘗試從選單列選擇 **Preview、Preview Running Application** (預覽、預覽執行中的應用程式) 或 **Tools、Preview、Preview Running Application** (工具、預覽、預覽執行中的應用程式)。或者，若已能夠看到相應的應用程式預覽標籤，則由該標籤上選擇 **Refresh (重新整理)** 按鈕 (圓形箭頭)。

### 無法在 IDE 中預覽 Web 內容，因為與網站的連線不安全
<a name="troubleshooting-blocked-mixed-content"></a>

**問題：**當您嘗試存取 Web 內容時，例如託管在 AWS Cloud9 EC2 環境中的 WordPress 網站，IDE 預覽視窗無法顯示它。

**可能原因：**根據預設，您在 IDE 的應用程式預覽索引標籤中存取的所有網頁都會自動使用 HTTPS AWS Cloud9 通訊協定。如果頁面的 URI 具有不安全的 `http` 通訊協定，就會自動由 `https` 替代。而且您無法藉由手動將 `https` 改回 `http` 來存取不安全的內容。

**建議解決方案**：從您嘗試在 IDE 中預覽的網站中移除不安全的 HTTP 指令碼或內容。請按照 Web 伺服器或內容管理系統的指示，以取得實作 HTTPS 的指引。

### 預覽檔案時傳回 499 錯誤
<a name="troubleshooting-file-preview-script-block"></a>

**問題：**當您嘗試使用 AWS Cloud9 IDE 來預覽包含包含 `src` 屬性且 `type` 屬性設為 之`<script>`元素的檔案時`module`，會發生 499 錯誤，且指令碼未如預期般執行。

**原因：** AWS Cloud9 IDE 中的檔案預覽擷取請求需要 Web 瀏覽器傳送 Cookie 以進行驗證。根據預設，Web 瀏覽器會針對一般指令碼請求傳送 Cookie。它們不會針對模組指令碼請求傳送 Cookie，除非您新增 `crossorigin` 屬性。

 **解決方案：**將 `crossorigin` 屬性新增至 `<script>` 元素。例如 `<script type="module" src="index.js" crossorigin></script>`。然後，儲存已變更的檔案，並嘗試再次進行預覽。

## 效能
<a name="troubleshooting-performance-group"></a>

下節概述與效能相關的疑難排解問題。

### AWS Cloud9 IDE 凍結大量時間
<a name="cloud9-ide-terminal-freezing"></a>

 **問題：**啟動期間和執行重新整理時，IDE AWS Cloud9 終端機會凍結大量時間，並變得無法使用。

 **原因：**您的環境中可能有大量檔案，正由 的檔案監看模組進行遞迴監看 AWS Cloud9。

 **建議的解決方案：**您可以減少檔案監看深度 （最小值為 1)，並考慮將大型資料夾或與原始程式碼 （建置輸出/成品、第三方套件） 無關的資料夾新增至忽略的模式。若要執行此操作，請導覽至*偏好設定 > 使用者設定 > 檔案監看*。請注意，這會導致 AWS Toolkit 中的 CodeLenses 無法正常運作。

另一個可能的解決方法是透過減少*要搜尋的檔案數目上限，考慮忽略與原始碼無關的大型檔案*和資料夾。若要執行此操作，請導覽至*偏好設定 > 專案設定 > 在檔案中尋找*。請注意，這會導致忽略的資料夾不會顯示在檔案搜尋中。

### 主控台警告：「Switching to the minimal code completion engine...」(切換到最少程式碼完成引擎…)
<a name="troubleshooting-minimal-code-completion"></a>

**問題：**在 AWS Cloud9 主控台中工作時 （例如，開啟 IDE 或重新整理 IDE 的網頁時），您會看到此訊息：「一或多個工作階段或協作者在此環境中處於作用中狀態。切換到最少程式碼完成引擎以節省記憶體。」 與此訊息相互關聯的程式碼完成行為可能會變慢或斷斷續續。

**原因：**執行程式碼完成引擎會需要環境中的記憶體和 CPU 週期。此外，每個協作者和每個額外的工作階段都需要個別的程式碼完成引擎。為了避免使用太多資源，特別是在 t2.nano和 等小型執行個體大小上t2.micro， 會 AWS Cloud9 切換到最小程式碼完成引擎。

**建議解決方案**：如果您計畫經常或長時間進行協作，請在建立 EC2 環境時選擇較大的 Amazon EC2 執行個體。或者，您也可以將 SSH 環境連線到容量更大的執行個體。

**注意**  
選擇較大的 Amazon EC2 執行個體可能會導致您的 AWS 帳戶 產生額外費用。如需詳細資訊，請參閱 [Amazon EC2 定價](https://aws.amazon.com/ec2/pricing/)。

### IDE 警告：「This environment is running low on memory」(此環境的記憶體過低) 或「This environment has high CPU load」(此環境有高負載 CPU)
<a name="troubleshooting-ide-low-memory"></a>

 **問題：**執行 IDE 時，您會看到包含以下文字的訊息：「This environment is running low on memory」(此環境的記憶體過低) 或「This environment has high CPU load」(此環境有高負載 CPU)。

 **原因：**此 IDE 可能沒有足夠的運算資源，無法在不延遲或當機的情況下繼續執行。

 **建議解決方案：**
+ 停用一或多個執行程序以便釋放可用記憶體。若要停用，請在環境的 IDE 選單列中，選擇 **Tools, Process List** (工具、程序清單)​。針對您想要停用的每個程序，選擇程序後，在選取 **Force Kill (強制終止)**​。
+ 在環境中建立置換檔。*置換檔*為環境中的檔案，可供作業系統當做虛擬記憶體。

  若要確認環境目前是否正在使用交換記憶體，請在環境的終端機工作階段中執行 **`top`** 命令。如果正在使用置換記憶體，輸出顯示為非零的 `Swap` 記憶體統計資料 (例如：`Swap: 499996k total, 1280k used, 498716 free, 110672k cached`)。若要停止顯示即時記憶體資訊，請按 `Ctrl + C`。

  若要建立置換檔，請在環境中執行如下命令。

  ```
  sudo fallocate --length 512MB /var/swapfile && sudo chmod 600 /var/swapfile && sudo mkswap /var/swapfile && echo '/var/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab > /dev/null
  ```

  上述命令執行以下事項：

  1. 在 `/var` 目錄中，建立稱為 `swapfile` 的 512 MB 檔案。

  1. 變更 `swapfile` 檔的存取許可，僅限擁有者讀取或寫入。

  1. 將 `swapfile` 檔設定為置換檔。

  1. 將資訊寫入 `/etc/fstab file`。這使得每當系統重新啟動時都可以使用此置換檔。

  您執行上述命令後，若要立即讓置換檔可用，請執行下列命令。

  ```
  sudo swapon /var/swapfile
  ```
+ 使用多個運算資源將環境移動到 (或先調整環境的大小再移動) 執行個體或伺服器，。若要移動 Amazon EC2 執行個體或調整其大小，請參閱 [從 AWS Cloud9 Amazon EBS 磁碟區移動 IDE](move-environment.md)。其他執行個體或伺服器類型，請參閱您的執行個體或伺服器文件。

### 無法在 IDE AWS Cloud9 中上傳檔案
<a name="upload-speed-ide"></a>

 **問題：**使用者無法在 IDE AWS Cloud9 中上傳大型檔案。這些上傳失敗。

 **Cause：** AWS Cloud9 調節上傳至 IDE AWS Cloud9 的速度，因此檔案上傳請求會逾時。

 **建議的解決方案：**我們建議將檔案上傳至 Amazon S3，然後使用 Amazon S3 搭配 IDE AWS Cloud9 中的 CLI 將檔案下載至環境。如需將物件上傳至 Amazon S3 的詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[上傳物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)。

### IDE AWS Cloud9 中的下載速度緩慢
<a name="download-speed-ide"></a>

 **問題：**嘗試從 IDE AWS Cloud9 下載檔案時，使用者正在處理緩慢的下載速度。

 **原因：**當您將檔案從 IDE 下載到本機檔案系統時，傳輸速度將限制為 0.1 MB/秒的速度。

 **建議的解決方案：**若要提高檔案傳輸速度，請使用 IDE AWS Cloud9 中的 CLI 將檔案上傳至 Amazon S3，然後使用 Amazon S3 從該處下載檔案。

### 無法在 IDE 中預覽 Web 內容，因為與網站的連線不安全
<a name="troubleshooting-blocked-mixed-content"></a>

**問題：**當您嘗試存取託管在 AWS Cloud9 EC2 環境中的 WordPress 網站等 Web 內容時，IDE 預覽視窗無法顯示它。

**可能原因：**根據預設，您在 IDE 的應用程式預覽索引標籤中存取的所有網頁都會自動使用 HTTPS AWS Cloud9 通訊協定。如果頁面的 URI 具有不安全的 `http` 通訊協定，就會自動由 `https` 替代。而且您無法藉由手動將 `https` 改回 `http` 來存取不安全的內容。

**建議解決方案**：從您嘗試在 IDE 中預覽的網站中移除不安全的 HTTP 指令碼或內容。請按照 Web 伺服器或內容管理系統的指示，以取得實作 HTTPS 的指引。

([回到頁首](#troubleshooting))

## 第三方應用程式和服務
<a name="troubleshooting-third-party-group"></a>

下節概述與第三方應用程式和服務相關的疑難排解問題。

### 由於 AWS Cloud9 `tmux`工作階段錯誤，無法在 中與終端機視窗互動
<a name="tmux-terminal-error"></a>

**問題：**當您嘗試在 中啟動新的終端機視窗時 AWS Cloud9，無法使用預期的命令列界面。沒有命令提示字元，您無法輸入文字。系統會傳回諸如 `tmux: need UTF-8 locale (LC_CTYPE)` 或 `invalid LC_ALL, LC_CTYPE or LANG` 等錯誤訊息。

**可能原因：**沒有回應的終端機可能是由 tmux 錯誤造成。 AWS Cloud9 會使用 [tmux](https://en.wikipedia.org/wiki/Tmux) 公用程式。如此，顯示在終端機中的資訊，即使在頁面重新載入或您重新連線至開發環境時也會持續存在。

在 `tmux` 工作階段中，終端機視窗中顯示的內容會由用戶端處理。用戶端會與可管理多個工作階段的伺服器通訊。伺服器和用戶端會透過位於 `tmp` 資料夾中的通訊端進行通訊。如果 `tmp` 資料夾在開發環境中遺失，或者套用了過於嚴格的許可，`tmux` 工作階段就無法執行。如果發生這種情況，IDE 中的終端機視窗將不會有回應。

**建議的解決方案**：如果 `tmux` 錯誤使您無法與終端機視窗互動，請使用替代方式來建立具有適當許可的 `tmp` 資料夾。這樣，`tmux` 工作階段就能執行。其中一種解決方法是在 `.bash_profile` 或 `.bashrc` 檔案中匯出 `LC_CTYPE`。另一個建議的解決方案是使用 AWS Systems Manager 來設定主機管理組態。如此可以透過 Amazon EC2 主控台存取相關執行個體。

**設定主機管理**

1. 首先，在 AWS Cloud9 主控台中，尋找您環境執行個體的名稱。若要這麼做，請選擇 **Your environments** (您的環境) 中的相關面板，並選擇 **View details** (檢視詳細資訊)。在 **Environment details** (環境詳細資訊) 頁面中，選擇 **Go to Instance** (前往執行個體)。在 Amazon EC2 主控台中，確認您需要存取的執行個體名稱。

1. 現在前往 AWS Systems Manager 主控台，然後在導覽窗格中，選擇**快速設定**。

1. 在 **Quick Setup** (快速設定) 頁面中，選擇 **Create** (建立)。

1. 對於 **Configuration types** (組態類型)，前往 **Host Management** (主機管理)，然後選擇 **Create** (建立)。

1. 對於 **Customize Host Management configuration options** (自訂主機管理組態選項)，在 **Targets** (目標) 區段中，選擇 **Manual** (手動)。

1. 選取您要存取的 EC2 執行個體，然後選擇 **Create** (建立)。

**連線至執行個體並執行命令**

**注意**  
以下步驟適用於全新 EC2 主控台。

1. 在 Amazon EC2 主控台的導覽窗格中，選擇 **Instances** (執行個體)，然後選取您要連線的執行個體。

1. 選擇**連線**。

   如果 **Connect** (連線) 並未啟用，您可能需要先啟動該執行個體。

1. 在 **Connect to your instance** (連線至您的執行個體) 窗格中，對於 **Connection method** (連線方法)，選擇 **Session Manager** (工作階段管理員)，然後選擇 **Connect** (連線)。

1. 在出現的終端機工作階段視窗中，輸入下列指令。這些命令會建立具有適當許可的 `tmp` 資料夾，讓 tmux 通訊端可供使用。

   ```
   sudo mkdir /tmp
   sudo chmod 777 /tmp
   sudo rmdir /tmp/tmux-*
   ```

### 無法使用舊版 Microsoft Edge 瀏覽器載入 IDE
<a name="forbidden-edge-ide"></a>

**問題：**嘗試使用 Microsoft Edge Web 瀏覽器載入 AWS Cloud9 IDE 時傳回`HTTP403: FORBIDDEN`錯誤。

**可能原因：**IDE AWS Cloud9 不支援某些較舊版本的 Microsoft Edge。

**建議解決方案：**若要更新瀏覽器，請選擇 Microsoft Edge 工具列中的省略符號 (...) 按鈕。從功能表中，選擇 **Settings** (設定)，然後選擇 **About Microsoft Edge** (關於 Microsoft Edge)。如果需要更新，系統會自動下載並安裝更新。

### 除錯 C\$1\$1 專案時發生 `gdb` 錯誤
<a name="troubleshooting-debugger-cplusplus"></a>

**問題：**嘗試除錯 IDE 中的 C\$1\$1 專案時，回報 `gdb` 除錯器錯誤。

**可能原因：**假設您的 AWS Cloud9 環境使用特定 EC2 執行個體類型 （例如 `t3.small`或 `m5.large`)。然後，當您嘗試使用 IDE 的內建執行器來執行並除錯 C\$1\$1 專案時，可能會發生除錯錯誤。這個錯誤會發生，可能是因為預先安裝在環境中的 `gdb` (GNU 專案除錯器) 版本無法在某些處理器平台上運作。您可能會看到下列錯誤代碼。

```
GDB server terminated with code 1
```

**建議解決方案：**`gdb` 不支援某些處理器平台的問題從版本 *3.0* 起已經修正。請解除安裝舊版的除錯器並升級到較新版本的 `gdb`：

1. 在 AWS Cloud9 終端機中執行下列命令，移除現有版本的偵錯工具。

   ```
   sudo yum -y remove gdb
   ```

1. 擷取 `gdb` 的封存檔，加以解壓縮，然後執行下列命令，以便導覽到含有解壓縮檔案的目錄：

   ```
   wget "http://ftp.gnu.org/gnu/gdb/gdb-8.3.tar.gz"
   tar xzf gdb-8.3.tar.gz
   cd gdb-8.3
   ```

1. 執行下列命令來建置除錯器。若要這麼做，請將下列文字複製並貼上為單一區塊，然後按下 **Return** (傳回) 執行 `make`。

   ```
   ./configure --prefix=/usr \
               --with-system-readline \
               --with-python=/usr/bin/python3 &&
   make
   ```

1. 安裝除錯器。

   ```
   sudo make -C gdb install
   ```

1. 確認已安裝除錯器的更新版本。

   ```
    gdb --version
   ```

### 中的 PHP Runner 問題 AWS Cloud9
<a name="php-runner-troubleshooting"></a>

 **問題：**使用者無法檢視 PHP CLI 執行器終端機中的任何輸出。

 **原因：**CLI 執行器需要設定為 PHP，且需要啟用除錯器模式。

 **建議的解決方案：**將 CLI 執行器設定為 PHP，並確保已啟用除錯器模式。

### 與 Node.js 相關的 GLIBC 錯誤
<a name="node-glibc-errors"></a>

 **問題：**使用者無法執行 Node.js 並收到 GLIBC 錯誤。這些錯誤訊息的範例概述如下：

```
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
```

 **原因：**這可能是與正在使用的執行個體相關的 Node.js 版本問題。

 **建議的解決方案：**如需如何安裝 Node.js 的相關資訊，請參閱 [步驟 1：安裝必要工具](sample-nodejs.md#sample-nodejs-install) 一節 AWS Cloud9。