AWS App Runner で JetBrains 用 AWS ツールキットを操作する - AWS Toolkit for JetBrains

AWS App Runner で JetBrains 用 AWS ツールキットを操作する

AWS App Runner を使用すると、AWS Cloud で、ソースコードまたはコンテナイメージから、スケーラブルでセキュアなウェブアプリケーションに迅速でシンプルな、費用対効果の高い方法で直接デプロイできます。新しいテクノロジーを学習したり、使用するコンピューティングサービスを決定したり、AWS リソースのプロビジョニングと構成方法を知ったりする必要はありません。

AWS App Runner を使用すると、ソースイメージまたはソースコードに基づいて、サービスを作成して管理できます。ソースイメージを使用する場合は、イメージリポジトリに保存されているパブリックまたはプライベートコンテナイメージを選択できます。App Runner は以下のイメージリポジトリプロバイダーをサポートしています。

  • Amazon Elastic Container Registry (Amazon ECR):AWS アカウントにプライベートイメージを保存します。

  • Amazon Elastic Container Registry Public (Amazon ECR Public): パブリックに読み取り可能なイメージを保存します。

ソースコードオプションを選択した場合、サポートされているリポジトリプロバイダーによって管理されているソースコードリポジトリからデプロイできます。現在、App Runner はソースコードリポジトリ プロバイダーとして GitHub をサポートしています。

前提条件

本セクションでは、ユーザーはすでに AWS アカウントと、AWS App Runner を備えた最新バージョンの AWS Toolkit for JetBrains を取得していることを前提とします。これらのコア要件に加えて、関連するすべての IAM ユーザーが App Runner サービスを操作するアクセス許可を持っている必要があります。また、コンテナイメージの URI や GitHub リポジトリへの接続など、サービスソースに関する特定の情報を取得する必要があります。この情報は、App Runner サービスを作成するときに必要です。

App Runner に必要なアクセス許可を最も簡単に付与する方法には、既存の AWS マネージドポリシーを関連する IAM エンティティ (具体的にはユーザーまたはグループ) にアタッチします。App Runner には、IAM ユーザーにアタッチできる 2 つのマネージドポリシーが用意されています。

  • AWSAppRunnerFullAccess: ユーザーがすべての App Runner アクションを実行できるようにします。

  • AWSAppRunnerReadOnlyAccess: App Runner リソースの詳細をリストおよび表示できます。

また、サービスソースとして Amazon Elastic Container Registry (Amazon ECR) からプライベートリポジトリを選択した場合は、App Runner サービス用に次のアクセスロールを作成する必要があります。

  • AWSAppRunnerServicePolicyForECRAccess: アプリランナーは、アカウント内の Amazon Elastic Container Registry (Amazon ECR) イメージにアクセスできるようにします。

[App Runner サービスの作成] ダイアログボックスを使用してこの IAM ロールを作成できます。

注記

AWSServiceRoleForAppRunner サービスリンクロールを使用すると、AWS App Runner は以下のタスクを実行できます。

  • Amazon CloudWatch Logs Logs ロググループにログをプッシュします。

  • Amazon CloudWatch Events ルールを作成して、Amazon Elastic Container Registry (Amazon ECR) イメージプッシュを購読します。

サービスにリンクされたロールを手動で作成する必要はありません。AWS App Runnerで AWS Management Console を作成するとき、または AWS Toolkit for JetBrains から呼び出す API オペレーションを使用すると、サービスにリンクされたロールが AWS App Runner によって作成されます。

詳細については、「AWS App Runner デベロッパーガイド」の「App Runner の Identity and Access Management」を参照してください。

AWS App Runner を使用すると、ソースイメージまたはソースコードからサービスをデプロイできます。

Source image

ソースイメージからデプロイする場合は、プライベートまたはパブリックの AWS イメージレジストリからそのイメージのリポジトリへのリンクを取得できます。

  • Amazon ECR プライベートレジストリ: Amazon ECR コンソール (https://console.aws.amazon.com/ecr/repositories) を使用するプライベートリポジトリの URI をコピーします。

  • Amazon ECR パブリックレジストリ: Amazon ECR Public Gallery (https://gallery.ecr.aws/) を使用するパブリックリポジトリの URI をコピーします。

ソースの詳細を [App Runner サービスの作成] ダイアログボックスに入力する際、イメージリポジトリの URI を指定します。

詳細については、AWS App Runner デベロッパーガイドの「ソースイメージに基づいた App Runner サービス」を参照してください。

Source code

AWS App Runner サービスにソースコードをデプロイする場合は、サポートされているリポジトリプロバイダーが管理する Git リポジトリにソースコードが保存されている必要があります。App Runner でソースコードリポジトリプロバイダーとしてサポートされているのは、GitHub です。

GitHub リポジトリの設定については、GitHub の入門ガイドドキュメントを参照してください。

GitHub リポジトリから App Runner サービスにソースコードをデプロイする場合、App Runner は GitHub への接続を確立します。リポジトリがプライベートである (つまり GitHub でパブリックにアクセスできない) 場合は、App Runner に接続の詳細情報を指定する必要があります。

重要

GitHub 接続を作成するには、App Runner コンソール (https://console.aws.amazon.com/apprunner) を使用して、GitHub から AWS へリンクする接続を作成する必要があります。ソースコードリポジトリの詳細を指定するには、[App Runner サービスの作成] ダイアログボックスを使用する際に [GitHub 接続] ページに記載されている接続方法を選択します。

詳細については、AWS App Runner デベロッパーガイドの「App Runner 接続の管理」を参照してください。

App Runner サービスインスタンスは、コードのビルドと実行を可能にするマネージドランタイムを提供します。AWS App Runner では現在、以下のランタイムをサポートしています。

  • Python マネージドランタイム

  • Node.js マネージランタイム

AWS Toolkit for JetBrains の [App Runner サービスの作成] ダイアログボックスを使用することにより、App Runner サービスがどのようにサービスを構築し開始するかを指定します。インターフェイスに情報を直接入力するか、YAML 形式の App Runner 構成ファイルを指定することができます。このファイルの値は、App Runner にサービスを構築して開始し、ランタイムコンテキストを提供する方法を指示します。これには、関連するネットワーク設定と環境変数が含まれます。 設定ファイルの名前は apprunner.yaml です。設定ファイルは、アプリケーションのリポジトリのルートディレクトリに自動的に追加されます。

料金

アプリケーションが使用するコンピューティングリソースとメモリリソースに対して課金されます。また、デプロイを自動化する場合は、1 か月間のすべての自動デプロイを提供する各アプリケーションに対して設定された月額料金も支払います。ソースコードからデプロイする場合は、App Runner がソースコードからコンテナをビルドするのにかかる時間に対して、ビルド料金を追加で支払います。

詳細については、「AWS App Runner の料金」を参照してください。