

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

# Infrastructure Composer のビジュアルキャンバスでカードを接続する
<a name="reference-navigation-gestures-connect"></a>

このトピックでは、Infrastructure Composer でカードを接続する方法について説明します。このセクションでは、拡張コンポーネントカードと標準コンポーネントカードの接続について詳しく説明します。また、カードを接続するさまざまな方法を示すいくつかの例も示します。

## 拡張コンポーネントカードの接続
<a name="reference-navigation-gestures-connect-enhanced"></a>

拡張コンポーネントカードでは、ポートは接続できる場所を視覚的に識別します。
+ カードの右側にあるポートは、カードが別のカードを呼び出す機会を示します。
+ カードの左側にあるポートは、別のカードによってカードが呼び出される機会を示します。

1 つのカードの右側のポートをクリックし、別のカードの左側のポートにドラッグして、カードを接続します。

![\[Lambda 関数に接続されている API Gateway カード。\]](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_use_con_02.png)


接続を作成すると、接続が正常に行われたかどうかを知らせるメッセージが表示されます。メッセージを選択すると、Infrastructure Composer が接続をプロビジョニングするために変更した内容が表示されます。接続が失敗した場合は、**テンプレートビュー**を選択して、インフラストラクチャコードを手動で更新して接続をプロビジョニングできます。
+ 成功したら、メッセージをクリックして**変更インスペクター**を表示します。ここでは、Infrastructure Composer が接続をプロビジョニングするために変更した内容を確認できます。
+ 失敗すると、メッセージが表示されます。**テンプレートビュー**を選択し、インフラストラクチャコードを手動で更新して接続をプロビジョニングできます。

![\[画面の下部から Change Inspector を起動します。\]](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_use_ci_02.gif)


拡張コンポーネントカードを接続すると、Infrastructure Composer はテンプレートにインフラストラクチャコードを自動的に作成して、リソース間のイベント駆動型の関係をプロビジョニングします。

## 標準コンポーネントカードの接続 (標準 IaC リソースカード)
<a name="reference-navigation-gestures-connect-standard"></a>

標準 IaC リソースカードには、他のリソースとの接続を作成するためのポートは含まれていません。[カードの設定](using-composer-standard-cards.md)中に、アプリケーションのテンプレートでイベント駆動型の関係を指定します。Infrastructure Composer はこれらの接続を自動的に検出し、カード間の点線で視覚化します。以下は、標準コンポーネントカードと拡張コンポーネントカード間の接続の例です。

![\[拡張コンポーネントカードに接続された標準コンポーネントカード。\]](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_use_con_04.png)


次の例は、Lambda 関数を Amazon API Gateway の rest API に接続する方法を示しています。

```
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  MyApi:
    Type: 'AWS::ApiGateway::RestApi'
    Properties:
      Name: MyApi

  ApiGatewayMethod:
    Type: 'AWS::ApiGateway::Method'
    Properties:
      HttpMethod: POST  # Specify the HTTP method you want to use (e.g., GET, POST, PUT, DELETE)
      ResourceId: !GetAtt MyApi.RootResourceId
      RestApiId: !Ref MyApi
      AuthorizationType: NONE
      Integration:
        Type: AWS_PROXY
        IntegrationHttpMethod: POST
        Uri: !Sub
          - arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunctionArn}/invocations
          - { LambdaFunctionArn: !GetAtt MyLambdaFunction.Arn }
      MethodResponses:
        - StatusCode: 200

  MyLambdaFunction:
    Type: 'AWS::Lambda::Function'
    Properties:
      Handler: index.handler
      Role: !GetAtt LambdaExecutionRole.Arn
      Runtime: nodejs14.x
      Code:
        S3Bucket: your-bucket-name
        S3Key: your-lambda-zip-file.zip

  LambdaExecutionRole:
    Type: 'AWS::IAM::Role'
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: lambda.amazonaws.com
            Action: 'sts:AssumeRole'
      Policies:
        - PolicyName: LambdaExecutionPolicy
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Effect: Allow
                Action:
                  - 'logs:CreateLogGroup'
                  - 'logs:CreateLogStream'
                  - 'logs:PutLogEvents'
                Resource: 'arn:aws:logs:*:*:*'
              - Effect: Allow
                Action:
                  - 'lambda:InvokeFunction'
                Resource: !GetAtt MyLambdaFunction.Arn
```

上記の例では、 の`ApiGatewayMethod:`下の にリストされているコードのスニペットは、2 つのカードを接続するイベント駆動型の関係`Integration:`を指定します。