

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# VPC 内の Infrastructure Composer リソースおよび関連情報を特定する
<a name="using-composer-services-vpc-tag"></a>

Infrastructure Composer を Amazon VPC と統合するには、まず VPC 内のリソースと、統合を完了するために必要な情報を特定する必要があります。これには、セキュリティグループ、サブネット識別子、パラメータタイプ、SSM タイプ、静的値タイプに関連する設定情報も含まれます。

Infrastructure Composer は、VPC タグを使用して **VPC** 内のリソースを視覚化します。このタグはキャンバス上のカードに適用されます。以下は、VPC タグを持つ Lambda 関数の例です。

![\[VPC で設定された Infrastructure Composer で Lambda 関数を視覚化する VPC タグ。\]](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_use_vpc_01.png)


以下を実行すると、VPC タグがキャンバス上のカードに適用されます。
+ Infrastructure Composer で VPC を使用して Lambda 関数を設定します。
+ VPC で設定されたリソースを含むテンプレートをインポートします。

## セキュリティグループとサブネット識別子
<a name="using-composer-services-vpc-configure-ids"></a>

Lambda 関数は、複数のセキュリティグループとサブネットで設定できます。Lambda 関数のセキュリティグループまたはサブネットを設定するには、値とタイプを指定します。
+ **値** – セキュリティグループまたはサブネットの識別子。使用できる値は**タイプ**によって異なります。
+ **タイプ** – 次のタイプの値を使用できます。
  + パラメータ名
  + AWS Systems Manager (SSM) パラメータストア
  + 静的な値

## パラメータタイプ
<a name="using-composer-services-vpc-configure-parameter"></a>

 AWS CloudFormation テンプレートの `Parameters`セクションを使用して、複数のテンプレートにリソース情報を保存できます。パラメータの詳細については、 *AWS CloudFormation ユーザーガイド*の[「パラメータ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)」を参照してください。

**パラメータ**タイプには、パラメータ名を指定できます。次の例では、`PrivateSubnet1`パラメータ名の値を指定します。

![\[サブネット ID フィールドのパラメータタイプに提供される PrivateSubnet1 値。\]](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_use_vpc_07.png)


パラメータ名を指定すると、Infrastructure Composer はテンプレートの `Parameters`セクションでパラメータ名を定義します。次に、Infrastructure Composer は Lambda 関数リソースの パラメータを参照します。以下に例を示します。

```
...
Resources:
  Function:
    Type: AWS::Serverless::Function
    Properties:
      ...
      VpcConfig:
        SubnetIds:
          - !Ref PrivateSubnet1
Parameters:
  PrivateSubnet1:
    Type: AWS::EC2::Subnet::Id
    Description: Parameter is generated by Infrastructure Composer
```

## SSM タイプ
<a name="using-composer-services-vpc-configure-ssm"></a>

SSM パラメータストアは、設定データ管理とシークレット管理のための安全な階層型ストレージを提供します。詳細については「*AWS Systems Manager ユーザーガイド*」の「[AWS Systems Manager パラメータストア](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html)」を参照してください。

**SSM** タイプでは、次の値を指定できます。
+ SSM パラメータストアからの値への動的参照。
+ テンプレートで定義された `AWS::SSM::Parameter`リソースの論理 ID。

### 動的リファレンス
<a name="using-composer-services-vpc-configure-ssm-dynamic"></a>

次の形式の動的リファレンスを使用して、SSM パラメータストアから値を参照できます: `{{resolve:ssm:reference-key}}`。詳細については、「 *AWS CloudFormation ユーザーガイド*」の[「SSM パラメータ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-ssm)」を参照してください。

Infrastructure Composer は、SSM パラメータストアの値を使用して Lambda 関数を設定するインフラストラクチャコードを作成します。以下に例を示します。

```
...
Resources:
  Function:
    Type: AWS::Serverless::Function
    Properties:
      ...
      VpcConfig:
        SecurityGroupIds:
          - '{{resolve:ssm:demo-app/sg-0b61d5c742dc2c773}}'
  ...
```

### 論理 ID
<a name="using-composer-services-vpc-configure-ssm-logical"></a>

同じテンプレート内の `AWS::SSM::Parameter`リソースを論理 ID で参照できます。

以下は、 のサブネット ID `PrivateSubnet1Parameter`を保存する という名前の`AWS::SSM::Parameter`リソースの例です`PrivateSubnet1`。

```
...
Resources:
  PrivateSubnet1Parameter:
    Type: AWS::SSM::Parameter
    Properties:
      Name: /MyApp/VPC/SubnetIds
      Description: Subnet ID for PrivateSubnet1
      Type: String
      Value: subnet-04df123445678a036
```

以下は、Lambda 関数の論理 ID によって提供されるこのリソース値の例です。

![\[サブネット ID フィールドの SSM タイプに提供される PrivateSubnet1Parameter 値。\]](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_use_vpc_08.png)


Infrastructure Composer は、SSM パラメータを使用して Lambda 関数を設定するインフラストラクチャコードを作成します。

```
...
Resources:
  Function:
    Type: AWS::Serverless::Function
    Properties:
      ...
      VpcConfig:
        SubnetIds:
          - !Ref PrivateSubnet1Parameter
  ...
  PrivateSubnet1Parameter:
    Type: AWS::SSM::Parameter
    Properties:
      ...
```

## 静的値タイプ
<a name="using-composer-services-vpc-configure-static"></a>

セキュリティグループまたはサブネットがデプロイされると CloudFormation、ID 値が作成されます。この ID は静的な値として指定できます。

**静的値**タイプの場合、有効な値は次のとおりです。
+ セキュリティグループの場合は、 を指定します`GroupId`。詳細については、「 *AWS CloudFormation ユーザーガイド*[」の「戻り値](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#aws-properties-ec2-security-group-return-values)」を参照してください。以下に例を示します。`sg-0b61d5c742dc2c773`。
+ サブネットの場合は、 を指定します`SubnetId`。詳細については、「 *AWS CloudFormation ユーザーガイド*[」の「戻り値](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#aws-resource-ec2-subnet-return-values)」を参照してください。以下に例を示します。`subnet-01234567890abcdef`。

Infrastructure Composer は、静的な値で Lambda 関数を設定するインフラストラクチャコードを作成します。以下に例を示します。

```
...
Resources:
  Function:
    Type: AWS::Serverless::Function
    Properties:
      ...
      VpcConfig:
        SecurityGroupIds:
          - subnet-01234567890abcdef
        SubnetIds:
          - sg-0b61d5c742dc2c773
  ...
```

## 複数のタイプを使用する
<a name="using-composer-services-vpc-configure-multiple"></a>

セキュリティグループとサブネットでは、複数のタイプを一緒に使用できます。以下は、さまざまなタイプの値を指定して Lambda 関数に 3 つのセキュリティグループを設定する例です。

![\[Lambda 関数のセキュリティグループ ID フィールドの識別子を提供するために使用される 3 つの異なる値タイプ。\]](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_use_vpc_09.png)


Infrastructure Composer は、 `SecurityGroupIds`プロパティの 3 つの値すべてを参照します。

```
...
Resources:
  Function:
    Type: AWS::Serverless::Function
    Properties:
      ...
      VpcConfig:
        SecurityGroupIds:
          - !Ref MySecurityGroup
          - sg-0b61d5c742dc2c773
          - '{{resolve::ssm::demo/sg-0b61d5c742dc23}}'
      ...
Parameters:
  MySecurityGroup:
    Type: AWS::EC2::SecurityGroup::Id
    Description: Parameter is generated by Infrastructure Composer
```