GatewayのHTTPプロキシのバックエンドとする構成について確認したメモになります。Gateway固有の設定をSwaggerドキュメントに追加する必要があります。Gatewayにインポートする流れで解説していきます。Gatewayに統合するにはどんな感じか概要をつかむことです。Beanstalkを選択します。それを踏まえ、簡単に図にすると以下のようになります。ここでは、ネットワーク、IAMおよびセキュリティグループについては省略していますが、実運用ではこの辺りをきちんと設計する必要があります。Beanstalkにデプロイし、データベースはRDSを参照するように環境を構築していきます。Beanstalkにデプロイする準備をします。アプリケーションのデプロイ」にあります。Beanstalkにデプロイ」にまとめていますので参照ください。Beanstalkに、デプロイ先のアプリケーションと環境を作成しておきます。Laravelプロジェクトのルートディレクトリで以下のコマンドを実行し、Gitリポジトリを初期化します。commit"次に、Beanstalkの設定をします。prefixで指定した値に..elasticbeanstalk.comを足した値が、Swaggerのアノテーションで指定するAPIのエンドポイントになります。RDSにデータベースを追加MySQLのデータベースを作成します。この手順は省略します。Beanstalkの環境変数のセットは、画面または設定ファイルが利用可能です。ここでは、設定ファイルを利用します。5プロジェクトを動作させるにあたって、最小限必要となる環境変数をセットする設定ファイル.ebextensions/environmentvariables.configを以下のように作成します。次に、デプロイ時にマイグレーションが実行されるように.ebextensions/laravelmigrate.configを以下のように作成します。設定する必要があります。これも、設定ファイルが利用できます。/public環境設定は以上です。環境設定をデプロイコミットを作成して、デプロイします。GatewayにSwaggerドキュメントをそのままインポートしても、バックエンドとの連携について別途設定が必要になっています。拡張」をアノテーションに追加します。Swagger-PHPで、拡張オブジェクトを記述するには、以下のようにx=を利用して指定します。}}Swaggerドキュメントを生成し直します。Gatewayにインポートします。IMPORTERを参照ください。~/.awsディレクトリに、regionとcredentialsの設定があれば、aws-apigateway-importerはそれを読み込む。(RegionとCredentialsについては、コマンド実行オプションでも指定可能)aws-apigateway-importerのインストールaws-apigateway-importerはJavaのツールなのでクローン後Mavenでビルドします。Mavenはhomebrewなどでインストールしておきます。Gitクローンして、mvnコマンドでビルドします。------------------------------------------------------------------------aws-api-import.shを--helpオプションを指定して実行して以下の様に表示されれば、利用可能な状態です。以下のコマンドを実行して、生成したSwaggerドキュメントをインポートします。コンソールで確認すると以下のようにリソースが追加されています。モデルは以下のように追加されます。ステージングにデプロイAPIをステージングにデプロイするには--deployオプションを指定します。importerでデプロイのみはできないので、--updateと併せて利用します。path/to/swagger.jsonAPIのURLに含まれるバージョンが、/v1/api/と言うのは微妙ですが、ひとまず以下のようにデプロイされました。Gatewayの連携方法が確認できたと思います。この後の検討事項としては以下のようなものが考えられます。Gatewayのステージを使うのが良い?なかなか長い道のりそうですね。生成する補足basePath問題マネジメントコンソールからもSwaggerファイルをインポートできますが、basePathがなくなります。