

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

# 具有 Infrastructure Composer 之外部 VPC 的匯入範本中的參數
<a name="using-composer-services-vpc-import"></a>

當您使用為外部 VPC 的安全群組和子網路定義的參數匯入現有範本時， Infrastructure Composer 會提供下拉式清單來選取參數。

以下是匯入範本的 `Parameters`區段範例：

```
...
Parameters:
  VPCSecurityGroups:
    Description: Security group IDs generated by Infrastructure Composer
    Type: List<AWS::EC2::SecurityGroup::Id>
  VPCSubnets:
    Description: Subnet IDs generated by Infrastructure Composer
    Type: List<AWS::EC2::Subnet::Id>
  VPCSubnet:
    Description: Subnet Id generated by Infrastructure Composer
    Type: AWS::EC2::Subnet::Id
...
```

在畫布上為新的 Lambda 函數設定外部 VPC 時，這些參數可從下拉式清單中取得。以下是範例：

![\[Lambda 函數卡子網路 ID 欄位參數類型所提供的值下拉式清單。\]](http://docs.aws.amazon.com/zh_tw/infrastructure-composer/latest/dg/images/aac_use_vpc_10.png)


## 匯入清單參數類型的限制
<a name="using-composer-services-vpc-import-list"></a>

一般而言，您可以為每個 Lambda 函數指定多個安全群組和子網路識別符。如果您現有的範本包含清單參數類型，例如 `List<AWS::EC2::SecurityGroup::Id>`或 `List<AWS::EC2::Subnet::Id>`，您只能指定一個識別符。

如需參數清單類型的詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[支援 AWS的特定參數類型](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-specific-parameter-types)。

以下是將 `VPCSecurityGroups`定義為清單參數類型的範本範例：

```
...
Parameters:
  VPCSecurityGroups:
    Description: Security group IDs generated by Infrastructure Composer
    Type: List<AWS::EC2::SecurityGroup::Id>
...
```

在 Infrastructure Composer 中，如果您選取`VPCSecurityGroups`值做為 Lambda 函數的安全群組識別符，您將會看到下列訊息：

![\[針對 Lambda 函數卡之安全群組 ID 欄位的參數類型VPCSecurityGroups提供名為 的清單參數類型。\]](http://docs.aws.amazon.com/zh_tw/infrastructure-composer/latest/dg/images/aac_use_vpc_11.png)


發生此限制是因為`AWS::Lambda::Function VpcConfig`物件的 `SecurityGroupIds`和 `SubnetIds` 屬性都只接受字串值的清單。由於單一清單參數類型包含字串清單，因此它可以是指定時提供的唯一物件。

對於清單參數類型，以下是使用 Lambda 函數設定時如何在範本中定義參數的範例：

```
...
Parameters:
  VPCSecurityGroups:
    Description: Security group IDs generated by Infrastructure Composer
    Type: List<AWS::EC2::SecurityGroup::Id>
  VPCSubnets:
    Description: Subnet IDs generated by Infrastructure Composer
    Type: List<AWS::EC2::Subnet::Id>
Resources:
  ...
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      ...
      VpcConfig:
        SecurityGroupIds: !Ref VPCSecurityGroups
        SubnetIds: !Ref VPCSubnets
```