

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

# Infrastructure Composer を使用して最初のアプリケーションを構築する
<a name="getting-started-build"></a>

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

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

**サーバーレスを初めてご利用の場合:**  
次のトピックの基礎的な理解を備えておくことをお勧めします。  
[イベント駆動型アーキテクチャ](what-is-concepts.md#what-is-concepts-terms-eda)
[Infrastructure as Code (IaC)](what-is-concepts.md#what-is-concepts-terms-iac)
[サーバーレステクノロジー](what-is-concepts.md#what-is-concepts-terms-serverless)
詳細については[のサーバーレスの概念 AWS Infrastructure Composer](what-is-concepts.md)を参照してください。

**Topics**
+ [リソースプロパティリファレンス](#getting-started-build-reference)
+ [ステップ 1: プロジェクトを作成する](#getting-started-build-start)
+ [ステップ 2: キャンバスにカードを追加する](#getting-started-build-rest-cards)
+ [ステップ 3: API Gateway REST API を設定する](#getting-started-build-rest)
+ [ステップ 4: Lambda 関数を設定する](#getting-started-build-functions)
+ [ステップ 5: カードを接続する](#getting-started-build-connect)
+ [ステップ 6: キャンバスを整理する](#getting-started-build-organize)
+ [ステップ 7: DynamoDB テーブルを追加して接続する](#getting-started-build-table)
+ [ステップ 8: AWS CloudFormation テンプレートを確認する](#getting-started-build-template)
+ [ステップ 9: 開発ワークフローに統合する](#getting-started-build-integrate)
+ [次の手順](#getting-started-build-next)

## リソースプロパティリファレンス
<a name="getting-started-build-reference"></a>

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


| Method | パス | 関数名 | 
| --- | --- | --- | 
| GET | / 項目 | getItems | 
| GET | /items/{id} | getItem | 
| PUT | /items/{id} | UpdateItem（更新項目） | 
| POST | / 項目 | addItem | 
| DELETE | /items/{id} | deleteItem | 

## ステップ 1: プロジェクトを作成する
<a name="getting-started-build-start"></a>

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

**新しい空のプロジェクトを作成するには**

1. [Infrastructure Composer コンソール](https://console.aws.amazon.com/composer/home)にサインインします。

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

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

![空白のビジュアルキャンバスを持つ Infrastructure Composer。](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_t2_01.png)


**ローカル同期をアクティブ化するには**

1. Infrastructure Composer **メニューから**、**Save** > **Activate local sync** を選択します。  
![Activate local sync が選択された Infrastructure Composer メニュー。](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_t2_09.png)

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

   プロジェクトの場所には、既存のアプリケーションテンプレートを含めることはできません。
**注記**  
**ローカル同期**には、ファイルシステムアクセス API をサポートするブラウザが必要です。詳細については、「[Data Infrastructure Composer が にアクセス](reference-fsa.md#reference-fsa-access)」を参照してください。

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

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

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

## ステップ 2: キャンバスにカードを追加する
<a name="getting-started-build-rest-cards"></a>

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

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

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

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

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

![1 つの API Gateway と 5 つの Lambda 関数カードを含む Infrastructure Composer キャンバスビュー。](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_t2_02.png)


## ステップ 3: API Gateway REST API を設定する
<a name="getting-started-build-rest"></a>

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

**API Gateway カードにルートを追加するには**

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

1. **リソースプロパティ**パネルの **Routes** で、次の操作を行います。
**注記**  
次の各ルートで、[リソースプロパティリファレンステーブル](#getting-started-build-reference)で指定された HTTP メソッドとパス値を使用します。

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

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

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

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

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

![API Gateway リソースと 5 つのルートを持つ Infrastructure Composer ビジュアルキャンバス。Resource properties パネルには、メソッド、パス、ルートの追加の選択が表示されます。](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_t2_03.png)


## ステップ 4: Lambda 関数を設定する
<a name="getting-started-build-functions"></a>

[リソースプロパティリファレンステーブル](#getting-started-build-reference)で指定された 5 つの Lambda 関数にそれぞれ名前を付けます。

**Lambda 関数に名前を付けるには**

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

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

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

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

![Lambda Function リソースカードという名前の 5 つの Infrastructure Composer ビジュアルキャンバス。](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_t2_04.png)


## ステップ 5: カードを接続する
<a name="getting-started-build-connect"></a>

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

**カードを接続するには**

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

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

![5 つの Lambda 関数に接続された REST API を持つ Infrastructure Composer ビジュアルキャンバス。](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_t2_05.png)


## ステップ 6: キャンバスを整理する
<a name="getting-started-build-organize"></a>

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

**関数をグループ化するには**

1. **Shift** を押したまま、キャンバス上の各 **Lambda 関数**カードを選択します。

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

**グループに名前を付けるには**

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

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

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

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

**カードを配置するには**

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

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

![Infrastructure Composer ビジュアルキャンバスは、すべての Lambda 関数をグループ化して配置されます。](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_t2_06.png)


## ステップ 7: DynamoDB テーブルを追加して接続する
<a name="getting-started-build-table"></a>

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

**DynamoDB テーブルを追加して接続するには**

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

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

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

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

![グループ API に接続された DynamoDB テーブルを持つ Infrastructure Composer ビジュアルキャンバス。](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_t2_07.png)


## ステップ 8: AWS CloudFormation テンプレートを確認する
<a name="getting-started-build-template"></a>

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

テンプレートでは、Infrastructure Composer は以下を定義しています。
+ `Transform` 宣言。テンプレートを (AWS SAM) テンプレートとして AWS Serverless Application Model 指定します。詳細については、「 *AWS Serverless Application Model デベロッパーガイド*」の[AWS SAM 「テンプレートの構造](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy.html)」を参照してください。
+ API Gateway REST API を 5 つのルートで指定する `AWS::Serverless::Api`リソース。
+ 環境変数やアクセス許可ポリシーなど、Lambda 関数の設定を指定する 5 つの`AWS::Serverless::Function`リソース。
+ DynamoDB テーブルとそのプロパティを指定する `AWS::DynamoDB::Table`リソース。
+ `Metadata` セクションには、リソースグループ (**API**) に関する情報が含まれています。このセクションの詳細については、「 *AWS CloudFormation ユーザーガイド*」の[「メタデータ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)」を参照してください。

![アプリケーションのテンプレートコードを示す Infrastructure Composer テンプレートビュー。](http://docs.aws.amazon.com/ja_jp/infrastructure-composer/latest/dg/images/aac_t2_08.png)


## ステップ 9: 開発ワークフローに統合する
<a name="getting-started-build-integrate"></a>

Infrastructure Composer が作成したテンプレートファイルとプロジェクトディレクトリを使用して、さらなるテストとデプロイを行います。
+ **ローカル同期**を使用すると、Infrastructure Composer をローカルマシンの IDE に接続して開発を高速化できます。詳細については[Infrastructure Composer コンソールをローカル IDE に接続する](other-services-ide.md)を参照してください。
+ **ローカル同期**では、ローカルマシンの AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) を使用してアプリケーションをテストおよびデプロイできます。詳細については[Infrastructure Composer サーバーレスアプリケーションを AWS クラウドにデプロイする](other-services-cfn.md)を参照してください。

## 次の手順
<a name="getting-started-build-next"></a>

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