

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

# アプリケーションをデプロイする方法
<a name="serverlessrepo-how-to-consume"></a>

このセクションでは、 AWS マネジメントコンソール または AWS Serverless Application Repository を使用して からサーバーレスアプリケーションをデプロイする手順について説明します AWS CLI。

## 新しいアプリケーションのデプロイ (コンソール)
<a name="consuming-applications-console"></a>

このセクションでは、 AWS Serverless Application Repository を使用して から新しいアプリケーションをデプロイする方法について説明します AWS マネジメントコンソール。既存のアプリケーションの新しいバージョンをデプロイする手順については、「[アプリケーションの更新](serverlessrepo-how-to-consume-new-version.md)」を参照してください。

### アプリケーションの参照、検索、およびデプロイ
<a name="browse-and-search-applications"></a>

次の手順を使用して、 でアプリケーションを検索、設定 AWS Serverless Application Repository 、デプロイします。

**でアプリケーションを検索して設定するには AWS Serverless Application Repository**

1. [AWS Serverless Application Repository のパブリックホームページ](https://aws.amazon.com/serverless/serverlessrepo) を開くか、[AWS Lambda コンソール](https://console.aws.amazon.com/lambda/)を開きます。[**Create function (関数の作成)**] を選択し、[**Browse serverless app repository (サーバーレスアプリケーションリポジトリを参照)**] を選択します。

1. アプリケーションを参照または検索します。
**注記**  
カスタム IAM ロールまたはリソースポリシーが含まれているアプリケーションを表示するには、[**Show apps that create custom IAM roles or resource policies (カスタム IAM ロールまたはリソースポリシーを作成するアプリを表示)**] チェックボックスをオンにします。カスタム IAM ロールとリソースポリシーの詳細については、「[Acknowledging Application Capabilities (アプリケーション承認機能)](acknowledging-application-capabilities.md)」を参照してください。

1. アプリケーションを選択すると、そのアクセス許可、機能、 AWS 顧客によってデプロイされた回数などの詳細が表示されます。

   アプリケーションのデプロイ先の AWS リージョンのデプロイ数が表示されます。

1. アプリケーションの詳細ページで、 AWS SAM テンプレート、ライセンス、および readme ファイルを表示して、アプリケーションのアクセス許可とアプリケーションリソースを表示します。このページで、公開共有されているアプリケーションの [**Source code URL (ソースコード URL)**] リンクを見つけることもできます。アプリケーションにネストされたアプリケーションが含まれている場合、このページでネストされたアプリケーションの詳細を表示することもできます。

1. [**Application settings (アプリケーションの設定)**] セクションでアプリケーションを設定します。特定のアプリケーションを設定する際のガイダンスについては、アプリケーションの readme ファイルを参照してください。

   たとえば、設定要件には、アプリケーションにアクセスさせるリソースの名前の指定が含まれる場合があります。Amazon DynamoDB テーブル、Amazon S3 バケット、または Amazon API Gateway API などのリソースです。

1. **[デプロイ]** をクリックします。これにより、[**Deployment status**] (デプロイのステータス) ページに移動します。
**注記**  
アプリケーションに承認を必要とする機能がある場合は、アプリケーションをデプロイする前に [**I acknowledge this application creates custom IAM roles or resource polices (このアプリケーションがカスタム IAM ロールまたはリソースポリシーを作成することを承認します)**] チェックボックスをオンにします。そうしないと、エラーが発生します。カスタム IAM ロールとリソースポリシーの詳細については、「[Acknowledging Application Capabilities (アプリケーション承認機能)](acknowledging-application-capabilities.md)」を参照してください。

1. [**Deployment status (デプロイのステータス)**] ページで、デプロイの進捗状況を表示できます。デプロイが完了するのを待っている間に、他のアプリケーションを検索して参照し、Lambda コンソールからこのページに戻ることができます。

アプリケーションが正常にデプロイされたら、既存の AWS ツールを使用して作成されたリソースを確認および管理できます。

## 新しいアプリケーションのデプロイ (AWS CLI)
<a name="consuming-applications-cli"></a>

このセクションでは、 AWS Serverless Application Repository を使用して から新しいアプリケーションをデプロイする方法について説明します AWS CLI。既存のアプリケーションの新しいバージョンをデプロイする手順については、「[アプリケーションの更新](serverlessrepo-how-to-consume-new-version.md)」を参照してください。

### アプリケーション機能の検索と承認 (AWS CLI)
<a name="acknowledging-application-capabilities-api"></a>

を使用してアプリケーションの機能を確認するには AWS CLI、次の手順に従います。

1. **アプリケーションの機能を確認します。 **次の AWS CLI コマンドを使用して、アプリケーションの機能を確認します。

   ```
   aws serverlessrepo get-application \
   --application-id {{application-arn}}
   ```

   [requiredCapabilities](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/applications-applicationid.html#applications-applicationid-prop-version-requiredcapabilities) レスポンスプロパティには、アプリケーションをデプロイする前に、承認する必要があるアプリケーション機能が一覧表示されます。 AWS SDKs で [GetApplication API](https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetApplication) を使用して、このデータを取得することもできます。

1. **変更セットを作成します。 ** CloudFormation 変更セットを作成するときは、必要な[機能の](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/applications-applicationid-changesets.html#applications-applicationid-changesets-createcloudformationchangesetinput-capabilities)セットを指定する必要があります。たとえば、次の AWS CLI コマンドを使用して、その機能を確認してアプリケーションをデプロイします。

   ```
   aws serverlessrepo create-cloud-formation-change-set \
   --application-id {{application-arn}} \
   --stack-name {{unique-name-for-cloud-formation-stack}} \
   --capabilities {{list-of-capabilities}}
   ```

   このコマンドが正常に実行されると、変更セット ID が返されます。この変更セット ID は次のステップで必要になります。 AWS SDKs で [CreateCloudFormationChangeSet API](https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateCloudFormationChangeSet) を使用して変更セットを作成することもできます。

   たとえば、次の AWS CLI コマンドは、カスタム名と 1 つ以上のネストされたアプリケーションを持つ [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) リソースを含むアプリケーションを承認します。

   ```
   aws serverlessrepo create-cloud-formation-change-set \
   --application-id {{application-arn}} \
   --stack-name {{unique-name-for-cloud-formation-stack}} \
   --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
   ```

1. **変更セットを実行します。 **変更セットを実行すると、デプロイが実際に行われます。前のステップで変更セットを作成したときに返された変更セット ID を指定します。

   次の AWS CLI コマンド例では、アプリケーション変更セットを実行してアプリケーションをデプロイします。

   ```
   aws cloudformation execute-change-set \
   --change-set-name {{changeset-id-arn}}
   ```

    AWS SDKs で [ExecuteChangeSet API](https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet) を使用して、変更セットを実行することもできます。

## アプリケーションスタックの削除
<a name="delete-application-stack"></a>

を使用して以前にデプロイしたアプリケーションを削除するには AWS Serverless Application Repository、 CloudFormation スタックの削除と同じ手順に従います。
+ **AWS マネジメントコンソール**: を使用してアプリケーションを削除するには AWS マネジメントコンソール、「 ユーザーガイド[」の「 CloudFormation コンソールでのスタックの削除](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html)」を参照してください。 *AWS CloudFormation *
+ **AWS CLI**: AWS CLIを使用してアプリケーションを削除する場合は、*AWS CloudFormation ユーザーガイド*の[スタックの削除](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-cli-deleting-stack.html)を参照してください。