

這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護，並於 2023 年 6 月 1 日結束支援。

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

# AWS CDK 的環境
<a name="environments"></a>

環境包含您部署 AWS 雲端開發套件 (AWS CDK) 堆疊的目標 AWS 帳戶和 AWS 區域。

 ** AWS account**   
建立 AWS 帳戶時，您會收到帳戶 ID。此 ID 是 12 位數的號碼，例如 **012345678901**，可唯一識別您的帳戶。若要進一步了解，請參閱《[AWS 帳戶管理參考指南》中的檢視帳戶識別符](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html)。 * AWS *

 ** AWS 區域**   
 AWS 區域是透過結合地理位置和代表區域中可用區域的數字來命名。例如， **us-east-1**代表美國東部 （維吉尼亞北部） 區域的可用區域。若要進一步了解 AWS 區域，請參閱 [區域和可用區域](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)。如需區域代碼清單，請參閱《 * AWS 一般參考*參考指南》中的[區域端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints)。

 AWS CDK 可以從您的登入資料和組態檔案判斷環境。您可以使用 AWS 命令列界面 (AWS CLI) 來建立和管理這些檔案。以下是這些檔案的基本範例：

 **憑證檔案**   

```
[default]
aws_access_key_id=ASIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

[user1]
aws_access_key_id=ASIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

 **組態檔案**   

```
[default]
region=us-west-2
output=json

[profile user1]
region=us-east-1
output=text
```

您可以透過 CDK 提供的環境變數，從 CDK 程式碼中的這些檔案傳遞環境資訊。當您執行 CDK CLI 命令，例如 `cdk deploy`時，您可以從您的登入資料和組態檔案提供設定檔，以從中收集環境資訊。

以下是在您的 CDK 程式碼中指定這些環境變數的範例：

```
new MyDevStack(app, 'dev', {
  env: {
    account: process.env.CDK_DEFAULT_ACCOUNT,
    region: process.env.CDK_DEFAULT_REGION
}});
```

以下是使用 `--profile`選項，將與`user1`設定檔相關聯的值從登入資料和組態檔案傳遞至 CDK CLI 的範例。來自這些檔案的值將傳遞到您的環境變數：

```
$ cdk deploy <myStack> --profile <user1>
```

您也可以在 CDK 程式碼中硬式編碼環境值，而不是使用登入資料和組態檔案中的值。以下是範例：

```
const envEU = { account: '238383838383', region: 'eu-west-1' };
const envUSA = { account: '837873873873', region: 'us-west-2' };

new MyFirstStack(app, 'first-stack-us', { env: envUSA });
new MyFirstStack(app, 'first-stack-eu', { env: envEU });
```

## 進一步了解
<a name="environments-learn"></a>

若要開始使用環境搭配 AWS CDK，請參閱[設定環境以搭配 AWS CDK 使用](configure-env.md)。