

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

# Amazon Lightsail にコンテナをデプロイして管理する
<a name="amazon-lightsail-container-services"></a>

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 開発者ガイド](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html)を参照してください。

**目次**
+ [コンテナ](#understanding-containers)
+ [Lightsail コンテナサービスの要素](#understanding-lightsail-container-services)
  + [Lightsail コンテナサービス](#lightsail-container-services)
  + [コンテナサービスの容量 (スケールとパワー)](#container-services-capacity)
  + [料金](#container-services-pricing)
  + [デプロイ](#container-services-deployments)
  + [デプロイバージョン](#container-services-deployment-versions)
  + [コンテナイメージソース](#container-services-image-sources)
  + [コンテナサービス ARN](#container-services-arn)
  + [パブリックエンドポイントとデフォルトドメイン](#container-services-endpoints-domains)
  + [カスタムドメインと SSL/TLS 証明書](#container-services-custom-domains-certificates)
  + [コンテナログ](#container-services-container-logs)
  + [メトリクス](#container-services-metrics)
+ [Lightsail コンテナサービスを使用する](#using-lightsail-container-services)

## コンテナ
<a name="understanding-containers"></a>

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

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

コンテナとコンテナイメージの詳細については、*Docker ドキュメント*の「[コンテナとは](https://www.docker.com/resources/what-container)」を参照してください。

## Lightsail コンテナサービスの要素
<a name="understanding-lightsail-container-services"></a>

Lightsail コンテナサービスの使用を開始する前に、以下の主な要素を理解しておく必要があります。

### Lightsail コンテナサービス
<a name="lightsail-container-services"></a>

コンテナサービスは、Lightsail コンピューティングリソースで、Lightsail が使用可能な AWS リージョン で作成できます。コンテナサービスは、いつでも作成および削除できます。詳細については、「[Lightsail コンテナサービスを作成する](amazon-lightsail-creating-container-services.md)」および「[Lightsail コンテナサービスを削除する](amazon-lightsail-deleting-container-services.md)」を参照してください。

![Lightsail コンテナサービスの図](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-container-service-diagram.png)


### コンテナサービス容量 (スケールとパワー)
<a name="container-services-capacity"></a>

コンテナサービスを最初に作成するときは、以下の容量パラメータを選択する必要があります。
+ **スケール** — コンテナのワークロードを実行するコンピューティングノードの数です。コンテナのワークロードは、サービスのコンピューティングノード間でコピーされます。コンテナサービスには最大 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 は、現在のデプロイとともに容量の変更を自動的に管理します。詳細については、「[コンテナサービスの容量を変更する](amazon-lightsail-changing-container-service-capacity.md)」を参照してください。

### 料金
<a name="container-services-pricing"></a>

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

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

### デプロイ
<a name="container-services-deployments"></a>

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

デプロイ内の各コンテナエントリに対して、以下のパラメータを指定できます。
+ 起動されるコンテナ名
+ コンテナで使用するソースコンテナイメージ
+ コンテナの起動時に実行するコマンド
+ コンテナに適用する環境可変
+ コンテナで開くネットワークポート
+ コンテナサービスのデフォルトドメインを介してパブリックにアクセスできるようにする、デプロイ内のコンテナ
**注記**  
デプロイ内の 1 つのコンテナのみが、各コンテナサービスに対してパブリックにアクセス可能にすることができます。

次のヘルスチェックパラメータは、デプロイの起動後にデプロイのパブリックエンドポイントに適用されます。
+ ヘルスチェックを実行するディレクトリパス。
+ 間隔秒、タイムアウト秒、成功コード、正常しきい値、異常しきい値など、ヘルスチェックの高度な設定。

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

### デプロイバージョン
<a name="container-services-deployment-versions"></a>

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

### コンテナイメージソース
<a name="container-services-image-sources"></a>

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

以下のソースから指定してイメージを取り出せます。
+ Amazon ECR Public Gallery、その他のパブリックコンテナイメージレジストリなどの**パブリックレジストリ**。Amazon ECR Public の詳細については、「*Amazon ECR Public ユーザーガイド*」の「[Amazon Elastic Container Registry Public とは？](https://docs.aws.amazon.com/AmazonECR/latest/public/what-is-ecr.html)」を参照してください。
+ **ローカルマシンからプッシュされたイメージ**をコンテナサービスに追加します。ローカルマシンでコンテナイメージを作成する場合は、コンテナサービスにプッシュして、デプロイの作成時に使用できます。詳細については、「[コンテナサービスイメージを作成する](amazon-lightsail-creating-container-images.md)」および「[コンテナイメージをプッシュして管理する](amazon-lightsail-pushing-container-images.md)」を参照してください。

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

### コンテナサービス ARN
<a name="container-services-arn"></a>

Amazon リソースネーム (ARNs) は AWS リソースを一意に識別します。IAM ポリシーや API コールなど AWS、すべての でリソースを明確に指定する必要がある場合は、ARN が必要です。

コンテナサービスの ARN を取得するには、`GetContainerServices` Lightsail API アクションを使用し、`serviceName` パラメータを使用してコンテナサービスの名前を指定します。コンテナサービス ARN は、次の例に示すように、そのアクションの結果に一覧表示されます。詳細については、「*Amazon Lightsail API Reference*」の「[GetContainerServices](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetContainerServices.html)」を参照してください。

以下のような出力結果が表示されるはずです。

```
{
    "containerServices": [
        {
            "containerServiceName": "container-service-1",
            "arn": "arn:aws:lightsail: :111122223333:ContainerService/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "createdAt": "2024-01-01T00:00:00+00:00",
            "location": {
                "availabilityZone": "all",
                "regionName": "us-west-2"
        },
        .....
}
```

### パブリックエンドポイントとデフォルトドメイン
<a name="container-services-endpoints-domains"></a>

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

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

**プライベートドメイン**

また、すべてのコンテナサービスは、プライベートドメインを保持していて、`{{<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 証明書
<a name="container-services-custom-domains-certificates"></a>

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

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

### コンテナログ
<a name="container-services-container-logs"></a>

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

### メトリクス
<a name="container-services-metrics"></a>

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

## Lightsail コンテナサービスを使用する
<a name="using-lightsail-container-services"></a>

次の内容は、Lightsail コンテナサービスを管理し、ローカルマシンからサービスにイメージをプッシュするか、パブリックレジストリからコンテナイメージを使用するための一般的なステップです。

**Lightsail コンテナサービスを管理し、デプロイでコンテナイメージを使用する方法**

1. Lightsail アカウントにコンテナサービスを作成する。詳細については、「[Lightsail コンテナサービスを作成する](amazon-lightsail-creating-container-services.md)」を参照してください。

1. 次のいずれかのオプションを使用し、Lightsail コンテナサービスでコンテナイメージを使用します。
   + **ローカルマシンからコンテナイメージを使用する** – ローカルマシンにソフトウェアをインストールして独自のコンテナイメージを作成し、Lightsail コンテナサービスにプッシュできます。詳細については、以下のガイドを参照してください。
     + [Lightsail コンテナサービスのコンテナイメージを管理するためのソフトウェアをインストールする](amazon-lightsail-install-software.md)
     + [Lightsail コンテナサービスのコンテナイメージを作成する](amazon-lightsail-creating-container-images.md)
     + [Lightsail コンテナサービスのコンテナイメージをプッシュして管理する](amazon-lightsail-pushing-container-images.md)
   + **パブリックレジストリのコンテナイメージを使用する** – Amazon ECR Public Gallery などのパブリックレジストリで Lightsail コンテナサービスのコンテナイメージを検索して使用できます。Amazon ECR Public Gallery の詳細については、「*Amazon ECR Public ユーザーガイド*」の「[Amazon Elastic Container Registry Public とは?](https://docs.aws.amazon.com/AmazonECR/latest/public/what-is-ecr.html)」を参照してください。

1. [Lightsail コンテナサービスのコンテナイメージを管理するためにソフトウェアのインストール](amazon-lightsail-install-software.md)

1. [Lightsail コンテナサービスのコンテナイメージの作成](amazon-lightsail-creating-container-images.md)

1. [Lightsail コンテナサービスでコンテナイメージのプッシュと管理](amazon-lightsail-pushing-container-images.md)

1. コンテナを設定して起動するデプロイをコンテナサービス内に作成します。詳細については、「[Lightsail コンテナサービスのデプロイを作成して管理する](amazon-lightsail-container-services-deployments.md)」を参照してください。

1. コンテナサービスの以前のデプロイを表示します。以前のデプロイ バージョンを使用して、新しいデプロイを作成できます。詳細については、「[Lightsail コンテナサービスのデプロイバージョンを表示して管理する](amazon-lightsail-container-services-deployment-versions.md)」を参照してください。

1. コンテナサービスのコンテナのログを表示します。詳細については、「[Lightsail コンテナサービスのコンテナログを表示する](amazon-lightsail-viewing-container-service-container-logs.md)」を参照してください。

1. コンテナで使用するドメイン用の SSL/TLS 証明書を作成します。詳細については、「[Lightsail コンテナサービスの SSL/TLS 証明書を作成する](amazon-lightsail-creating-container-services-certificates.md)」を参照してください。

1. ドメインの DNS にレコードを追加して、SSL/TLS 証明書を検証します。詳細については、「[Lightsail コンテナサービスの SSL/TLS 証明書を検証する](amazon-lightsail-validating-container-services-certificates.md)」を参照してください。

1. 有効な SSL/TLS 証明書をコンテナサービスに添付して、カスタムドメインを有効にします。詳細については、「[Lightsail コンテナサービスのカスタムドメインを有効にして管理する](amazon-lightsail-enabling-container-services-custom-domains.md)」を参照してください。

1. コンテナサービスの使用状況メトリクスをモニタリングします。詳細については、「[コンテナサービスメトリクスを表示する](amazon-lightsail-viewing-container-services-metrics.md)」を参照してください。

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

1. コンテナサービスを使用していない場合は、月額料金が発生しないようにコンテナサービスを削除します。詳細については、「[Lightsail コンテナサービスを削除する](amazon-lightsail-deleting-container-services.md)」を参照してください。