App Runner の開始方法 - AWS App Runner

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

App Runner の開始方法

AWS App Runner は、既存のコンテナイメージまたはソースコードを で実行中のウェブ AWS サービスに直接変換するための、高速、シンプル、かつ費用対効果の高い方法を提供する サービスです AWS クラウド。

このチュートリアルでは、 AWS App Runner を使用してアプリケーションを App Runner サービスにデプロイする方法について説明します。ここでは、ソースコードとデプロイ、サービスビルド、サービスランタイムの設定について説明します。また、コードバージョンのデプロイ、設定変更、ログの表示の方法も示します。最後に、チュートリアルの手順に従って作成したリソースをクリーンアップする方法を示します。

前提条件

チュートリアルを開始する前に、必ず次のアクションを実行してください。

  1. のセットアップ手順を完了しますApp Runner のセットアップ

  2. GitHub リポジトリと Bitbucket リポジトリのどちらを使用するかを決定します。

    • Bitbucket を使用するには、Bitbucket アカウントをまだ作成していない場合は、まず作成します。Bitbucket を初めて使用する場合は、Bitbucket クラウドドキュメントの「Bitbucket の開始方法」を参照してください。

    • を使用するには GitHub、アカウントをまだ作成していない場合は、GitHubアカウントを作成します。を初めて使用する場合は GitHub、Docs の GitHub「 の開始方法GitHub」を参照してください。

      注記

      アカウントから複数のリポジトリプロバイダーへの接続を作成できます。したがって、 と Bitbucket リポジトリの両方 GitHubからのデプロイを順を追って確認したい場合は、この手順を繰り返すことができます。次回は、新しい App Runner サービスを作成し、他のリポジトリプロバイダー用の新しいアカウント接続を作成します。

  3. リポジトリプロバイダーアカウントにリポジトリを作成します。このチュートリアルでは、リポジトリ名 を使用しますpython-hello。次の例で指定された名前とコンテンツを使用して、リポジトリのルートディレクトリにファイルを作成します。

例 requirements.txt
pyramid==2.0
例 server.py
from wsgiref.simple_server import make_server from pyramid.config import Configurator from pyramid.response import Response import os def hello_world(request): name = os.environ.get('NAME') if name == None or len(name) == 0: name = "world" message = "Hello, " + name + "!\n" return Response(message) if __name__ == '__main__': port = int(os.environ.get("PORT")) with Configurator() as config: config.add_route('hello', '/') config.add_view(hello_world, route_name='hello') app = config.make_wsgi_app() server = make_server('0.0.0.0', port, app) server.serve_forever()

ステップ 1: App Runner サービスを作成する

このステップでは、 GitHub または の一部として Bitbucket で作成したサンプルソースコードリポジトリに基づいて App Runner サービスを作成します前提条件。この例には、シンプルな Python ウェブサイトが含まれています。サービスを作成するために実行する主な手順は次のとおりです。

  1. ソースコードを設定します。

  2. ソースデプロイを設定します。

  3. アプリケーションビルドを設定します。

  4. サービスを設定します。

  5. 確認して確認します。

次の図は、App Runner サービスを作成する手順の概要を示しています。

App Runner サービス作成ワークフロー図
ソースコードリポジトリに基づいて App Runner サービスを作成するには
  1. ソースコードを設定します。

    1. App Runner コンソール を開き、リージョンリストで を選択します AWS リージョン。

    2. に App Runner サービスがまだ AWS アカウント ない場合は、コンソールのホームページが表示されます。App Runner サービスの作成 を選択します。

      サービスの作成ボタンを示す App Runner コンソールのホームページ

      に既存のサービス AWS アカウント がある場合、サービスのリストを含むサービスページが表示されます。[Create service (サービスの作成)] を選択します。

      App Runner コンソールサービスページ
    3. 「ソースとデプロイ」ページの「ソース」セクションの「リポジトリタイプ」で「ソースコードリポジトリ」を選択します。

    4. プロバイダータイプ を選択します。GitHub または Bitbucket を選択します。

    5. 次に、新しい を追加 を選択します。プロンプトが表示されたら、 GitHub または Bitbucket の認証情報を指定します。

    6. 以前に選択したプロバイダータイプに基づいて、次の一連のステップを選択します。

      注記

      の AWS コネクタを GitHub アカウントにインストールする次の手順は GitHub 、1 回限りのステップです。接続を再利用して、このアカウントのリポジトリに基づいて複数の App Runner サービスを作成できます。既存の接続がある場合は、その接続を選択し、リポジトリの選択にスキップします。

      Bitbucket アカウントの AWS コネクタにも同じことが当てはまります。App Runner サービスのソースコードリポジトリとして GitHub と Bitbucket の両方を使用している場合は、プロバイダーごとに 1 つの AWS Connector をインストールする必要があります。その後、各コネクタを再利用して、より多くの App Runner サービスを作成できます。

      • の場合GitHub、以下のステップに従います。

        1. 次の画面で、接続名 を入力します。

        2. App Runner GitHub で を初めて使用する場合は、別の をインストールする を選択します。

        3. AWS Connector for GitHub ダイアログボックスで、プロンプトが表示されたら、 GitHub アカウント名を選択します。

        4. AWS Connector for を承認するように求められたら GitHub、AWS Connections の承認 を選択します。

        5. Install AWS Connector for GitHubダイアログボックスの「Choose Install 」を選択します

          アカウント名は、選択したGitHub アカウント/組織 として表示されます。アカウントでリポジトリを選択できるようになりました。

        6. リポジトリ で、作成したサンプルリポジトリ を選択しますpython-helloブランチ で、リポジトリのデフォルトのブランチ名を選択します (例えば、メイン )。

        7. ソースディレクトリはデフォルト値のままにします。ディレクトリのデフォルトはリポジトリルートです。ソースコードは、前の前提条件ステップのリポジトリルートディレクトリに保存しました。

      • Bitbucket の場合は、次の手順に従います。

        1. 次の画面で、接続名 を入力します。

        2. App Runner で Bitbucket を初めて使用する場合は、別の をインストールする を選択します。

        3. アクセスAWS CodeStar リクエストダイアログボックスで、ワークスペースを選択し、Bitbucket 統合 AWS CodeStar のために へのアクセスを許可できます。ワークスペースを選択し、アクセス許可 を選択します。

        4. 次に、コンソールにリダイレクトされます AWS 。Bitbucket アプリケーションが正しい Bitbucket ワークスペースに設定され、次へ を選択します。

        5. リポジトリ で、作成したサンプルリポジトリ を選択しますpython-helloブランチ で、リポジトリのデフォルトのブランチ名を選択します (例えば、メイン )。

        6. ソースディレクトリはデフォルト値のままにします。ディレクトリのデフォルトはリポジトリルートです。ソースコードは、前の前提条件ステップのリポジトリルートディレクトリに保存しました。

  2. デプロイの設定: デプロイ設定セクションで、自動 を選択し、次へ を選択します。

    注記

    自動デプロイでは、リポジトリソースディレクトリへの新しいコミットごとに、サービスの新しいバージョンが自動的にデプロイされます。

    App Runner サービスの作成時のソースとデプロイの設定
  3. アプリケーションビルドを設定します。

    1. 「ビルドの設定」ページの「設定ファイル」で、「ここですべての設定を設定する」を選択します。

    2. 次のビルド設定を指定します。

      • ランタイムPython 3 を選択します。

      • ビルドコマンド – と入力しますpip install -r requirements.txt

      • Start command – と入力しますpython server.py

      • ポート – と入力します8080

    3. [次へ] をクリックします。

    注記

    Python 3 ランタイムは、ベース Python 3 イメージとサンプル Python コードを使用して Docker イメージを構築します。次に、このイメージのコンテナインスタンスを実行するサービスを起動します。

    App Runner サービスの作成中に設定を構築する
  4. サービスを設定します。

    1. 「サービスの設定」ページの「サービス設定」セクションに、サービス名を入力します。

    2. 環境変数 で、環境変数 を追加 を選択します。環境変数に次の値を指定します。

      • ソース - プレーンテキストを選択する

      • 環境変数名NAME

      • 環境変数値 – 任意の名前 (例: 名)。

      注記

      サンプルアプリケーションは、この環境変数で設定した名前を読み取り、ウェブページにその名前を表示します。

    3. [次へ] をクリックします。

    App Runner サービスの作成時のサービス設定
  5. 確認と作成ページで、入力したすべての詳細を確認し、作成とデプロイを選択します

    サービスが正常に作成されると、コンソールにサービスダッシュボードが表示され、新しいサービスの概要が表示されます。

    App Runner サービスダッシュボードページ
  6. サービスが実行されていることを確認します。

    1. サービスダッシュボードページで、サービスのステータス実行中になるまで待ちます。

    2. デフォルトのドメイン値を選択します。これはサービスのウェブサイトへの URL です。

      注記

      App Runner アプリケーションのセキュリティを強化するために、*.awsapprunner.com ドメインはパブリックサフィックスリスト (PSL) に登録されています。セキュリティを強化するために、App Runner アプリケーションのデフォルトドメイン名で機密性の高い Cookie を設定する必要がある場合は、__Host-プレフィックス付きの Cookie を使用することをお勧めします。このプラクティスは、クロスサイトリクエストフォージェリ (CSRF) 攻撃からドメインを防ぐ際に役立ちます。詳細については、Mozilla 開発者ネットワークの「Set-Cookie」ページを参照してください。

      ウェブページが表示されます。こんにちは、名前です

    App Runner サービスのアプリケーションウェブページ

ステップ 2: サービスコードを変更する

このステップでは、リポジトリソースディレクトリのコードを変更します。App Runner CI/CD 機能は、変更を自動的に構築してサービスにデプロイします。

サービスコードを変更するには
  1. サンプルリポジトリに移動します。

  2. という名前のファイルを編集しますserver.py

  3. 変数 に割り当てられた式でmessage、テキストを Hello に変更しますGood morning

  4. 変更を保存してリポジトリにコミットします。

  5. 次の手順は、 GitHub リポジトリのサービスコードの変更を示しています。

    1. サンプル GitHub リポジトリに移動します。

    2. ファイル名server.pyを選択して、そのファイルに移動します。

    3. このファイルの編集 (鉛筆アイコン) を選択します。

    4. 変数 に割り当てられた式でmessage、テキストを Hello に変更しますGood morning

      GitHub 編集アイコンとメッセージが強調表示されたファイルページ
    5. [Commit changes] (変更のコミット) を選択します。

  6. 新しいコミットが App Runner サービスへのデプロイを開始します。サービスダッシュボードページで、サービスのステータス進行中のオペレーション に変わります。

    デプロイが終了するのを待ちます。サービスダッシュボードページで、サービスのステータス実行中の に戻ります。

  7. デプロイが成功したことを確認します。サービスのウェブページが表示されるブラウザタブを更新します。

    このページに、「おはよう、名前」という変更されたメッセージが表示されます。

ステップ 3: 設定を変更する

このステップでは、NAME環境変数の値を変更して、サービス設定の変更を示します。

環境変数の値を変更するには
  1. App Runner コンソール を開き、リージョンリストで を選択します AWS リージョン。

  2. ナビゲーションペインで、サービス を選択し、App Runner サービスを選択します。

    コンソールには、サービスダッシュボードにサービスの概要 が表示されます。

    アクティビティリストを表示する App Runner サービスダッシュボードページ
  3. サービスダッシュボードページで、設定タブを選択します。

    コンソールには、サービス設定がいくつかのセクションに表示されます。

  4. 「サービスの設定」セクションで、「編集」を選択します。

    App Runner サービスダッシュボードページの設定タブのサービス設定セクション
  5. キー を持つ環境変数の場合NAME、値を別の名前に変更します。

  6. [Apply changes (変更の適用)] を選択します。

    App Runner は更新プロセスを開始します。サービスダッシュボードページで、サービスのステータス進行中のオペレーション に変わります。

  7. 更新が終了するのを待ちます。サービスダッシュボードページで、サービスのステータス実行中の に戻ります。

  8. 更新が成功したことを確認します。サービスのウェブページが表示されるブラウザタブを更新します。

    このページに、変更後の名前「おはよう、新しい名前」が表示されるようになりました。

ステップ 4: サービスのログを表示する

このステップでは、App Runner コンソールを使用して App Runner サービスのログを表示します。App Runner はログを Amazon CloudWatch Logs (CloudWatch ログ) にストリーミングし、サービスのダッシュボードに表示します。App Runner ログの詳細については、「」を参照してくださいLogs にストリーミングされた App Runner CloudWatch ログの表示

サービスのログを表示するには
  1. App Runner コンソール を開き、リージョンリストで を選択します AWS リージョン。

  2. ナビゲーションペインで、サービス を選択し、App Runner サービスを選択します。

    コンソールには、サービスダッシュボードにサービスの概要 が表示されます。

    アクティビティリストを表示する App Runner サービスダッシュボードページ
  3. サービスダッシュボードページで、ログタブを選択します。

    コンソールには、いくつかのセクションにいくつかのタイプのログが表示されます。

    • イベントログ – App Runner サービスのライフサイクルにおけるアクティビティ。コンソールに最新のイベントが表示されます。

    • デプロイログ — App Runner サービスへのソースリポジトリのデプロイ。コンソールには、デプロイごとに個別のログストリームが表示されます。

    • アプリケーションログ — App Runner サービスにデプロイされたウェブアプリケーションの出力。コンソールは、実行中のすべてのインスタンスからの出力を 1 つのログストリームに結合します。

    App Runner サービスダッシュボードページのログタブ
  4. 特定のデプロイを検索するには、検索語を入力してデプロイログリストの範囲を絞り込みます。テーブルに表示される任意の値を検索できます。

  5. ログのコンテンツを表示するには、完全なログの表示 (イベントログ) またはログストリーム名 (デプロイとアプリケーションログ) を選択します。

  6. ダウンロードを選択してログをダウンロードします。デプロイログストリームの場合は、まずログストリームを選択します。

  7. で表示 CloudWatch を選択して CloudWatch コンソールを開き、その完全な機能を使用して App Runner サービスログを調べます。デプロイログストリームの場合は、まずログストリームを選択します。

    注記

    CloudWatch コンソールは、結合されたアプリケーションログではなく、特定のインスタンスのアプリケーションログを表示する場合に特に便利です。

ステップ 5:クリーンアップ

これで、App Runner サービスの作成、ログの表示、およびいくつかの変更を行う方法を学習しました。このステップでは、サービスを削除して、不要になったリソースを削除します。

サービスを削除するには
  1. サービスダッシュボードページで、アクション を選択し、サービスの削除 を選択します。

  2. 確認ダイアログで、リクエストされたテキストを入力し、「削除」を選択します。

    結果: コンソールは サービスページに移動します。削除したサービスのステータスは DELETING です。しばらくすると、リストから消えます。

このチュートリアルの一部として作成した GitHub および Bitbucket 接続の削除も検討してください。詳細については、「App Runner 接続の管理」を参照してください。

次のステップ

最初の App Runner サービスをデプロイしたので、以下のトピックで詳細を確認してください。