AWS Serverless Application Repository
開発者ガイド

アプリケーションの公開

他のユーザーがお客様のサーバーレスアプリケーションを検索してデプロイする方法を、以下で確認できます。AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用して、サーバーレスアプリケーションを公開できます。

アプリケーションを公開するには、最初にアプリケーションコードをアップロードします。AWS サーバーレスアプリケーションモデル (AWS SAM) テンプレートとして知られる、単純なマニフェストファイルもアップロードします。 AWS SAM の使用の詳細については、「AWS サーバーレスアプリケーションモデル (AWS SAM) の使用」を参照してください。

注記

お客様が公開するサーバーレスアプリケーションを他の AWS リージョンの開発者が利用できるようにするには、米国東部(バージニア北部) (us-east-1) または 米国東部 (オハイオ) (us-east-2) にアプリケーションを公開します。その他の AWS リージョンにアプリケーションを公開すると、可用性はその AWS リージョンに制限されます。AWS Serverless Application Repository のリージョンおよびエンドポイントの詳細については、『AWS General Reference』の「リージョンとエンドポイント」を参照してください。

重要

アプリケーションを発行するときに入力した情報は暗号化されません。この情報には、作成者名、場所、および連絡先情報といったデータが含まれます。保存したり公開したくない個人を特定できる情報がある場合は、アプリケーションを公開する際にこの情報を入力しないことをお勧めします。

前提条件

AWS Serverless Application Repository にアプリケーションを公開する前に、以下のものが必要です。

  • 有効な AWS アカウント。

  • 使用される AWS リソースを定義する有効な AWS サーバーレスアプリケーションモデル (AWS SAM) テンプレート。AWS SAM テンプレートの詳細については、「AWS SAM テンプレートの基礎」を参照してください。

  • AWS CLI の AWS CloudFormation package コマンドを使用して作成したアプリケーション用のパッケージ。このコマンドは、お客様の AWS SAM テンプレートが参照するローカルアーティファクト (ローカルパス) をパッケージ化します。詳細については、AWS CloudFormation ドキュメントの「パッケージ」を参照してください。

  • アプリケーションをパブリックに公開する場合に、アプリケーションのソースコードを指す URL。

  • readme.txt ファイル。このファイルには、顧客がお客様のアプリケーションを使用する方法、および自分の AWS アカウントでアプリケーションをデプロイする前に設定を行う方法を記載します。

  • license.txt ファイル。

  • アプリケーションをパッケージ化した際に、Amazon S3 にアップロードされたアーティファクトの読み取りのアクセス許可をサービスに与える有効な Amazon S3 バケットポリシー。そのためには、以下の手順を実行します。

    1. https://console.aws.amazon.com/s3/ にある Amazon S3 コンソールを開きます。

    2. アプリケーションをパッケージ化するときに使用した Amazon S3 バケットを選択します。

    3. [Permissions] タブを選択します。

    4. [バケットポリシー] ボタンを選択します。

    5. 下のポリシーステートメントの例を貼り付け、[リソースプロパティ] 値をバケット名に置き換えます。

    6. [保存] ボタンを選択します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "serverlessrepo.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::<your-bucket-name>/*" } ] }

AWS マネジメントコンソール からのアプリケーションの公開

以下のように、AWS マネジメントコンソール からアプリケーションの作成および公開ができます。

コンソールからの新しいアプリケーションの作成

AWS Serverless Application Repository でアプリケーションを新規作成するには、次の手順を使用します。

AWS Serverless Application Repository で新しいアプリケーションを作成するには

  1. AWS Serverless Application Repository コンソールを開き、[Publish applications (アプリケーションの公開)] を選択します。

  2. [Publish an application (アプリケーションの公開)] ページで、提示されたアプリケーションの情報を以下のボックスに入力します。

    • アプリケーション名

    • 筆者

    • 説明

    • [Search labels (space delimited)] (検索ラベル、スペース区切り)

    • [SPDX license] (SPDX ライセンス)

    • [Readme.txt file] (Readme.txt ファイル)

    • [Semantic version] (セマンティックバージョン)

    • [Source code URL] (ソースコード URL) (公開共有のアプリケーションのみ必須)

    • [AWS SAM template file (AWS SAM テンプレートファイル)]

  3. [Publish application] (アプリケーションの公開) を選択します。

コンソールからのアプリケーションの共有

以下の手順を使用して、アプリケーションを一般公開します。

アプリケーションを一般公開するには

  1. AWS Serverless Application Repository コンソールを開きます。

  2. ナビゲーションペインで、[My Applications (マイアプリケーション)] を選択して、作成したアプリケーションの一覧を表示します。

  3. 共有するアプリケーションを選択します。

  4. [Application Details] (アプリケーションの詳細) セクションで、[Visibility] (可視性) スライダーを [Application is public] (アプリケーションはパブリックです) に移動します。

コンソールからの既存アプリケーションの新しいバージョンの発行

次の手順を使用して、既に作成したアプリケーションの新しいバージョンを発行します。

アプリケーションの新しいバージョンを発行するには

  1. AWS Serverless Application Repository コンソールを開きます。

  2. ナビゲーションペインで、[My Applications (マイアプリケーション)] を選択して、作成したアプリケーションの一覧を表示します。

  3. 新しいバージョンを発行するアプリケーションを選択します。

  4. [Publish new version] (新しいバージョンを発行) を選択します。

  5. [AWS SAM template file (AWS SAM テンプレートファイル)] に、このバージョンの新しい AWS SAM テンプレートファイルの名前を入力します。

  6. [Publish] を選択します。

AWS CLI からのアプリケーションの公開

以下のように、AWS CLI からアプリケーションの作成および公開ができます。

AWS CLI からの新しいアプリケーションの作成

AWS CLI を使用して新しいアプリケーションを作成するには、前述の AWS マネジメントコンソール からの公開に必須の項目と同じものを収集する必要があります。次に、aws serverlessrepo create-application 関数を使用して、これらの各項目をパラメータとして渡します。

この関数に渡されるパラメータの詳細については、AWS CLI で aws serverlessrepo create-application help を入力します。

AWS CLI からのアプリケーションの共有

AWS CLI を使用してアプリケーションを一般公開するには、aws serverlessrepo put-application-policy 関数を使用して、アプリケーション ID およびポリシーステートメントをパラメータとして渡します。

この関数に渡されるパラメータの詳細については、AWS CLI で aws serverlessrepo put-application-policy help を入力します。

AWS CLI からの既存アプリケーションの新しいバージョンの発行

AWS CLI を使用して、新しいバージョンのアプリケーションを作成するには、aws serverlessrepo create-application-version 関数を使用します。アプリケーション ID、セマンティックバージョン、新しい SAM テンプレート、およびソースコード URL をパラメータとして渡します。

この関数に渡されるパラメータの詳細については、AWS CLI で aws serverlessrepo create-application-version help を入力します。

AWS マネジメントコンソール からのアプリケーションの削除

AWS マネジメントコンソール から公開されたアプリケーションを削除するには、次の操作を行います。

  1. AWS Serverless Application Repository コンソールを開きます。

  2. [My Applications (マイアプリケーション)] に、削除するアプリケーションを選択します。

  3. アプリケーションの詳細ページで、[Delete application (アプリケーションの削除)] を選択します。

    メッセージが表示されます。

  4. [Delete application (アプリケーションの削除)] を選択して、削除を完了します。

AWS CLI からのアプリケーションの削除

AWS CLI を使用して公開されたアプリケーションを削除するには、aws serverlessrepo delete-application コマンドを実行します。このコマンドで、削除するアプリケーションのアプリケーション ID を指定します。

次のコマンドで、アプリケーションを削除します。ここで、<value> はアプリケーション ID です。

PROMPT> aws serverlessrepo delete-application --application-id <value>