

終止支援通知：2026 年 10 月 7 日 AWS 將終止 的支援 AWS Proton。2026 年 10 月 7 日之後，您將無法再存取 AWS Proton 主控台或 AWS Proton 資源。您部署的基礎設施將保持不變。如需詳細資訊，請參閱[AWS Proton 服務棄用和遷移指南](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html)。

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

# 開始使用 AWS CLI
<a name="ag-getting-started-cli"></a>

若要開始使用 AWS Proton AWS CLI，請遵循本教學課程。本教學課程示範以 為基礎的公有負載平衡 AWS Proton 服務 AWS Fargate。本教學課程也會佈建 CI/CD 管道，以部署具有顯示影像的靜態網站。

開始之前，請確定您已正確設定。如需詳細資訊，請參閱[先決條件](getting-started-prerequisites.md)。

## 步驟 1：註冊環境範本
<a name="ag-getting-started-cli.env-templ"></a>

在此步驟中，身為管理員，您會註冊範例環境範本，其中包含 Amazon Elastic Container Service (Amazon ECS) 叢集和具有兩個公有/私有子網路的 Amazon Virtual Private Cloud (Amazon VPC)。

**註冊環境範本**

1. 將[AWS Proton 範例 CloudFormation 範本](https://github.com/aws-samples/aws-proton-cloudformation-sample-templates/)儲存庫撥入 GitHub 帳戶或組織。此儲存庫包含我們在本教學課程中使用的環境和服務範本。

   然後，向 註冊您的分叉儲存庫 AWS Proton。如需詳細資訊，請參閱[建立儲存庫的連結](ag-create-repo.md)。

1. 建立環境範本。

   環境範本資源會追蹤環境範本版本。

   ```
   $ aws proton create-environment-template \
     --name "fargate-env" \
     --display-name "Public VPC Fargate" \
     --description "VPC with public access and ECS cluster"
   ```

1. 建立範本同步組態。

   AWS Proton 設定儲存庫與環境範本之間的同步關係。然後，它會建立`DRAFT`處於 狀態的範本版本 1.0。

   ```
   $ aws proton create-template-sync-config \
     --template-name "fargate-env" \
     --template-type "ENVIRONMENT" \
     --repository-name "your-forked-repo" \
     --repository-provider "GITHUB" \
     --branch "your-branch" \
     --subdirectory "environment-templates/fargate-env"
   ```

1. 等待環境範本版本成功註冊。

   當此命令傳回 的結束狀態時`0`，版本註冊即完成。這在指令碼中非常有用，以確保您可以在下一個步驟中成功執行命令。

   ```
   $ aws proton wait environment-template-version-registered \
     --template-name "fargate-env" \
     --major-version "1" \
     --minor-version "0"
   ```

1. 發佈環境範本版本，使其可用於建立環境。

   ```
   $ aws proton update-environment-template-version \
     --template-name "fargate-env" \
     --major-version "1" \
     --minor-version "0" \
     --status "PUBLISHED"
   ```

## 步驟 2：註冊服務範本
<a name="ag-getting-started-cli.srv-templ"></a>

在此步驟中，身為管理員，您會註冊範例服務範本，其中包含在負載平衡器和 使用的 CI/CD 管道後方佈建 Amazon ECS Fargate 服務所需的所有資源 AWS CodePipeline。

**註冊服務範本**

1. 建立服務範本。

   服務範本資源會追蹤服務範本版本。

   ```
   $ aws proton create-service-template \
     --name "load-balanced-fargate-svc" \
     --display-name "Load balanced Fargate service" \
     --description "Fargate service with an application load balancer"
   ```

1. 建立範本同步組態。

   AWS Proton 會在您的儲存庫和服務範本之間設定同步關係。然後，它會建立`DRAFT`處於 狀態的範本版本 1.0。

   ```
   $ aws proton create-template-sync-config \
     --template-name "load-balanced-fargate-svc" \
     --template-type "SERVICE" \
     --repository-name "your-forked-repo" \
     --repository-provider "GITHUB" \
     --branch "your-branch" \
     --subdirectory "service-templates/load-balanced-fargate-svc"
   ```

1. 等待服務範本版本成功註冊。

   當此命令傳回 的結束狀態時`0`，版本註冊即完成。這在指令碼中非常有用，以確保您可以在下一個步驟中成功執行命令。

   ```
   $ aws proton wait service-template-version-registered \
     --template-name "load-balanced-fargate-svc" \
     --major-version "1" \
     --minor-version "0"
   ```

1. 發佈服務範本版本，使其可用於建立服務。

   ```
   $ aws proton update-service-template-version \
     --template-name "load-balanced-fargate-svc" \
     --major-version "1" \
     --minor-version "0" \
     --status "PUBLISHED"
   ```

## 步驟 3：部署環境
<a name="ag-getting-started-cli.env-deploy"></a>

在此步驟中，身為管理員，您可以從 AWS Proton 環境範本執行個體化環境。

**部署環境**

1. 取得您所註冊環境範本的範例規格檔案。

   您可以從`environment-templates/fargate-env/spec/spec.yaml`範本範例儲存庫下載 檔案。或者，您可以在本機擷取整個儲存庫，並從 `environment-templates/fargate-env`目錄執行 **create-environment**命令。

1. 建立環境。

   AWS Proton 會從您的環境規格讀取輸入值、將它們與您的環境範本合併，並使用 AWS Proton 服務角色在您的 AWS 帳戶中佈建環境資源。

   ```
   $ aws proton create-environment \
     --name "fargate-env-prod" \
     --template-name "fargate-env" \
     --template-major-version 1 \
     --proton-service-role-arn "arn:aws:iam::123456789012:role/AWS ProtonServiceRole" \
     --spec "file://spec/spec.yaml"
   ```

1. 等待環境成功部署。

   ```
   $ aws proton wait environment-deployed --name "fargate-env-prod"
   ```

## 步驟 4：部署服務 【應用程式開發人員】
<a name="ag-getting-started-cli.srv-deploy"></a>

在先前的步驟中，管理員已註冊並發佈服務範本，並部署環境。身為應用程式開發人員，您現在可以建立 AWS Proton 服務並將其部署到 AWS Proton 環境中

**部署服務**

1. 取得管理員註冊之服務範本的範例規格檔案。

   您可以從`service-templates/load-balanced-fargate-svc/spec/spec.yaml`範本範例儲存庫下載 檔案。或者，您可以在本機擷取整個儲存庫，並從 `service-templates/load-balanced-fargate-svc`目錄執行 **create-service**命令。

1. 將 [AWS Proton Sample Services](https://github.com/aws-samples/aws-proton-sample-services/) 儲存庫撥入 GitHub 帳戶或組織。此儲存庫包含我們在本教學課程中使用的應用程式原始碼。

1. 建立服務。

   AWS Proton 會從服務規格讀取輸入值、將它們與您的服務範本合併，並在規格中指定的環境中佈建您 AWS 帳戶中的服務資源。 AWS CodePipeline 管道會從您在 命令中指定的儲存庫部署您的應用程式程式碼。

   ```
   $ aws proton create-service \
     --name "static-website" \
     --repository-connection-arn \
       "arn:aws:codestar-connections:us-east-1:123456789012:connection/your-codestar-connection-id" \
     --repository-id "your-GitHub-account/aws-proton-sample-services" \
     --branch-name "main" \
     --template-major-version 1 \
     --template-name "load-balanced-fargate-svc" \
     --spec "file://spec/spec.yaml"
   ```

1. 等待服務成功部署。

   ```
   $ aws proton wait service-created --name "static-website"
   ```

1. 擷取輸出並檢視您的新網站。

   執行以下命令：

   ```
   $ aws proton list-service-instance-outputs \
     --service-name "static-website" \
     --service-instance-name load-balanced-fargate-svc-prod
   ```

   命令的輸出應類似於以下內容：

   ```
   {
       "outputs": [
           {
               "key": "ServiceURL",
               "valueString": "http://your-service-endpoint.us-east-1.elb.amazonaws.com"
           }
       ]
   }
   ```

   `ServiceURL` 執行個體輸出的值是新服務網站的端點。使用您的瀏覽器導覽至瀏覽器。您應該會在靜態頁面上看到下圖：  
![\[Web 瀏覽器顯示從入門 CLI 程序產生的靜態映像網站\]](http://docs.aws.amazon.com/zh_tw/proton/latest/userguide/images/getting-started-static-site.png)

## 步驟 5：清除 （選用）
<a name="ag-getting-started-cli.cleanup"></a>

在此步驟中，當您完成探索您在本教學課程中建立 AWS 的資源，並為了節省與這些資源相關的成本時，您會將其刪除。

**刪除教學課程資源**

1. 若要刪除服務，請執行下列命令：

   ```
   $ aws proton delete-service --name "static-website"
   ```

1. 若要刪除環境，請執行下列命令：

   ```
   $ aws proton delete-environment --name "fargate-env-prod"
   ```

1. 若要刪除服務範本，請執行下列命令：

   ```
   $ aws proton delete-template-sync-config \
     --template-name "load-balanced-fargate-svc" \
     --template-type "SERVICE"
   $ aws proton delete-service-template --name "load-balanced-fargate-svc"
   ```

1. 若要刪除環境範本，請執行下列命令：

   ```
   $ aws proton delete-template-sync-config \
     --template-name "fargate-env" \
     --template-type "ENVIRONMENT"
   $ aws proton delete-environment-template --name "fargate-env"
   ```