翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
App Runner の開始方法
AWS App Runner は、既存のコンテナイメージまたはソースコードを で実行中のウェブ AWS サービスに直接変換するための、高速、シンプル、かつ費用対効果の高い方法を提供する サービスです AWS クラウド。
このチュートリアルでは、 AWS App Runner を使用してアプリケーションを App Runner サービスにデプロイする方法について説明します。ここでは、ソースコードとデプロイ、サービスビルド、サービスランタイムの設定について説明します。また、コードバージョンのデプロイ、設定変更、ログの表示の方法も示します。最後に、チュートリアルの手順に従って作成したリソースをクリーンアップする方法を示します。
トピック
前提条件
チュートリアルを開始する前に、必ず次のアクションを実行してください。
-
のセットアップ手順を完了しますApp Runner のセットアップ。
-
GitHub リポジトリと Bitbucket リポジトリのどちらを使用するかを決定します。
-
Bitbucket を使用するには、Bitbucket
アカウントをまだ作成していない場合は、まず作成します。Bitbucket を初めて使用する場合は、Bitbucket クラウドドキュメントの「Bitbucket の開始 方法」を参照してください。 -
を使用するには GitHub、アカウントをまだ作成していない場合は、GitHub
アカウントを作成します。を初めて使用する場合は GitHub、Docs の GitHub 「 の開始方法GitHub」を参照してください。 注記
アカウントから複数のリポジトリプロバイダーへの接続を作成できます。したがって、 と Bitbucket リポジトリの両方 GitHubからのデプロイを順を追って確認したい場合は、この手順を繰り返すことができます。次回は、新しい App Runner サービスを作成し、他のリポジトリプロバイダー用の新しいアカウント接続を作成します。
-
-
リポジトリプロバイダーアカウントにリポジトリを作成します。このチュートリアルでは、リポジトリ名 を使用します
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 ウェブサイトが含まれています。サービスを作成するために実行する主な手順は次のとおりです。
-
ソースコードを設定します。
-
ソースデプロイを設定します。
-
アプリケーションビルドを設定します。
-
サービスを設定します。
-
確認して確認します。
次の図は、App Runner サービスを作成する手順の概要を示しています。
ソースコードリポジトリに基づいて App Runner サービスを作成するには
-
ソースコードを設定します。
-
App Runner コンソール
を開き、リージョンリストで を選択します AWS リージョン。 -
に App Runner サービスがまだ AWS アカウント ない場合は、コンソールのホームページが表示されます。App Runner サービスの作成 を選択します。
に既存のサービス AWS アカウント がある場合、サービスのリストを含むサービスページが表示されます。[Create service (サービスの作成)] を選択します。
-
「ソースとデプロイ」ページの「ソース」セクションの「リポジトリタイプ」で、「ソースコードリポジトリ」を選択します。
-
プロバイダータイプ を選択します。GitHub または Bitbucket を選択します。
-
次に、新しい を追加 を選択します。プロンプトが表示されたら、 GitHub または Bitbucket の認証情報を指定します。
-
以前に選択したプロバイダータイプに基づいて、次の一連のステップを選択します。
注記
の AWS コネクタを GitHub アカウントにインストールする次の手順は GitHub 、1 回限りのステップです。接続を再利用して、このアカウントのリポジトリに基づいて複数の App Runner サービスを作成できます。既存の接続がある場合は、その接続を選択し、リポジトリの選択にスキップします。
Bitbucket アカウントの AWS コネクタにも同じことが当てはまります。App Runner サービスのソースコードリポジトリとして GitHub と Bitbucket の両方を使用している場合は、プロバイダーごとに 1 つの AWS Connector をインストールする必要があります。その後、各コネクタを再利用して、より多くの App Runner サービスを作成できます。
-
の場合GitHub、以下のステップに従います。
-
次の画面で、接続名 を入力します。
-
App Runner GitHub で を初めて使用する場合は、別の をインストールする を選択します。
-
AWS Connector for GitHub ダイアログボックスで、プロンプトが表示されたら、 GitHub アカウント名を選択します。
-
AWS Connector for を承認するように求められたら GitHub、AWS Connections の承認 を選択します。
-
Install AWS Connector for GitHubダイアログボックスの「Choose Install 」を選択します。
アカウント名は、選択したGitHub アカウント/組織 として表示されます。アカウントでリポジトリを選択できるようになりました。
-
リポジトリ で、作成したサンプルリポジトリ を選択します
python-hello
。ブランチ で、リポジトリのデフォルトのブランチ名を選択します (例えば、メイン )。 -
ソースディレクトリはデフォルト値のままにします。ディレクトリのデフォルトはリポジトリルートです。ソースコードは、前の前提条件ステップのリポジトリルートディレクトリに保存しました。
-
-
Bitbucket の場合は、次の手順に従います。
-
次の画面で、接続名 を入力します。
-
App Runner で Bitbucket を初めて使用する場合は、別の をインストールする を選択します。
-
アクセスAWS CodeStar リクエストダイアログボックスで、ワークスペースを選択し、Bitbucket 統合 AWS CodeStar のために へのアクセスを許可できます。ワークスペースを選択し、アクセス許可 を選択します。
-
次に、コンソールにリダイレクトされます AWS 。Bitbucket アプリケーションが正しい Bitbucket ワークスペースに設定され、次へ を選択します。
-
リポジトリ で、作成したサンプルリポジトリ を選択します
python-hello
。ブランチ で、リポジトリのデフォルトのブランチ名を選択します (例えば、メイン )。 -
ソースディレクトリはデフォルト値のままにします。ディレクトリのデフォルトはリポジトリルートです。ソースコードは、前の前提条件ステップのリポジトリルートディレクトリに保存しました。
-
-
-
-
デプロイの設定: デプロイ設定セクションで、自動 を選択し、次へ を選択します。
注記
自動デプロイでは、リポジトリソースディレクトリへの新しいコミットごとに、サービスの新しいバージョンが自動的にデプロイされます。
-
アプリケーションビルドを設定します。
-
「ビルドの設定」ページの「設定ファイル」で、「ここですべての設定を設定する」を選択します。
-
次のビルド設定を指定します。
-
ランタイム — Python 3 を選択します。
-
ビルドコマンド – と入力します
pip install -r requirements.txt
。 -
Start command – と入力します
python server.py
。 -
ポート – と入力します
8080
。
-
-
[次へ] をクリックします。
注記
Python 3 ランタイムは、ベース Python 3 イメージとサンプル Python コードを使用して Docker イメージを構築します。次に、このイメージのコンテナインスタンスを実行するサービスを起動します。
-
-
サービスを設定します。
-
「サービスの設定」ページの「サービス設定」セクションに、サービス名を入力します。
-
環境変数 で、環境変数 を追加 を選択します。環境変数に次の値を指定します。
-
ソース - プレーンテキストを選択する
-
環境変数名 –
NAME
-
環境変数値 – 任意の名前 (例: 名)。
注記
サンプルアプリケーションは、この環境変数で設定した名前を読み取り、ウェブページにその名前を表示します。
-
-
[次へ] をクリックします。
-
-
確認と作成ページで、入力したすべての詳細を確認し、作成とデプロイを選択します。
サービスが正常に作成されると、コンソールにサービスダッシュボードが表示され、新しいサービスの概要が表示されます。
-
サービスが実行されていることを確認します。
-
サービスダッシュボードページで、サービスのステータスが実行中になるまで待ちます。
-
デフォルトのドメイン値を選択します。これはサービスのウェブサイトへの URL です。
注記
App Runner アプリケーションのセキュリティを強化するために、*.awsapprunner.com ドメインはパブリックサフィックスリスト (PSL)
に登録されています。セキュリティを強化するために、App Runner アプリケーションのデフォルトドメイン名で機密性の高い Cookie を設定する必要がある場合は、 __Host-
プレフィックス付きの Cookie を使用することをお勧めします。このプラクティスは、クロスサイトリクエストフォージェリ (CSRF) 攻撃からドメインを防ぐ際に役立ちます。詳細については、Mozilla 開発者ネットワークの「Set-Cookie」ページを参照してください。 ウェブページが表示されます。こん
にちは、名前です
。
-
ステップ 2: サービスコードを変更する
このステップでは、リポジトリソースディレクトリのコードを変更します。App Runner CI/CD 機能は、変更を自動的に構築してサービスにデプロイします。
サービスコードを変更するには
-
サンプルリポジトリに移動します。
-
という名前のファイルを編集します
server.py
。 -
変数 に割り当てられた式で
message
、テキストをHello
に変更しますGood morning
。 -
変更を保存してリポジトリにコミットします。
-
次の手順は、 GitHub リポジトリのサービスコードの変更を示しています。
-
サンプル GitHub リポジトリに移動します。
-
ファイル名
server.py
を選択して、そのファイルに移動します。 -
このファイルの編集 (鉛筆アイコン) を選択します。
-
変数 に割り当てられた式で
message
、テキストをHello
に変更しますGood morning
。 -
[Commit changes] (変更のコミット) を選択します。
-
-
新しいコミットが App Runner サービスへのデプロイを開始します。サービスダッシュボードページで、サービスのステータスが進行中のオペレーション に変わります。
デプロイが終了するのを待ちます。サービスダッシュボードページで、サービスのステータスは実行中の に戻ります。
-
デプロイが成功したことを確認します。サービスのウェブページが表示されるブラウザタブを更新します。
このページに、「おはよう、
名前」という
変更されたメッセージが表示されます。
ステップ 3: 設定を変更する
このステップでは、NAME
環境変数の値を変更して、サービス設定の変更を示します。
環境変数の値を変更するには
-
App Runner コンソール
を開き、リージョンリストで を選択します AWS リージョン。 -
ナビゲーションペインで、サービス を選択し、App Runner サービスを選択します。
コンソールには、サービスダッシュボードにサービスの概要 が表示されます。
-
サービスダッシュボードページで、設定タブを選択します。
コンソールには、サービス設定がいくつかのセクションに表示されます。
-
「サービスの設定」セクションで、「編集」を選択します。
-
キー を持つ環境変数の場合
NAME
、値を別の名前に変更します。 -
[Apply changes (変更の適用)] を選択します。
App Runner は更新プロセスを開始します。サービスダッシュボードページで、サービスのステータスが進行中のオペレーション に変わります。
-
更新が終了するのを待ちます。サービスダッシュボードページで、サービスのステータスは実行中の に戻ります。
-
更新が成功したことを確認します。サービスのウェブページが表示されるブラウザタブを更新します。
このページに、変更後の名前「おはよう、
新しい名前
」が表示されるようになりました。
ステップ 4: サービスのログを表示する
このステップでは、App Runner コンソールを使用して App Runner サービスのログを表示します。App Runner はログを Amazon CloudWatch Logs (CloudWatch ログ) にストリーミングし、サービスのダッシュボードに表示します。App Runner ログの詳細については、「」を参照してくださいLogs にストリーミングされた App Runner CloudWatch ログの表示。
サービスのログを表示するには
-
App Runner コンソール
を開き、リージョンリストで を選択します AWS リージョン。 -
ナビゲーションペインで、サービス を選択し、App Runner サービスを選択します。
コンソールには、サービスダッシュボードにサービスの概要 が表示されます。
-
サービスダッシュボードページで、ログタブを選択します。
コンソールには、いくつかのセクションにいくつかのタイプのログが表示されます。
-
イベントログ – App Runner サービスのライフサイクルにおけるアクティビティ。コンソールに最新のイベントが表示されます。
-
デプロイログ — App Runner サービスへのソースリポジトリのデプロイ。コンソールには、デプロイごとに個別のログストリームが表示されます。
-
アプリケーションログ — App Runner サービスにデプロイされたウェブアプリケーションの出力。コンソールは、実行中のすべてのインスタンスからの出力を 1 つのログストリームに結合します。
-
-
特定のデプロイを検索するには、検索語を入力してデプロイログリストの範囲を絞り込みます。テーブルに表示される任意の値を検索できます。
-
ログのコンテンツを表示するには、完全なログの表示 (イベントログ) またはログストリーム名 (デプロイとアプリケーションログ) を選択します。
-
ダウンロードを選択してログをダウンロードします。デプロイログストリームの場合は、まずログストリームを選択します。
-
で表示 CloudWatch を選択して CloudWatch コンソールを開き、その完全な機能を使用して App Runner サービスログを調べます。デプロイログストリームの場合は、まずログストリームを選択します。
注記
CloudWatch コンソールは、結合されたアプリケーションログではなく、特定のインスタンスのアプリケーションログを表示する場合に特に便利です。
ステップ 5:クリーンアップ
これで、App Runner サービスの作成、ログの表示、およびいくつかの変更を行う方法を学習しました。このステップでは、サービスを削除して、不要になったリソースを削除します。
サービスを削除するには
-
サービスダッシュボードページで、アクション を選択し、サービスの削除 を選択します。
-
確認ダイアログで、リクエストされたテキストを入力し、「削除」を選択します。
結果: コンソールは サービスページに移動します。削除したサービスのステータスは DELETING です。しばらくすると、リストから消えます。
このチュートリアルの一部として作成した GitHub および Bitbucket 接続の削除も検討してください。詳細については、「App Runner 接続の管理」を参照してください。
次のステップ
最初の App Runner サービスをデプロイしたので、以下のトピックで詳細を確認してください。
-
App Runner のアーキテクチャと概念 – App Runner に関連するアーキテクチャ、主要な概念、および AWS リソース。
-
イメージベースのサービス および コードベースのサービス — App Runner がデプロイできる 2 種類のアプリケーションソース。
-
App Runner 用のアプリケーションコードの開発 – App Runner にデプロイするためのアプリケーションコードを開発または移行する際に知っておくべきこと。
-
App Runner コンソールの使用 – App Runner コンソールを使用してサービスを管理およびモニタリングします。
-
App Runner サービスの管理 – App Runner サービスのライフサイクルを管理します。
-
App Runner サービスのオブザーバビリティ – メトリクスのモニタリング、ログの読み取り、イベントの処理、サービスアクションコールの追跡、HTTP コールなどのアプリケーションイベントのトレースにより、App Runner サービスオペレーションを可視化します。
-
App Runner 設定ファイル – App Runner サービスのビルドおよびランタイム動作のオプションを指定する設定ベースの方法です。
-
App Runner API – App Runner アプリケーションプログラミングインターフェイス (API) を使用して、App Runner リソースを作成、読み取り、更新、削除します。
-
App Runner のセキュリティ – App Runner やその他の サービスの使用中に、 AWS と がクラウドセキュリティを確保するさまざまな方法。