Container > NHN Container Service(NCS) > 使用ガイド

テンプレート

テンプレートは、ワークロードの実行に必要なコンテナ、ネットワークなどのリソースを定義するサービスです。

テンプレートの作成

NHN Container Service(NCS)を使用するには、先にテンプレートを作成する必要があります。Container > NHN Container Service(NCS)ページでテンプレートタブをクリックし、テンプレートの作成をクリックします。テンプレートの作成に必要な項目は次のとおりです。

項目 説明
テンプレート名 テンプレートの名前。32文字以内の英字小文字と数字、一部記号(-)のみ入力できます。
説明 テンプレートの説明。255文字以内で入力できます。
コンテナ名 コンテナの名前。253文字以内の英字小文字と数字、一部記号(-)のみ入力できます。
コンテナレジストリ コンテナイメージのレジストリ
  • NHN Container Registry(NCR)使い方はNCR使用ガイドをご覧ください。
  • Docker Hubまたはその他レジストリ使用時レジストリタイプを選択する必要があります。
レジストリタイプ レジストリのタイプ。パブリックまたはプライベートを選択できます。
イメージURL コンテナイメージの情報。255文字以内の英字小文字と数字、一部記号(-, \_, ., ,, /, @, :)のみ入力できます。
レジストリID プライベートレジストリ認証に使用されるID
レジストリパスワード プライベートレジストリ認証に使用されるパスワード
メモリ コンテナに割り当てるメモリ
ポート コンテナで使用するポート
CPU コンテナに割り当てるCPU数。0.25~16の間の数を0.25個単位で入力できます。
GPU使用有無 コンテナのGPU使用有無を決定します。
GPUタイプ コンテナに割り当てるGPUタイプを決定します。
コマンド コンテナが起動する時に実行されるコマンド。イメージに指定されたENTRYPOINTより優先されます。
作業ディレクトリ コンテナの作業ディレクトリ。イメージに指定されたWORKDIRより優先されます。
環境変数 コンテナに設定する環境変数
ライフサイクルフック コンテナの作成、終了時に実行するコマンドを設定できます。
作成直後に入力したコマンドが失敗すると、コンテナが再起動されます。
コマンド実行前にコンテナが終了した場合、コマンドが実行されない場合があります。
  • ワークロード作業のGracePeriodSecondsは30秒です。
作成直後(postStart)例) bash,-c,curl $URL/postStart
終了直前(preStop)例) bash,-c,curl $URL/preStop
ファイル Object Storageにアップロードしたファイルをコンテナディレクトリにマウントして使用できます。
  • Appkey:ファイルデータを使用するプロジェクトのObject StorageサービスのAppkeyを入力します。
  • User Access Key: Object StorageサービスにアクセスするユーザーのUser Access Keyを入力します。 User Access KeyはNHN Cloudコンソールのアカウント > APIセキュリティ設定 ページで作成および確認できます。
  • User Secret Key: Object StorageサービスにアクセスするユーザーのSecret Access Keyを入力します。 Secret Access KeyはNHN Cloudコンソールのアカウント > APIセキュリティ設定ページで作成および確認できます。
  • オブジェクトURL:オブジェクトダウンロードURLを入力します。
  • コンテナマウントパス:コンテナのマウントパスを入力します。
    • 入力したパスにファイルがマウントされます。
秘密データ Secure Key Managerに保存した機密データファイルをコンテナディレクトリにマウントして使用することができます。
  • 機密データID:Secret Key Managerサービスの機密データIDを入力します。
  • コンテナのマウントパス: コンテナのマウントパスを入力します。
    • 入力されたパスにファイルがマウントされます。
NASストレージ コンテナに接続するNASストレージを入力します。
  • 名前:ストレージ名。 63文字以内の英字小文字と数字、一部記号(-)のみ入力できます。
  • NAS接続パス: NASストレージの接続情報を入力します。
    • NASストレージを使用する場合、Storage > NASページで接続するNASストレージの接続情報を入力します。使い方はNAS使用ガイドを参照してください。
    • 別途構築されたNFSv3サーバーを使用する場合、NFSサーバーのマウントポイントを入力します。
  • コンテナ接続パス:コンテナのマウントパスを入力します。
    • $コンテナ接続パス/$ストレージ名にマウントされます。
テンプレートと同じVPCを使用するNASストレージのみ使用できます。
状態点検 コンテナの状態を点検するコマンドを構成できます。
  • アクティブかどうか(LivenessProbe):コンテナが動作中かどうかを確認します。
  • 起動するかどうか(startupProbe):コンテナ内のアプリケーションが起動されたかどうかを確認します。
状態点検が失敗した場合はコンテナが再起動されます。
サブネット VPCに定義されたサブネットのうち、インスタンスに接続するサブネット
DNS ワークロードで使用するDNSサーバーを設定します。
設定しない場合は8.8.8.8を使用します。

必要な情報を入力し、テンプレートの作成をクリックするとテンプレートが作成されます。

[注意] NCS環境点検作業または一時的なエラーによりコンテナ(task)が再起動される場合、作成されたログとコンテナ内のデータは初期化されます。再起動されても維持が必要なデータはNASストレージを使用してください。

[参考] テンプレートに同じプロトコルのポートは1つのみ追加できます。 TCPとHTTP, HTTPS, TERMINATED_HTTPSは同じポートを使用できません。 HTTP, TERMINATED_HTTPSプロトコルを使用するとロードバランサーでClient IPを識別できるX-Forwarded-For Headerが追加されます。

[参考] コンテナごとに臨時ストレージは20GBが提供されます。提供された使用量を超える場合、コンテナが再起動され、一時ストレージは初期化されます。

[参考] ファイルと秘密データはテンプレート作成時の情報を使用します。元ファイルや秘密データが修正されても、すでに作成されたテンプレートの情報は影響を受けません。 ファイルは同一組織内のプロジェクトObject Storageにのみアクセスできます。 秘密データは同じプロジェクトのSecure Key Managerを活用します。秘密データを使用するには、まずSecure Key Managerサービスを有効にする必要があります。

テンプレートの照会

作成したテンプレートは Container > NHN Container Service(NCS) ページのテンプレートタブで確認できます。テンプレートリストにはコンテナリソースの合計が表示されます。

基本情報

特定テンプレートをクリックして基本情報タブで詳細情報を確認できます。

項目 説明
名前 テンプレートの名前とID
説明 テンプレートの説明
コンテナ テンプレートに定義されたコンテナ数
CPU テンプレートに定義されたコンテナのCPU数を加えた数
作成日 テンプレートが作成された日付
VPC テンプレートに設定されたVPC
サブネット テンプレートに設定されたサブネット

コンテナ

特定テンプレートをクリックした後、コンテナタブに移動してテンプレートに追加したコンテナリストを確認できます。コンテナリストから特定コンテナを選択して詳細情報を確認できます。

項目 説明
コンテナ名 コンテナの名前
イメージURL コンテナイメージの情報
メモリ コンテナに割り当てられたメモリ
CPU コンテナに割り当てられたCPU数
GPU コンテナに割り当てられたGPU情報
ポート コンテナで使用するポート
コマンド コンテナ起動時に実行されるコマンド
作業ディレクトリ コンテナの作業ディレクトリ
環境変数 コンテナに設定された環境変数
ストレージ コンテナに接続されたストレージ
ライフサイクルフック コンテナに設定されたライフサイクルフック
ファイル コンテナに接続されたオブジェクトファイルとマウントパス
秘密データ コンテナに接続された機密データとマウントパス
状態点検 コンテナに設定された状態点検

テンプレートの削除

削除するテンプレートを選択し、テンプレートの削除をクリックすると削除されます。

[参考] 該当テンプレートを使用するワークロードが存在する場合はテンプレートを削除できません。

ワークロード

定義したテンプレートを利用してコンテナを実行するサービスです。

ワークロードの作成

Container > NHN Container Service(NCS) ページでワークロードタブをクリックし、ワークロードの作成をクリックします。ワークロードの作成に必要な項目は次のとおりです。

項目 説明
テンプレート テンプレートの名前
  • テンプレートの選択をクリックして作成されたテンプレートの中から選択します。
  • テンプレートの作成をクリックして新しいテンプレートを作成して選択します。
名前 ワークロードの名前。32文字以内の英字小文字と数字、一部記号(-)のみ入力できます。
説明 ワークロードの説明。255文字以内で入力できます。
作業リクエスト数 実行するテンプレート数。1~100の間の値を入力できます。
予約実行 時間基盤スケジュールを設定してワークロード実行を予約できます。
  • 基準時間:予約タスク時間に対するタイムゾーンを指定します。
  • Cron式:予約の繰り返し周期をCron式で入力できます。
  • 予約実行ヒストリー保管数:終了した予約タスクを保管する最大数を入力します。保管された作業はログ、イベント、コンテナ情報を確認できます。
  • 同時実行ポリシー:作業繰り返し周期によって作成された作業の同時性ポリシーを指定します。
    • Forbid:既存作業が完了していない場合、新たに実行しません。
    • Replace:既存の作業が新しい作業に 置き換えられます。置き換えられた場合、既存作業のヒストリーは残りません。
ワークロード予約を設定すると作業リクエスト数は1つに固定されます。
ワークロード実行周期が10分以下の場合、ロードバランサーを有効にできません。
ロードバランサー テンプレートのコンテナ情報にポートが指定されている場合にのみ使用ボタンが有効になります。
  • Floating IP: Floating IPを使用するためには、必ずインターネットゲートウェイが設定されたサブネットに接続されている必要があります。
    • 外部からコンテナにアクセスするにはFloating IPを使用する必要があります。 Floating IPを使用するとdomain URLが追加されます。
  • ヘルスチェック:ロードバランサーでワークロードのヘルスチェックを試行します。
  • IPアクセス制御グループ:アクセス制御グループをロードバランサーに適用できます。
  • コンテナでTERMINATED_HTTPSプロトコルを使用する場合、SSL証明書を登録する必要があります。
  • ロードバランサーのポートとプロトコルはテンプレートのコンテナに定義されたポートとプロトコルを使用します。
レガシーネットワーク環境ではロードバランサーを使用できません。
セキュリティグループ ワークロードのセキュリティグループを指定できます。
ワークロードセキュリティグループを選択した場合、コンテナポートのセキュリティルールを作成する必要があります。
ワークロードセキュリティグループを選択しない場合、NCSで作成したセキュリティグループが適用され、コンテナポートのセキュリティルールが自動的に作成されます。

必要な情報を入力し、ワークロードの作成をクリックするとワークロードが作成されます。

[参考] レガシーネットワーク環境ではロードバランサーを使用できません。 予約設定時、作業リクエスト数は1個に固定されます。 ワークロード実行周期が10分以下の場合、ロードバランサーを有効にできません。 同時実行ポリシー(Replace)によって既存作業が新しい作業に置き換えられる場合、既存作業のヒストリーは残りません。

[参考] 予約実行のCron式(* * * * *)の各フィールドの意味は次のとおりです。

フィールド名 値の許容範囲 許容される特殊文字
0-59 * / , -
時間 0-23 * / , -
1-31 * / , ?
1-12
JAN-DEC
* / , -
曜日 0-6
SUN-SAT
* / , ?

ワークロードの照会

作成したワークロードはContainer > NHN Container Service(NCS)ページのワークロードタブで確認できます。

基本情報

特定ワークロードをクリックして基本情報タブで詳細情報を確認できます。

項目 説明
名前 ワークロードの名前とID
説明 ワークロードの説明
テンプレート 使用されたテンプレートの名前
作業リクエスト数 実行するテンプレートの数
作業実行数 実行されたテンプレートの数
作成日 ワークロードが作成された日付
VPC ワークロードに設定されたVPC
サブネット ワークロードに設定されたサブネット
セキュリティグループ ワークロードに設定されたセキュリティグループの名前
ロードバランサー ロードバランサーを使用するかどうか

[参考] ワークロードの状態は、含まれているすべてのコンテナとロードバランサーの状態を考慮して決定されます。個別コンテナの状態は実行コンテナタブで確認できます。

実行コンテナ

特定ワークロードをクリックした後、実行コンテナタブでコンテナをクリックしてコンテナ詳細情報を確認できます。

項目 説明
コンテナ名 コンテナの名前
イメージURL コンテナイメージの情報
IP コンテナに割り当てられたIPアドレス
状態 コンテナの状態
再起動回数 コンテナが再起動した回数
メモリ コンテナに割り当てられたメモリ
CPU コンテナに割り当てられたCPUの数
GPU コンテナに割り当てられたGPUの情報
ポート コンテナで使用するポート
コマンド コンテナ起動時に実行されるコマンド
作業ディレクトリ コンテナの作業ディレクトリ
環境変数 コンテナに設定された環境変数
ストレージ コンテナに接続されたストレージ
ライフサイクルフック コンテナに設定されたライフサイクルフック
ファイル コンテナに接続されたオブジェクトファイルとマウントパス
秘密データ コンテナに接続された機密データとマウントパス
状態点検 コンテナに設定された状態点検
開始日 コンテナが起動した日付

モニタリング

特定ワークロードをクリックした後、モニタリングタブでコンテナのリソース使用率を確認できます。コンテナ指標は15秒単位で収集され、最大1年間保管されます。 モニタリングを提供する項目は次のとおりです。

項目 単位 説明
CPU使用率 % コンテナに割り当てられたCPU基準で使用率が提供されます。
メモリ使用率 % コンテナに割り当てられたMemory基準で使用率が提供されます。
ネットワークデータ送信 bps ワークロードの作業基準でネットワークデータ送信情報が提供されます。
ネットワークデータ受信 bps ワークロードの作業基準でネットワークデータ受信情報が提供されます。
ディスク使用率 % コンテナに追加されたNASストレージの使用率が提供されます。
臨時ストレージ使用率 % ワークロードの作業基準で臨時ストレージ使用率が提供されます。

イベント

特定ワークロードをクリックし、イベントタブでコンテナにて発生したイベント情報を確認できます。イベント状態選択をクリックしてイベントの状態ごとにイベントを確認できます。

項目 説明
状態 イベントの状態
タイプ イベントのタイプ
説明 イベントの説明
イベント最初の発生日時 イベントの最初の発生日時
イベント最終発生日時 イベントの最終発生日時
発生数 イベントが発生した回数

[参考] イベントは最大1時間のみ維持され、1時間前の情報は確認できません。 コンテナの現在と最後の状態についての詳細理由もイベントで確認できます。

ログ

特定ワークロードをクリックした後、ログタブでコンテナのログを確認できます。

[参考] ログは2か月間保管されます。

ワークロード実行ヒストリー

ワークロード実行ヒストリーを確認するワークロードを選択し、ワークロード実行ヒストリータブでワークロードテンプレートの変更進行状況および履歴を確認できます。

項目 説明
テンプレート名 ワークロードが使用するテンプレート名
実行時間 該当テンプレートを使用するワークロードの配布開始時間
終了時間 該当テンプレートを使用するワークロードの終了時間
状態 配布状態
succeeded:配布完了
pending:配布中
terminated:終了したワークロード

照会されたヒストリー情報をクリックしてワークロード実行ヒストリー詳細情報を確認できます。

[参考] 実行中のワークロードのヒストリーには終了時間が表示されず、状態がsucceededで維持されます。 [注意] ワークロード削除後はワークロード実行ヒストリーを確認できません。

予約実行ヒストリー

予約実行ヒストリーを確認するワークロードを選択して予約実行ヒストリータブで実行された作業リストを確認できます。

項目 説明
作業ID 実行された予約タスクID
実行時間 予約タスク実行時間
終了時間 予約タスク終了時間
状態 予約タスク状態
waiting:予約実行準備中
running:予約タスク実行中
completed:予約タスク正常終了
error:予約タスク異常終了

ワークロードの変更

変更するワークロードを選択した後、基本情報タブで変更をクリックして実行中のワークロードを変更できます。

項目 説明
説明 ワークロードの説明
テンプレート 実行中のワークロードのテンプレート変更
テンプレートを変更すると、ローリングアップデート方式でワークロードが無中断配布されます。
作業が1つずつ順番に置き換えられ配布中に既存作業と新しい作業が同時に実行された状態になる場合があります。
ワークロード実行ヒストリータブで変更結果を確認できます。
作業リクエスト数 実行中のワークロードの作業数の変更
作業リクエスト数増加:既存の作業は維持しながら新しい作業が作成されます。
作業リクエスト数の減少:減少した作業数だけ作業が終了します。
予約実行 予約実行情報を変更
予約実行ヒストリー保管数は、変更時間から設定され、変更前に実行された作業がすべて削除されるまで、ヒストリー数と設定値が一致しない場合があります。
ロードバランサー ワークロードのロードバランサー, Floating IP, ヘルスチェック, SSL証明書を使用するかどうかを変更

[注意] ロードバランサーを使用してワークロードサービスを利用中にテンプレートを変更する場合、瞬断が発生する可能性があります。 [参考] ワークロードがPending状態の場合、ロードバランサーを変更できません。 ワークロード変更に失敗した場合(例:イメージエラー)変更試行が終了し、作業交換が発生しません。

ワークロード停止/再起動

ワークロード停止を実行すると、ワークロードのすべての作業が終了します。

ワークロード再起動を実行すると、Floating IPとURLは維持され、コンテナIPとロードバランサーIPは変更されます。

[注意] ワークロードを停止するとログ、イベント、臨時ストレージはは初期化されます。 ワークロードを停止しても作業繰り返し周期になると予約実行ヒストリーは削除されます。

ワークロードの削除

削除するワークロードを選択し、ワークロードの削除をクリックすると削除されます。

NCSロール

NCSロールを設定してサービスおよびリソースにアクセスできるロールを制御できます。 例えば「NCS管理者」はテンプレートとワークロードの作成、照会および管理できるロールを持ち、「NCSユーザー」はテンプレートとワークロードの照会ロールのみ持つように設定できます。

NCS実行ロールの追加

NCSの実行ロールはNHN Cloud Console画面で設定します。 1. プロジェクト管理画面でメンバー管理メニューを選択します。 2. ロールを変更するメンバーをクリックします。 3. ロール追加を選択して、サービスごとにロールを追加します。 * 左側の領域で基本インフラサービスを選択した後、右側の領域でロールを選択します。 4. 選択されたロールを確認して追加または削除できます。 5. 追加をクリックしてプロジェクトメンバーに変更されたロールを適用します。 6. ロールが追加されたらメンバーを選択して詳細ロール内容を確認できます。

ロールグループの使用ガイドはコンソールガイドをご覧ください。

ロールの詳細情報

NCSを利用するには、次のリソースに対するロールが必要です。 * NCS - NCSのリソースを照会、作成および管理することを許可します。 * Infrastructure - NCSユーザーはVPC、Subnetリソースを照会することを許可します。これはNCSでテンプレートとワークロードを照会する時に必要です。 * Load Balancer - NCSユーザーはInfrastructure Load Balancerリソースを作成、管理を許可します。これはNCSでワークロードのLoad Balancerを使用する時に必要です。 * Security Group - NCSユーザーはInfrastructure Security Groupリソースを作成、管理を許可します。これはNCSでテンプレートにSecurity Groupを使用する時に必要です。

NCS最小ロール付与

本番環境では必要なロールのみ追加することを推奨します。NCSサービスを利用するための最小限のロールは次のとおりです。

機能 Infrastructrue NCS ADMIN Infrastructrue MEMBER Infrastructrue Security Group ADMIN Infrastructrue Load Balancer ADMIN
テンプレートの照会 O
テンプレートの作成 O O
テンプレートの削除 O O
ワークロードの照会 O
ワークロードの作成および変更 O O O
ワークロードの削除 O O O

参考事項

リージョン

  • NCSサービスは韓国(パンギョ)、韓国(光州)リージョンでのみ使用できます。

リソース提供ポリシー

テンプレート/コンテナ

  • テンプレートに記述されているコンテナは、それぞれ異なるコンテナポートを使用するように設定する必要があります。
  • コンテナポートに直接接続する場合は、セキュリティグループが正しく設定されていることを確認する必要があります。
  • コンテナポートを指定していないテンプレートを使用する場合、ロードバランサーを作成できません。
  • ロードバランサーを使用する場合、コンテナに追加されていないポートはセキュリティグループにポートを追加しても使用できません。
  • プライベートレジストリに存在するコンテナイメージを活用してコンテナを作成できます。サポートされるソースレジストリタイプとURL、Access ID、Access Secretは次のとおりです。
ソースレジストリタイプ Access ID Access Secret
Azure Container Registry アクセスキーユーザー名 アクセスキー暗号
Google Cloud Container Registry _json_key サービスアカウントの秘密鍵(JSONタイプ)
Docker Hub Username Password
Harbor Username Password
Quay json_file {
"account_name": "$ユーザーアカウント",
"docker_cli_password": "$Quayで作成した暗号化されたPassword"
}
  • コンテナイメージ内でコンテナがサービスのために使用することに決定したポートとテンプレートのコンテナポートは一致する必要があります。
    • 80ポートをサービスすることに指定された基本nginxコンテナイメージを利用する場合、コンテナポートに80を指定する必要があります。コンテナイメージの内容を変更して他のポートをサービスするように設定した場合は、そのポート番号を指定する必要があります。
  • ファイルと秘密データはテンプレート作成時の情報を使用します。元のファイルや秘密データが修正されても、既に作成されたテンプレートの情報は影響を受けません。
    • ファイルまたは秘密データの内容をアップデートし、その変更事項を反映するには、新しいテンプレートを作成し、ワークロードを実行する必要があります。

GPU

分類 タイプ 名前 RAM GPU数 MIG Profile名
Graphics Optimized ncs1 ncs1.g1m5 5GB 1 MIG 1g.5gb
Graphics Optimized ncs1 ncs1.g2m10 10GB 2 MIG 2g.10gb

トラブルシューティング

NCSサービスを使用しながら経験する可能性があるさまざまな問題を解決する方法を説明します。

ワークロード

  • ワークロードが正常に作成され、コンテナも正常に実行中の時にFailedCreatePodSandBox/CNITimedOutWaitingForVIFsタイプのコンテナイベントが発生する現象
    • 当該イベントはNCSで使用するためのNetwork Interfaceが作成完了していない場合に発生します。テンプレート作成直後にワークロードを作成したり、ワークロードを大量作成したりする場合に一時的に発生するイベントで、一定時間が経過すると当該イベントは発生しません。
  • ワークロードがPending状態の時にIpAddressGenerationFailureタイプのコンテナイベントが発生する現象
    • 当該イベントは指定したサブネットに使用できるIPアドレスが存在しない場合に発生します。サブネットのCIDRを変更するか、他のサブネットを使用してテンプレートを作成する必要があります。
  • ワークロードのテンプレート変更後に継続してpending状態が維持される現象
    • 追加された作業のイベントを確認してコンテナが実行されない原因を確認できます。
  • リソース不足でワークロード作成失敗現象
エラーメッセージ 説明
{{.Resource}}リソースが不足しているためワークロードを作成できません。 NCS環境のリソースが不足しているためワークロードを作成できません。
しばらくしてから再試行するか、サポートにお問い合わせください。
作成可能な{{.Resource}}を超えました。限度を上げるにはサポートにお問い合わせください。 プロジェクトのNCS Quotaが超過しました。
詳細については、 NHN Container Service(NCS)リソース提供ポリシーを参考してください。
TOP