翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Lightsail でのコンテナサービスのデプロイの作成と管理
Amazon Lightsail コンテナサービスでコンテナを起動する準備ができたら、デプロイを作成します。デプロイは、サービスに起動させたいコンテナの仕様セットです。コンテナサービスは、一度に 1 つのデプロイを実行することが可能で、デプロイは最大 10 個のコンテナエントリを持つことができます。デプロイは、コンテナサービスと同時に作成でき、あるいはサービスの起動と実行後にも作成できます。
注記
新しいデプロイを作成すると、コンテナサービスの既存の使用率メトリクスが消え、新しい現在のデプロイのメトリクスだけが表示されます。
コンテナサービスの詳細については、Amazon Lightsail のコンテナサービス を参照してください。
目次
前提条件
コンテナサービスにデプロイの作成を開始する前に、前提条件として以下を完了します。
-
Lightsail アカウントでコンテナサービスを作成します。詳細については、Amazon Lightsail コンテナサービスの作成を参照してください。
-
コンテナサービスでコンテナを起動する際に使用するコンテナイメージを特定します。
-
Amazon ECR Public Gallery などのパブリックレジストリでコンテナイメージを検索します。詳細については、「Amazon ECR Public ユーザーガイド」の「Amazon ECR Public Gallery
」を参照してください。 -
ローカルマシンでコンテナイメージを作成し、Lightsail コンテナサービスにプッシュします。詳細については、以下のガイドを参照してください。
-
デプロイパラメータ
このセクションでは、コンテナエントリと、デプロイのパブリックエンドポイントに指定できるパラメータについて説明します。
コンテナエントリパラメータ
デプロイには最大 10 個のコンテナエントリを追加できます。各コンテナエントリには、指定できる以下のパラメータがあります。
-
コンテナ名 – コンテナ名を入力します。デプロイ内のすべてのコンテナは一意の名前を持つ必要があり、英数字とハイフンのみが使用可能です。ハイフンは単語を区別するために使用することができますが、名前の先頭または末尾には使用できません。
-
ソースイメージ – コンテナのソースコンテナイメージを指定します。以下のソースからコンテナイメージを指定することができます。
-
Amazon ECR Public Gallery、その他のパブリックコンテナイメージレジストリなどのパブリックレジストリ。
Amazon ECR Public の詳細については、「Amazon ECR Public ユーザーガイド」の「Amazon Elastic Container Registry Public とは?」を参照してください。
-
ローカルマシンからコンテナサービスにプッシュされたイメージ。保存されたイメージを指定するには、[保存されたイメージを選択] を選択し、使用するイメージを選択します。
ローカルマシンでコンテナイメージを作成する場合は、コンテナサービスにプッシュして、デプロイを作成する時に使用することができます。詳細については、Amazon Lightsail コンテナサービス用にコンテナイメージを作成するおよび Amazon Lightsail コンテナサービスでのコンテナイメージのプッシュと管理を参照してください。
-
-
起動コマンド – シェルスクリプト、または コンテナの作成時にコンテナを設定する bash スクリプトを実行するための起動コマンドを指定します。起動コマンドでは、ソフトウェアの追加、ソフトウェアの更新、あるいはコンテナの設定などを他の方法で行うことができます。
-
環境可変 – 環境可変を指定します。環境可変は、コンテナによって実行されるアプリケーションまたはスクリプトの動的設定を提供するキーバリューパラメーターです。
-
オープンポート – コンテナで開くポートとプロトコルを指定します。HTTP、HTTPS、TCP、および UDP 経由でポートが開くように指定できます。コンテナサービスのパブリックエンドポイントとして使用する予定のコンテナの HTTP ポートまたは HTTPS ポートを開く必要があります。詳細については、このガイドの以下のセクションを参照してください。
パブリックエンドポイントパラメータ
コンテナサービスのパブリックエンドポイントとして機能するデプロイ内のコンテナエントリを指定できます。パブリックエンドポイントコンテナ上のアプリケーションは、コンテナサービスのランダムに生成されたデフォルトドメインを介して、インターネット上でパブリックにアクセスできます。デフォルトドメインは の形式です。ここでhttps://
、<ServiceName>
.<RandomGUID>
.<AWSRegion>
.cs.amazonlightsail.com<ServiceName>
はコンテナサービスの名前、<RandomGUID >
は Lightsail アカウントの AWS リージョンでランダムに生成されたコンテナサービスのグローバルに一意の識別子、<AWSRegion>
はコンテナサービスが作成された AWS リージョンです。Lightsail コンテナサービスのパブリックエンドポイントは HTTPS のみをサポートし、TCP または UDP トラフィックはサポートしていません。サービスのパブリックエンドポイントにできるコンテナは 1 つだけです。したがって、アプリケーションのフロントエンドをホストしているコンテナをパブリックエンドポイントとして選択し、残りのコンテナは内部的にアクセス可能であることを確認してください。
注記
コンテナサービスでは、独自のカスタムドメイン名を使用できます。詳細については、 Amazon Lightsail コンテナサービスでのカスタムドメインの有効化と管理を参照してください。
デプロイのパブリックエンドポイントとコンテナサービスには、以下のパラメータを指定できます。
-
エンドポイントコンテナ – コンテナサービスのパブリックエンドポイントとして機能するデプロイ内のコンテナ名を選択します。デプロイで HTTP ポートまたは HTTPS ポートが開いているコンテナのみがドロップダウンメニューに表示されます。
-
ポート – パブリックエンドポイントに使用する HTTP ポートまたは HTTPS ポートを選択します。選択したコンテナで開かれている HTTP ポートと HTTPS ポートのみがドロップダウンメニューに表示されます。選択したコンテナが最初に起動したときに HTTPS 接続をサポートするように設定されていない場合は、HTTP ポートを選択します。
注記
パブリックエンドポイントポートとして HTTP ポートを選択した場合でも、コンテナサービスのデフォルトドメインはデフォルトで HTTPS が使用されます。これは、コンテナサービスのロードバランサーがデフォルトで HTTPS に設定されていますが、HTTP を使用してコンテナとの接続を確立するためです。
コンテナサービスのロードバランサーは HTTP を使用してコンテナに接続しますが、HTTPS を使用してユーザーにコンテンツを提供します。
-
ヘルスチェックパス – コンテナサービスのロードバランサーが定期的にチェックして正常であることを確認するために選択された、パブリックエンドポイントコンテナのパスを指定します。
-
ヘルスチェックの詳細設定 - 選択したパブリックエンドポイントコンテナに対して、次のヘルスチェック設定を設定できます。
-
ヘルスチェックのタイムアウト (秒) - ヘルスチェックのレスポンスを待つ時間 (秒単位)。この間にレスポンスが受信されない場合、ヘルスチェックは失敗します。2~60 秒を指定できます。
-
ヘルスチェックの間隔 (秒)-コンテナのヘルスチェックのおおよその間隔 (秒単位)。5~300 秒を指定できます。
-
ヘルスチェックの成功コード-コンテナからの正常なレスポンスを確認するために使用する HTTP コード。200 から 499 までの値を指定できます。複数の値 (例: 200,202) または値の範囲 (例: 200-299) を指定できます。
-
ヘルスチェックの健全性しきい値 - コンテナをヘルス状態に移行するために必要な連続したヘルスチェックの成功数。
-
ヘルスチェックの異常しきい値 - コンテナを異常状態に移行するために必要な連続したヘルスチェックの成功数。
-
プライベートドメイン
すべてのコンテナサービスには、 という形式のプライベートドメインもあります。<ServiceName>
.service.local<ServiceName>
はコンテナサービスの名前です。プライベートドメインを使用して、サービスと同じ AWS リージョンにある別の Lightsail リソースからコンテナサービスにアクセスします。プライベートドメインは、サービスのデプロイメントでパブリックエンドポイントを指定しない場合、コンテナサービスにアクセスする唯一の方法です。パブリックエンドポイントを指定しなくても、コンテナサービスに対してデフォルトのドメインが生成されますが、観覧しようとすると、404 No Such Service
エラーメッセージが表示されます。
コンテナサービスのプライベートドメインを使用して特定のコンテナにアクセスするには、接続要求を受け入れるコンテナのオープンポートを指定する必要があります。これを行うには、リクエストのドメインを としてフォーマットします。ここで
、<ServiceName>
.service.local:<PortNumber>
<ServiceName>
はコンテナサービスの名前、<PortNumber>
は接続先のコンテナのオープンポートです。例えば、コンテナサービスにデプロイcontainer-service-1
を作成し、Redis コンテナを指定してポート 6379
が開いている場合は、リクエストのドメインを
にフォーマットします。container-service-1
.service.local:6379
コンテナ間の通信
環境変数を使用すると、同じコンテナサービス内のコンテナ間、異なるコンテナサービス内のコンテナ、またはコンテナと他のリソース間 (コンテナとマネージドデータベース間など) の通信を開くことができます。
同じコンテナサービス内のコンテナ間の通信を開くには、次の例のように、localhost
を参照する環境変数をコンテナのデプロイに追加します。
異なるコンテナサービスにあるコンテナ間の通信を開くには、次の例のように、プライベートドメイン (container-service-1.service.local
など) を参照する環境変数をコンテナのデプロイに追加します。
コンテナと他のリソース間の通信を開くには、リソースのパブリックエンドポイント URL を参照する環境変数をコンテナのデプロイに追加します。例えば、Lightsail マネージドデータベースのパブリックエンドポイントは通常 ですls-123abc.czoexamplezqi.us-west-2.rds.amazonaws.com
。したがって、次の例に示すように、環境変数でそのことを参照する必要があります。
コンテナログ
デプロイ内のすべてのコンテナがログを生成します。コンテナログは、コンテナ内で実行されている stdout および stderr にプロセスの流れを提供します。コンテナのログに定期的にアクセスして、オペレーションを診断します。詳細については、Amazon Lightsail コンテナサービスのコンテナログの表示を参照してください。
デプロイバージョン
コンテナサービスで作成するすべてのデプロイは、デプロイバージョンとして保存されます。既存のデプロイのパラメータを変更すると、コンテナがサービスに再デプロイされ、デプロイが変更された場合は新しいデプロイバージョンが作成されます。各コンテナサービスの最新の 50 のデプロイバージョンが保存されます。50 のデプロイバージョンのいずれかを使用して、同じコンテナサービスに新しいデプロイを作成できます。詳細については、Amazon Lightsail コンテナサービスのデプロイバージョンの表示と管理を参照してください。
デプロイのステータス
デプロイの作成後、デプロイは以下のいずれかの状態になります。
-
アクティブ化中 – デプロイがアクティブ化されており、コンテナが作成されています。
-
アクティブ – デプロイは正常に作成され、コンテナサービスで現在実行されています。
-
非アクティブ – 以前に正常に作成されたデプロイは、コンテナ上で実行されていません。
-
失敗 – デプロイで指定された 1 つ以上のコンテナが起動できなかったため、デプロイが失敗しました。
デプロイエラー
デプロイ内の 1 つ以上のコンテナの起動に失敗すると、デプロイは失敗します。デプロイが失敗し、コンテナサービスで以前のデプロイが実行されていた場合、コンテナサービスは以前のデプロイをアクティブなデプロイとして維持します。以前のデプロイがない場合、コンテナサービスは準備完了状態のままになり、現在アクティブなデプロイはありません。
失敗したデプロイのコンテナログを表示して、問題の診断とトラブルシューティングを行います。詳細については、Amazon Lightsail コンテナサービスのコンテナログの表示を参照してください。
現在のコンテナサービスのデプロイを表示する
以下の手順を実行して、Lightsail コンテナサービスの現在のデプロイを表示します。
-
Lightsail コンソール
にサインインします。 -
Lightsail ホームページで [コンテナ] タブを選択します。
-
現在のデプロイを表示したいコンテナサービス名を選択します。
-
コンテナサービス管理ページで、[デプロイ] タブを選択します。
デプロイページには、現在のデプロイとデプロイバージョンが一覧表示されます。コンテナサービスでデプロイをまだ作成していない場合、ページの両方のセクションは空です。
コンテナサービスのデプロイを作成または変更
Lightsail コンテナサービスのデプロイを作成または変更するには、以下の手順を実行します。新しいデプロイを作成する場合も、既存のデプロイを変更する場合も、コンテナサービスでは、すべてのデプロイが新しいデプロイバージョンとして保存されます。詳細については、Amazon Lightsail コンテナサービスのデプロイバージョンの表示と管理を参照してください。
-
Lightsail コンソール
にサインインします。 -
Lightsail ホームページで [コンテナ] タブを選択します。
-
コンテナサービスのデプロイを作成または変更するコンテナサービス名を選択します。
-
コンテナサービスの管理ページで、デプロイタブを選択します。
デプロイページには、現在のデプロイとデプロイのバージョンが一覧表示されます。(存在する場合)
-
以下のオプションのいずれかを選択します。
-
コンテナサービスに既存のデプロイがある場合は、デプロイの変更を選択します。
-
コンテナサービスにデプロイがない場合は、デプロイの作成を選択します。
デプロイフォームが開き、既存のデプロイパラメータを編集したり、新しいデプロイパラメータを入力することができます。
-
-
デプロイのパラメータを入力します。指定できるデプロイパラメータの詳細については、このガイドの前半のデプロイパラメータセクションを参照してください。
-
[コンテナエントリを追加] を選択して、デプロイに複数のコンテナエントリを追加します。デプロイには最大 10 のコンテナエントリを追加することができます。
-
コンテナサービスのパブリックエンドポイントとして機能するデプロイ内のコンテナエントリを指定します。これには、HTTP または HTTPS ポート、選択したコンテナエントリのヘルスチェックパス、および詳細なヘルスチェック設定の指定が含まれます。詳細については、このガイドの前半にある「パブリックエンドポイントパラメータ」を参照してください。
-
デプロイのパラメータの入力が終了したら [保存してデプロイ] を選択して、コンテナサービス上にデプロイを作成します。
コンテナサービスのステータスが [デプロイ中] に変わり、デプロイが作成されます。しばらくすると、デプロイのステータスに応じて、コンテナサービスのステータスが以下のいずれかに変わります。
-
デプロイが成功すると、コンテナサービスのステータスが [実行中] に変わり、デプロイのステータスが [アクティブ] に変わります。デプロイメントでパブリックエンドポイントを設定した場合、パブリックエンドポイントとして選択されたコンテナは、コンテナサービスのデフォルトドメインを介して使用できます。
-
デプロイが失敗し、コンテナサービスで以前のデプロイが実行されている場合、コンテナサービスのステータスが [実行中] に変わり、コンテナサービスは、以前のデプロイをアクティブデプロイとして維持します。以前のデプロイがない場合、コンテナサービスのステータスが [準備完了] に変わり、現在アクティブなデプロイはありません。失敗したデプロイのコンテナログを表示して、問題の診断とトラブルシューティングを行います。詳細については、Amazon Lightsail コンテナサービスのコンテナログの表示を参照してください。
-