Amazon Lightsail のコンテナサービス - Amazon Lightsail

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

Amazon Lightsail のコンテナサービス

Amazon Lightsail コンテナサービスは、コンテナをデプロイ、実行、管理できる非常にスケーラブルなコンピューティングおよびネットワークリソースです。コンテナは、コードとその依存関係をパッケージ化するソフトウェアのスタンダード単位で、アプリケーションが 1 つのコンピューティング環境から別のコンピューティング環境に迅速かつ確実に実行します。

Lightsail コンテナサービスは、ローカルマシンで作成したイメージ、または Amazon ECR Public Gallery などのオンラインリポジトリからのイメージを使用して、 AWS インフラストラクチャでコンテナを実行できるようにするコンピューティング環境と考えることができます。

Docker などのソフトウェアをインストールすることで、ローカルマシン上でコンテナをローカルで実行することもできます。Amazon Elastic Container Service (Amazon ECS) と Amazon Elastic Compute Cloud (Amazon EC2) は、コンテナを実行できる AWS インフラストラクチャ内の別のリソースです。詳細については、Amazon ECS 開発者ガイドを参照してください。

目次

コンテナ

コンテナは、コードと依存関係をパッケージ化するソフトウェアのスタンダード単位で、1 つのコンピューティング環境から別のコンピューティング環境へアプリケーションを迅速かつ確実に実行します。開発環境でコンテナを実行し、本番稼働前環境にデプロイしてから、本稼働環境にデプロイできます。開発環境がローカルマシンであるか、本番稼働前環境がデータセンターの物理サーバーであるか、運用環境がクラウドのバーチャルプライベートサーバーであるかにかかわらず、コンテナは確実に実行されます。

コンテナイメージは軽量で、スタンドアローンで実行可能な、アプリケーションの実行に必要なもの (コード、ランタイム、システムツール、システムライブラリ、設定) が全て含まれるソフトウェアのパッケージです。コンテナイメージは、ランタイム時にコンテナになります。アプリケーションとその依存関係をコンテナ化することで、ソフトウェアをデプロイするオペレーティングシステムとインフラストラクチャ上で正しく動作するかどうかを心配する必要がなくなり、コードに集中する時間を増やすことができます。

コンテナとコンテナイメージの詳細については、Docker ドキュメントの「コンテナとは」を参照してください。

Lightsail コンテナサービスの要素

以下は、開始する前に理解しておくべき Lightsail コンテナサービスの主要な要素です。

Lightsail コンテナサービス

コンテナサービスは、Lightsail が利用可能な任意の AWS リージョン で作成できる Lightsail コンピューティングリソースです。コンテナサービスは、いつでも作成および削除できます。詳細については、「Lightsail コンテナサービスの作成」および「Lightsail コンテナサービスの削除」を参照してください。

Lightsail コンテナサービス図

コンテナサービス容量 (スケールとパワー)

コンテナサービスを最初に作成するときは、以下の容量パラメータを選択する必要があります。

  • スケール — コンテナのワークロードを実行するコンピューティングノードの数です。コンテナのワークロードは、サービスのコンピューティングノード間でコピーされます。コンテナサービスには最大 20 のコンピューティングノードを指定できます。可用性と容量を向上させるために、サービスを強化させるノードの数に応じてスケールを選択します。コンテナへのトラフィックは、ノード全体にロードバランスされます。

  • パワー — コンテナサービス内の各ノードのメモリと vCPUs です。選択できるパワーは、Nano (Na)、Micro (Mi)、Small (Sm)、Medium (Md)、Large (Lg)、Xlarge (Xl) で、それぞれメモリと vCPUs の容量が徐々に大きくなっています。

コンテナサービスのスケールを 1 より大きく指定すると、コンテナワークロードはサービスの複数のコンピューティングノードにコピーされます。例えば、サービスのスケールが 3 で、パワーが Nano の場合、コンテナワークロードのコピーが 3 つあり、それぞれ 512 MB の RAM と 0.25 の vCPUs を持つ 3 つのコンピューティングリソースで実行されています。受信トラフィックは、3 つのリソース間でロードバランスされます。コンテナサービスに指定する容量が大きいほど、処理できるトラフィックが増えます。

プロビジョニングが不十分であることがわかった場合、コンテナサービスのパワーとスケールはダウンタイムなしでいつでも動的に増加でき、過剰な場合は減少することもできます。Lightsail は、現在のデプロイとともに容量の変更を自動的に管理します。詳細については、「コンテナサービスの容量を変更する」を参照してください。

料金

コンテナサービスの月額料金は、そのパワーの価格にコンピューティングノード数 (サービスのスケール) を乗算して計算されます。例えば、ミディアムパワーのサービスの価格が 40 USD、コンピューティングノードが 3 である場合、1 か月あたり 120 USD になります。コンテナサービスが有効か無効か、デプロイがあるかどうかに関わらず、コンテナサービスに対して課金されます。コンテナサービスの課金を停止するには、コンテナサービスを削除する必要があります。

各コンテナサービスには、設定された容量に関係なく、500 GB の月次データ転送クォータが含まれます。データ転送クォータは、選択したサービスのパワーとスケールに関わらず変更されることはありません。クォータを超えるインターネットへのデータ転送では、超過料金が発生します。超過料金は によって異なり AWS リージョン 、1 GB あたり 0.09 USD から始まります。クォータを超過したインターネットからのデータ転送には、超過料金が発生しません。詳細については、Lightsail の料金 ページを参照してください。

デプロイ

Lightsail コンテナサービスでデプロイを作成できます。デプロイは、サービスで起動するコンテナワークロードの仕様のセットです。

デプロイ内の各コンテナエントリに対して、以下のパラメータを指定できます。

  • 起動されるコンテナ名

  • コンテナで使用するソースコンテナイメージ

  • コンテナの起動時に実行するコマンド

  • コンテナに適用する環境可変

  • コンテナで開くネットワークポート

  • コンテナサービスのデフォルトドメインを介してパブリックにアクセスできるようにする、デプロイ内のコンテナ

    注記

    デプロイ内の 1 つのコンテナのみが、各コンテナサービスに対してパブリックにアクセス可能にすることができます。

次のヘルスチェックパラメータは、デプロイの起動後にデプロイのパブリックエンドポイントに適用されます。

  • ヘルスチェックを実行するディレクトリパス。

  • 間隔秒、タイムアウト秒、成功コード、正常しきい値、異常しきい値など、ヘルスチェックの高度な設定。

コンテナサービスは、一度に 1 つのアクティブなデプロイを持つことができ、デプロイは最大 10 個のコンテナエントリを持つことができます。デプロイは、コンテナサービスの作成と同時に作成する、あるいはサービスが起動され実行されてから作成することができます。詳細については、「コンテナサービスのデプロイの作成と管理」を参照してください。

デプロイバージョン

コンテナサービスで作成するすべてのデプロイは、デプロイバージョンとして保存されます。既存のデプロイのパラメータを変更すると、コンテナがサービスに再デプロイされ、デプロイが変更された場合は新しいデプロイバージョンが作成されます。各コンテナサービスの最新の 50 のデプロイバージョンが保存されます。50 のデプロイバージョンのいずれかを使用して、新しいデプロイを同じコンテナに作成できます。詳細については、「コンテナサービスのデプロイの作成と管理」を参照してください。

コンテナイメージソース

デプロイを作成するときは、デプロイ内の各コンテナエントリにソースコンテナイメージを指定する必要があります。デプロイを作成した直後に、コンテナサービスは指定したソースからイメージを取り出し、それらを使用してコンテナを作成します。

以下のソースから指定してイメージを取り出せます。

Lightsail コンテナサービスは Linux ベースのコンテナイメージをサポートしています。Windows ベースのコンテナイメージは現在サポートされていませんが、Windows で Docker、 AWS Command Line Interface (AWS CLI)、Lightsail Control (lightsailctl) プラグインを実行して、Linux ベースのイメージを構築して Lightsail コンテナサービスにプッシュできます。

パブリックエンドポイントとデフォルトドメイン

デプロイを作成するときに、コンテナサービスのパブリックエンドポイントとして機能するデプロイ内のコンテナエントリを指定できます。パブリックエンドポイントコンテナ上のアプリケーションは、コンテナサービスのランダムに生成されたデフォルトドメインを介して、インターネット上でパブリックにアクセスできます。デフォルトドメインは としてフォーマットされます。ここでhttps://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com<ServiceName> はコンテナサービスの名前、<RandomGUID > は AWS リージョン Lightsail アカウントの 内のコンテナサービスのランダムに生成されたグローバル AWS リージョン に一意の識別子、<AWSRegion> はコンテナサービスが作成された です。Lightsail コンテナサービスのパブリックエンドポイントは HTTPS のみをサポートし、TCP または UDP トラフィックはサポートしていません。サービスのパブリックエンドポイントにできるコンテナは 1 つだけです。したがって、アプリケーションのフロントエンドをホストしているコンテナをパブリックエンドポイントとして選択し、残りのコンテナは内部的にアクセス可能であることを確認してください。

コンテナサービスのデフォルトドメインか、独自のカスタムドメイン (登録されたドメイン名) を使用できます。コンテナサービスでのカスタムドメインの使用の詳細については、「コンテナサービスでカスタムドメインを有効にして管理する」を参照してください。

プライベートドメイン

すべてのコンテナサービスには、 という形式のプライベートドメインもあります。<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 にフォーマットします。

カスタムドメインと SSL/TLS 証明書

デフォルトドメインを使用する代わりに、コンテナサービスでカスタムドメインを最大 4 つ使用できます。例えば、カスタムドメインのトラフィックを、example.com のようにパブリックエンドポイントとしてラベル付けされたデプロイ内のコンテナにルーティングできます。

カスタムドメインをサービスで使用するには、まず、使用するドメインの SSL/TLS 証明書をリクエストする必要があります。その後、ドメインの DNS に CNAME レコードのセットを追加して、SSL/TLS 証明書を検証する必要があります。SSL/TLS 証明書の検証した後、有効な SSL/TLS 証明書をサービスに添付して、コンテナサービスでカスタムドメインを有効化します。詳細については、「Lightsail コンテナサービスの SSL/TLS 証明書の作成」、「Lightsail コンテナサービスの SSL/TLS 証明書の検証」、および「Lightsail コンテナサービスのカスタムドメインの有効化と管理」を参照してください。

コンテナログ

コンテナサービスのすべてのコンテナは、コンテナのオペレーションを診断するためにアクセスできるログを生成します。ログは、コンテナ内で実行されている stdout および stderr にプロセスの流れを提供します。詳細については、「コンテナサービスログを表示する」を参照してください。

メトリクス

コンテナサービスのメトリックスをモニタリングして、過剰使用が原因の可能性とする問題を診断します。メトリックスをモニタリングして、サービスのプロビジョニングが不足していないか、あるいは過剰にプロビジョニングされているかを判断することもできます。詳細については、「コンテナサービスメトリクスを表示する」を参照してください。

Lightsail コンテナサービスを使用する

ローカルマシンからサービスにコンテナイメージをプッシュし、デプロイで使用する予定がある場合は、Lightsail コンテナサービスを管理するための一般的な手順は次のとおりです。

  1. Lightsail アカウントにコンテナサービスを作成する。詳細については、「Lightsail コンテナサービスの作成」を参照してください。

  2. 独自のコンテナイメージを作成したいローカルマシンにソフトウェアをインストールして、コンテナイメージを Lightsail コンテナサービスにプッシュする。詳細については、詳細を参照して、以下のガイドラインを参照してください。

  3. コンテナを設定して起動するデプロイをコンテナサービス内に作成します。詳細については、「Lightsail コンテナサービスのデプロイの作成と管理」を参照してください。

  4. コンテナサービスの以前のデプロイを表示します。以前のデプロイ バージョンを使用して、新しいデプロイを作成できます。詳細については、「Lightsail コンテナサービスのデプロイバージョンの表示と管理」を参照してください。

  5. コンテナサービスのコンテナのログを表示します。詳細については、「Lightsail コンテナサービスのコンテナログを表示する」を参照してください。

  6. コンテナで使用するドメイン用の SSL/TLS 証明書を作成します。詳細については、「Lightsail コンテナサービスの SSL/TLS 証明書を作成する」を参照してください。

  7. ドメインの DNS にレコードを追加して、SSL/TLS 証明書を検証します。詳細については、「Lightsail コンテナサービスの SSL/TLS 証明書を検証する」を参照してください。

  8. 有効な SSL/TLS 証明書をコンテナサービスに添付して、カスタムドメインを有効にします。詳細については、「Lightsail コンテナサービスのカスタムドメインの有効化と管理」を参照してください。

  9. コンテナサービスの使用状況メトリクスをモニタリングします。詳細については、「コンテナサービスメトリクスを表示する」を参照してください。

  10. (オプション) パワースペックを垂直方向に増やし、スケールスペックを水平方向に増やして、コンテナサービスの容量をスケールします。詳細については、「Lightsail コンテナサービスの容量を変更する」を参照してください。

  11. コンテナサービスを使用していない場合は、月額料金が発生しないようにコンテナサービスを削除します。詳細については、「Lightsail コンテナサービスの削除」を参照してください。

デプロイでパブリックレジストリのコンテナイメージを使用する予定がある場合は、Lightsail コンテナサービスを管理するための一般的な手順は次のとおりです。

  1. Lightsail アカウントにコンテナサービスを作成する。詳細については、「Lightsail コンテナサービスの作成」を参照してください。

  2. 公開レジストリからのコンテナイメージを使用する場合は、Amazon ECR Public Gallery などの公開レジストリから使用するコンテナイメージを探します。Amazon ECR Public の詳細については、「Amazon ECR Public ユーザーガイド」の「Amazon Elastic Container Registry Public とは?」を参照してください。

  3. コンテナを設定して起動するデプロイをコンテナサービス内に作成します。詳細については、「Lightsail コンテナサービスのデプロイの作成と管理」を参照してください。

  4. コンテナサービスの以前のデプロイを表示します。以前のデプロイ バージョンを使用して、新しいデプロイを作成できます。詳細については、「Lightsail コンテナサービスのデプロイバージョンの表示と管理」を参照してください。

  5. コンテナサービスのコンテナのログを表示します。詳細については、「Lightsail コンテナサービスのコンテナログを表示する」を参照してください。

  6. コンテナで使用するドメイン用の SSL/TLS 証明書を作成します。詳細については、「Lightsail コンテナサービスの SSL/TLS 証明書を作成する」を参照してください。

  7. ドメインの DNS にレコードを追加して、SSL/TLS 証明書を検証します。詳細については、「Lightsail コンテナサービスの SSL/TLS 証明書を検証する」を参照してください。

  8. 有効な SSL/TLS 証明書をコンテナサービスに添付して、カスタムドメインを有効にします。詳細については、「Lightsail コンテナサービスのカスタムドメインの有効化と管理」を参照してください。

  9. コンテナサービスの使用状況メトリクスをモニタリングします。詳細については、「コンテナサービスメトリクスを表示する」を参照してください。

  10. (オプション) パワースペックを垂直方向に増やし、スケールスペックを水平方向に増やして、コンテナサービスの容量をスケールします。詳細については、「Lightsail コンテナサービスの容量を変更する」を参照してください。

  11. コンテナサービスを使用していない場合は、月額料金が発生しないようにコンテナサービスを削除します。詳細については、「Lightsail コンテナサービスの削除」を参照してください。