Infrastructure Composer を使用して最初のアプリケーションを構築する - AWS Infrastructure Composer

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

Infrastructure Composer を使用して最初のアプリケーションを構築する

このチュートリアルでは、 AWS Infrastructure Composer を使用して、データベース内のユーザーを管理する作成、読み取り、更新、削除 (CRUD) サーバーレスアプリケーションを構築します。

このチュートリアルでは、 で Infrastructure Composer を使用します AWS Management Console。Google Chrome または Microsoft Edge、および全画面表示のブラウザウィンドウを使用することをお勧めします。

サーバーレスを初めてご利用の場合:

次のトピックの基礎的な理解を備えておくことをお勧めします。

詳細についてはのサーバーレスの概念 AWS Infrastructure Composerを参照してください。

リソースプロパティリファレンス

アプリケーションの構築中に、この表を参照して Amazon API Gateway と AWS Lambda リソースのプロパティを設定します。

Method パス 関数名

GET

/ 項目

getItems

GET

/items/{id}

getItem

PUT

/items/{id}

UpdateItem(更新項目)

POST

/ 項目

addItem

DELETE

/items/{id}

deleteItem

ステップ 1: プロジェクトを作成する

CRUD サーバーレスアプリケーションの使用を開始するには、Infrastructure Composer で新しいプロジェクトを作成し、ローカル同期を有効にします。

新しい空のプロジェクトを作成するには
  1. Infrastructure Composer コンソールにサインインします。

  2. ホームページで、プロジェクトの作成を選択します。

次の図に示すように、Infrastructure Composer はビジュアルキャンバスを開き、開始 (空白) アプリケーションテンプレートをロードします。

空白のビジュアルキャンバスを持つ Infrastructure Composer。
ローカル同期をアクティブ化するには
  1. Infrastructure Composer メニューからSave > Activate local sync を選択します。

    Activate local sync が選択された Infrastructure Composer メニュー。
  2. プロジェクトの場所 で、フォルダの選択 を押し、ディレクトリを選択します。ここでは、Infrastructure Composer がテンプレートファイルとフォルダを設計どおりに保存および同期します。

    プロジェクトの場所には、既存のアプリケーションテンプレートを含めることはできません。

    注記

    ローカル同期には、ファイルシステムアクセス API をサポートするブラウザが必要です。詳細については、「Data Infrastructure Composer が にアクセス」を参照してください。

  3. アクセスを許可するように求められたら、ファイルの表示を選択します。

  4. Activate を押してローカル同期をオンにします。変更を保存するように求められたら、変更の保存を選択します。

    有効にすると、自動保存インジケータがキャンバスの左上に表示されます。

ステップ 2: キャンバスにカードを追加する

API Gateway REST API と 5 つの Lambda 関数から、拡張コンポーネントカードを使用してアプリケーションアーキテクチャの設計を開始します。

API Gateway と Lambda カードをキャンバスに追加するには

リソースパレットの拡張コンポーネントセクションで、次の操作を行います。

  1. API Gateway カードをキャンバスにドラッグします。

  2. Lambda 関数カードをキャンバスにドラッグします。キャンバスに 5 つの Lambda 関数カードを追加するまで繰り返します。

1 つの API Gateway と 5 つの Lambda 関数カードを含む Infrastructure Composer キャンバスビュー。

ステップ 3: API Gateway REST API を設定する

次に、API Gateway カード内に 5 つのルートを追加します。

API Gateway カードにルートを追加するには
  1. API Gateway カードのリソースプロパティパネルを開きます。パネルを開くには、カードをダブルクリックします。または、カードを選択し、詳細を選択します。

  2. リソースプロパティパネルの Routes で、次の操作を行います。

    注記

    次の各ルートで、リソースプロパティリファレンステーブルで指定された HTTP メソッドとパス値を使用します。

    1. Method で、指定された HTTP メソッドを選択します。例えば、GET などです。

    2. パス に、指定されたパスを入力します。例えば、/items

    3. [Add Rule] (ルートの追加) を選択します。

    4. 指定した 5 つのルートをすべて追加するまで、前の手順を繰り返します。

  3. [保存] を選択します。

API Gateway リソースと 5 つのルートを持つ Infrastructure Composer ビジュアルキャンバス。Resource properties パネルには、メソッド、パス、ルートの追加の選択が表示されます。

ステップ 4: Lambda 関数を設定する

リソースプロパティリファレンステーブルで指定された 5 つの Lambda 関数にそれぞれ名前を付けます。

Lambda 関数に名前を付けるには
  1. Lambda 関数カードのリソースプロパティパネルを開きます。パネルを開くには、カードをダブルクリックします。または、カードを選択し、詳細を選択します。

  2. リソースプロパティパネルの論理 ID に、指定された関数名を入力します。例えば、getItems

  3. [保存] を選択します。

  4. 5 つの関数すべてに名前を付けるまで、前のステップを繰り返します。

Lambda Function リソースカードという名前の 5 つの Infrastructure Composer ビジュアルキャンバス。

ステップ 5: カードを接続する

リソースプロパティリファレンステーブルで指定されているように、API Gateway カードの各ルートを関連する Lambda 関数カードに接続します。

カードを接続するには
  1. API Gateway カードの右ポートをクリックし、指定した Lambda 関数カードの左ポートにドラッグします。たとえば、GET /items ポートをクリックし、getItems の左ポートにドラッグします。

  2. API Gateway カードの 5 つのルートをすべて対応する Lambda 関数カードに接続するまで、前のステップを繰り返します。

5 つの Lambda 関数に接続された REST API を持つ Infrastructure Composer ビジュアルキャンバス。

ステップ 6: キャンバスを整理する

Lambda 関数をグループ化し、すべてのカードを配列して、ビジュアルキャンバスを整理します。

関数をグループ化するには
  1. Shift を押したまま、キャンバス上の各 Lambda 関数カードを選択します。

  2. [グループ] を選択します。

グループに名前を付けるには
  1. グループ名 (グループ) の近くにあるグループの上部をダブルクリックします。

    グループプロパティパネルが開きます。

  2. グループプロパティパネルで、グループ名に と入力しますAPI

  3. [保存] を選択します。

カードを配置するには

キャンバスのメインビューエリアの上にある「配置」を選択します。

Infrastructure Composer は、次に示すように、新しいグループ (API) を含むすべてのカードをビジュアルキャンバスに配置および整列します。

Infrastructure Composer ビジュアルキャンバスは、すべての Lambda 関数をグループ化して配置されます。

ステップ 7: DynamoDB テーブルを追加して接続する

次に、DynamoDB テーブルをアプリケーションアーキテクチャに追加し、Lambda 関数に接続します。

DynamoDB テーブルを追加して接続するには
  1. リソースパレット (リソース) から、拡張コンポーネントセクションで、DynamoDB テーブルカードをキャンバスにドラッグします。

  2. Lambda 関数カードの右ポートをクリックし、DynamoDB テーブルカードの左ポートにドラッグします。

  3. 5 つの Lambda 関数カードすべてを DynamoDB テーブルカードに接続するまで、前のステップを繰り返します。

  4. (オプション) キャンバス上のカードを再編成して再配置するには、「配置」を選択します。

グループ API に接続された DynamoDB テーブルを持つ Infrastructure Composer ビジュアルキャンバス。

ステップ 8: テンプレートを確認する AWS CloudFormation

お疲れ様でした。デプロイの準備ができたサーバーレスアプリケーションを正常に設計しました。最後に、テンプレートを選択して、Infrastructure Composer が自動的に生成した AWS CloudFormation テンプレートを確認します。

テンプレートでは、Infrastructure Composer は以下を定義しています。

  • Transform 宣言。テンプレートを (AWS SAM) テンプレートとして AWS Serverless Application Model 指定します。詳細については、「 AWS Serverless Application Model デベロッパーガイド」のAWS SAM 「テンプレートの構造」を参照してください。

  • API Gateway REST API を 5 つのルートで指定する AWS::Serverless::Apiリソース。

  • 環境変数やアクセス許可ポリシーなど、Lambda 関数の設定を指定する 5 つのAWS::Serverless::Functionリソース。

  • DynamoDB テーブルとそのプロパティを指定する AWS::DynamoDB::Tableリソース。

  • Metadata セクションには、リソースグループ (API) に関する情報が含まれています。このセクションの詳細については、「 AWS CloudFormation ユーザーガイド」の「メタデータ」を参照してください。

アプリケーションのテンプレートコードを示す Infrastructure Composer テンプレートビュー。

ステップ 9: 開発ワークフローに統合する

Infrastructure Composer が作成したテンプレートファイルとプロジェクトディレクトリを使用して、さらなるテストとデプロイを行います。

次の手順

これで、Infrastructure Composer を使用して独自のアプリケーションを構築する準備ができました。Infrastructure Composer の使用の詳細については、「」を参照してくださいで を構成する方法 AWS Infrastructure Composer。アプリケーションをデプロイする準備ができたら、「」を参照してくださいInfrastructure Composer サーバーレスアプリケーションを AWS クラウドにデプロイする