StackCareersEventRECRUITAWS環境でのmicronautサーバレスアプリケーションのデプロイ2022年12月15日こんにちは、ココネでビリングシステムエンジニアを担当しているKです。Lambdaに二つの方法でデプロイし、サーバレスAPIを実際に動かすまでの流れについて書きたいと思います。Lambdaに二つの方法でデプロイします。Lambdaにjava11ランタイムでデプロイする。Lambdaにカスタムランタイムでデプロイする。Lambdaにアップロードし動作させることのメリットは、起動時間を短縮し、メモリ消費量を削減できることです。メモリの使用が制限されている環境や、起動時間が重要な場合に有用です。Model)を用います。SAMはサーバーレスアプリケーションを構築するために使用できるオープンソースのフレームワークです。関数、イベントソース、およびその他のリソースの組み合わせであることに注意してください。Gradle)」を元にしています。JetBrainsのプラグインを導入します。JetBrainsを使うことで、AWSサーバーレスアプリケーションの開発効率を上げることができます。Micronautアプリケーションの作成micronautプロジェクトの作成を開始します。image作成のための依存関係を追加し、ビルドツールにgradleを、言語にjavaを選択しています。IDEAでcoconeBlogディレクトリを開き中身を確認します。アプリケーションの開発に適しています。GatewayのURLとを紐づけることで、サーバレスアプリケーションとして動作させることができます。SAMテンプレート構文(template.yaml)を用いて、上記ソースをAWSにデプロイします。CodeUriにはbuild.gradleのあるmicronautguideディレクトリを指定します。Handlerにはio.micronaut.function.aws.proxy.MicronautLambdaHandlerというMicronautアプリケーション固有のHandlerを指定します。Runtimeにはjava11を指定します。GatewayのPathには(/)を、Methodにはpostメソッドを指定します。JetBrainsを使います。template.yamlを右クリックし、AWSにデプロイします。micronaut-lambda-applicationという名前でStackを作りAWSにデプロイしました。マネジメントコンソールで確認します。Gateway想定通りにAWSにSAMでデプロイ出来ていることを確認しました。動作することを確認します。ToolkitのOutputsなどから確認することができます。World","isbn":"bfef99fb-e8af-414c-a6cd-54e86aedd319"}%想定通りのレスポンスが返ってきました。micronautアプリケーションをAWSにデプロイし、サーバレスAPIを動かすことができました。Lambdaにデプロイします。image作成用のコンパイラーは既にmicronautアプリケーションに含まれています。imageの作成にはDockerが必要です。Desktopの初期設定だとメモリ不足になります。Preferences-Resourcesでメモリを8GB以上にしておく必要があります。)build.gradleがあるmicronautguideディレクトリに移動し、ネイティブコンパイルします。(5~15分程度かかります。Lambdaにデプロイし、サーバレスAPIを動作させます。template.yamlの必要な部分を修正します。CodeUriで直接micronautguide-0.1-lambda.zipを指定します。カスタムランタイムを指定します。provided.al2...AWSへのデプロイ1と同様にtemplate.yamlを右クリックし、AWSにデプロイします。micronaut-lambda-application-nativeという名前で新たにStackを作りAWSにデプロイしました。マネジメントコンソールで確認します。Lambda想定通りにAWSにSAMでデプロイ出来ていることを確認しました。動作することを確認します。World","isbn":"7cd66125-e879-4ec9-aec9-a126aaf29a38"}%想定通りのレスポンスが返ってきました。imageをAWSにデプロイし、サーバレスAPIを動かすことができました。3程度まで縮小することができました。imageを用いたものの方が、かなり速くなっていることを確認できます。終わりに今回、「AWS環境でのmicronautサーバレスアプリケーションのデプロイ」という内容で、二つの方法でデプロイし、サーバレスAPIを実際に動かすまでについて書かせていただきました。Bootに近い設計ができる」ことと、「起動時間を速くし、メモリ消費量を抑える」という2点に重きを置きmicronautを使うことにしました。同じような立場の人の導入の手引きになればと思い、この記事を書かせていただきました。SAMなどの情報は日々更新されていくので、この記事通りにやっても上手くいかないことや、この記事に記載した内容よりもより良い方法もあるかもしれませんので、その点はご了承ください。役に立ったと思っていただけたなら幸いです。最後まで読んでいただきありがとうございました。ココネでは一緒に働く仲間を募集中です。ご興味のある方は、ぜひこちらの採用特設サイトをご覧ください。Lambdacocone一緒に働くエンジニアを募集していますココネのエンジニア採用はこちら感性をカタチに。株式会社コメントを読み込み中...コメントをどうぞメール名前サイト%d人のブロガーが「いいね」をつけました。