Application Basic Settings
これは、AMDPにおけるプロジェクト/プロファイルレベルでのアプリケーション管理のためのページです。各アプリケーションは、プロジェクトとプロファイルの設定および情報(クラスター、ネームスペース、Gitなど)を指します。アプリケーションの特性に基づいて、デフォルトの設定とリソースで即座にビルド/デプロイでき、バックエンドサービス接続のような専門的な設定を変更して使用することができます。
Application Basic Settings List
アプリケーションの情報に設定されたワークロードタイプやアプリフレームワークに基づいて、すぐに使用可能な一般的なデフォルト値に基づいた機能を提供します。
アプリケーションに設定された値は、保存後すぐには反映されません。
設定は、デプロイメントパイプラインを通じてビルド/デプロイメントプロセスが実行された後にのみ適用されます。
アプリケーション基本設定の各項目の説明:
基本デプロイメント設定
- デプロイメント : アプリケーションの数量、リソース使用量などを設定します。
- サービス : クラスター内の通信のためのサービスタイプとサービスポートを設定します。
データ&メッセージ管理設定
- メッセージチャネル : アプリケーションで使用されるバックエンドサービスのメッセージチャネルタイプを接続します。
- DBアクセス : アプリケーションで使用されるバックエンドサービスのデータベースタイプを接続します。
- インメモリ : アプリケーションで使用されるバックエンドサービスのインメモリタイプを接続します。
Detailed Application [Basic Deployment Settings / Deployment]
アプリケーションリスト画面のアクション列にある「編集」ボタンをクリックして、アプリケーションの基本デプロイメント設定におけるデプロイメントに関する情報を設定します。これには、レプリカの数、コンテナのアクセスポート、およびリソース属性が含まれます。
① レプリカ : 作成するインスタンス(ポッド)の数を指定します。デフォルト値は1です。KubernetesのReplicaSetに関連しています。
② Httpポート : アプリケーションで使用されるポートを設定します。デフォルト値はアプリフレームワークに基づいて異なります。Kubernetesのコンテナポートに関連しています。
- SPRINGBOOTまたはDOCKERのデフォルトは8080です。
- VUE/REACT/NEXACROのデフォルトは80です。
③ CPUリクエスト : アプリケーションのメインコンテナに対して初期リクエストされるCPU仕様を設定します。CPUリクエスト属性が選択されているときに有効になります。デフォルトは500(m)です。KubernetesのCPUリクエストに関連しています。
④ CPU制限 : アプリケーションのメインコンテナに対して最大CPU仕様を設定します。CPU制限属性が選択されているときに有効になります。デフォルトは1000(m)です。KubernetesのCPU制限に関連しています。
⑤ メモリリクエスト(Mi) : アプリケーションのメインコンテナに対して初期リクエストされるメモリ仕様を設定します。メモリリクエスト属性が選択されているときに有効になります。デフォルトは128(Mi)です。Kubernetesのメモリリクエストに関連しています。
⑥ メモリ制限(Mi) : アプリケーションのメインコンテナに対して最大メモリ仕様を設定します。メモリ制限属性が選択されているときに有効になります。デフォルトは256(Mi)です。Kubernetesのメモリ制限に関連しています。
最適なメモリ使用量が決定されていない場合、実際の使用量よりも低いメモリ制限を設定すると、OutOfMemory (OOM)の問題が発生する可能性があるため、この制限を設定する際には注意が必要です。
Application [Basic Deployment Settings / Service] Detailed Settings
クラスター内でのアプリケーションの内部/外部通信に必要な情報を設定します。
① サービスタイプ : アプリケーションの内部および外部通信のためのサービスタイプは、クラスターが提供するサービスの種類に依存します。
- ClusterIP: 主に、このモードはアプリケーションがクラスター内でのみ通信できるようにします。外部アクセスのための追加設定は必要ありません。ただし、サービス通信が必要な場合は、ポートフォワーディング機能を使用してアクセスできます。
- NodePort: このモードは、外部アクセスのためにクラスター内にポート(デフォルト範囲: 30000-32767)を割り当てます。内部通信方法はClusterIPと同じです。
- LoadBalancer: クラウドプロバイダーによってサポートされる外部ロードバランサーを持つ環境では、ロードバランサーのプロビジョニングに接続します。ロードバランサーの作成は非同期であり、クラウドプロバイダーの環境に依存します。内部通信方法はClusterIPと同じです。
② サービスアノテーション : サービスアノテーションは、アプリケーションのサービス設定に特定のアノテーションを注入します。これは、クラウドプロバイダーやクラスター環境が提供する特定の機能を拡張するために使用されます。
- キー/値形式で記述する必要があり、キーまたは値はnullにできません。
- アイコン「+」をクリックすることで、複数のアノテーションを作成できます。
③ セッションアフィニティ : この設定は、クライアントリクエストを同じアプリケーショングループ内の特定のポッドに一貫して接続したい場合に使用されます。デフォルト設定はNoneで、セッションアフィニティは設定されていません。ClientIPに設定すると、クライアントのIPがチェックされ、同じポッドへの接続が維持されます。
- デフォルト値はNoneです。ほとんどのアプリケーションではこの設定は必要ありません。
④ サービスポート : これは、アプリケーションのためにサービスが通信を受け取るポート情報です。クラスター内の内部サービスおよび外部からサービスにアクセスするためのさまざまな方法のポートが含まれます。受信した情報は、実際のアプリケーションが応答するターゲットポート情報にリンクされています。
- サービスは、受信したすべてのポートをターゲットポートにマッピングでき、便宜上、両方に同じ値が設定されることがよくあります。
- SPRINGBOOTまたはDOCKERのデフォルト値は8080です。
- VUE/REACT/NEXACROのデフォルト値は80です。
⑤ ターゲットポート : これは、アプリケーションの内部サービスが応答するポート情報です。サービスは、サービスを表すポートを指定します。
- サービスは、受信したすべてのサービスポートをターゲットポートにマッピングでき、便宜上、両方に同じ値が設定されることがよくあります。
- SPRINGBOOTまたはDOCKERのデフォルト値は8080です。
- VUE/REACT/NEXACROのデフォルト値は80です。
Application Data & Messaging Management Settings
SpringBootアプリフレームワークをAPIサーバーとして使用するアプリケーションでは、バックエンドサービスに関連する設定を追加することで、アプリケーション設定データを自動的に注入する機能があります。
① メッセージチャネル : RabbitMQやKafkaなどのバックエンドサービスからのメッセージチャネル関連情報の自動設定を提供します。
② DBアクセス : MariaDB、MongoDB、PostgreSQL、Oracleなどのデータベース関連バックエンドサービスの自動設定を提供します。
③ インメモリ : Redisなどのインメモリ関連バックエンドサービスの自動設定を提供します。
Detailed Settings for Application Data & Messaging Management /Message Channel
プロファイルのバックエンドサービスに登録されたメッセージチャネルタイプ(RabbitMQ、Kafka)について、アプリケーションがクラスターにデプロイされるときに設定情報が自動的に注入されます:
① メッセージチャネル(メッセージチャネルプロパティ使用) : メッセージチャネルプロパティを使用するかどうかを選択します。有効にすると、関連設定が適用されます。 ② ブローカーインスタンス : プロファイルのバックサービスリストからメッセージチャネル(RabbitMQ、Kafka)に関連するサービスを1つ選択します。設定は自動的にSpringBootアプリケーションの構成に注入されます。
- RabbitMQの場合:
- spring.rabbitmq.host : RabbitMQホストアクセス情報を管理します。
- spring.rabbitmq.port : RabbitMQポート情報を管理します。
- spring.rabbitmq.username : RabbitMQユーザー情報を管理し、秘密として提供されます。
- spring.rabbitmq.password : RabbitMQユーーパスワードを管理し、秘密として提供されます。
- Kafkaの場合:
- spring.kafka.bootstrap-servers : Kafkaブートストラップアクセスホスト情報を管理します。
アプリケーションデータおよびメッセージ管理の詳細設定 / DBアクセス
プロファイルのバックエンドサービスに登録されたバックサービスタイプ(MariaDB、MongoDB、PostgreSQL、Oracle)を選択し、アプリケーションがクラスターにデプロイされるときに設定情報が自動的に注入されるようにします。
① DBアクセス(DBアクセスプロパティの使用) : DBアクセスプロパティを使用するかどうかを選択します。有効にすると、関連する設定が適用されます。
② DBインスタンス : プロファイルのバックサービスリストからデータベース(MariaDB、MongoDB、PostgreSQL、Oracle)に関連するサービスを1つ選択します。設定は自動的にSpringBootアプリケーションの構成に注入されます。
- MariaDBタイプの場合、次の設定が管理されます:
- spring.datasource.driver-class-name : MariaDBを使用するためのドライバーを設定します。
- spring.datasource.url : MariaDBホストアクセス情報を設定します。
- spring.datasource.username : MariaDBユーザー情報を設定し、秘密として管理されます。
- spring.datasource.password : MariaDBユーザーパスワードを設定し、秘密として管理されます。
- MongoDBタイプの場合、次の設定が管理されます:
- spring.data.mongodb.host : MongoDBホストアクセス情報を設定します。
- spring.data.mongodb.port : MongoDBアクセスポートを設定します。
- PostgreSQLタイプの場合、次の設定が管理されます:
- spring.datasource.driver-class-name : PostgreSQLを使用するためのドライバーを設定します。
- spring.datasource.url : PostgreSQLホストアクセス情報を設定します。
- spring.datasource.username : PostgreSQLユーザー情報を設定し、秘密として管理されます。
- spring.datasource.password : PostgreSQLユーザーパスワードを設定し、秘密として管理されます。
- Oracleタイプの場合、次の設定が管理されます:
- spring.datasource.driver-class-name : Oracle DBを使用するためのドライバーを設定します。
- spring.datasource.url : Oracle DBホストアクセス情報を設定します。
- spring.datasource.username : Oracle DBユーザー情報を設定し、秘密として管理されます。
- spring.datasource.password : Oracle DBユーザーパスワードを設定し、秘密として管理されます。
アプリケーションの [データおよびメッセージ管理設定 / インメモリ] 詳細構成 (編集)
この構成は、プロファイルのバックエンドサービスに登録されたインメモリタイプのバックサービス(Redis)を選択することを含みます。アプリケーションがクラスターにデプロイされると、選択された構成に基づいてこれらの設定が自動的に注入されます。
① キャッシュ : キャッシュ属性を使用するかどうかを選択します。有効にすると、関連する設定が適用されます。
② キャッシュインスタンス : プロファイルに登録されたインメモリタイプのサービスからターゲットキャッシュインスタンスを選択します。
③ デフォルトの有効期限 : キャッシュのデフォルトの有効期限を設定します。デフォルト値は3600(秒)です。これはSpringBootアプリケーションの構成でspring.cache.redis.default-expire-timeとして設定されます。
④ TTL : キャッシュ情報の生存時間(TTL)を設定します。デフォルト値は3600(秒)です。これはSpringBootアプリケーションの構成でspring.cache.redis.time-to-liveとして設定されます。
⑤ キープレフィックス : キャッシュで使用されるキーのプレフィックス値を設定します。デフォルト値はmyCacheです。これはSpringBootアプリケーションの構成でspring.cache.redis.keyprefixとして設定されます。
⑥ キープレフィックスの使用 : キャッシュキーのプレフィックスを有効にするかどうかを設定します。デフォルト値はtrueです。これはSpringBootアプリケーションの構成でspring.cache.redis.use-key-prefixとして設定されます。
① セッション(セッション属性の使用) : セッション属性を使用するかどうかを選択します。この設定を有効にすると、セッション管理のための関連構成が適用されます。
② セッションタイプ : Redisセッションのタイプを指定します。
- Redisセッション: Spring WebMVCに基づくモジュールで使用されます。
- RedisセッションWebflux: Spring WebFluxに基づくモジュールに適用されます。
③ セッションインスタンス : プロファイルに登録されたインメモリタイプのサービスからセッションインスタンスのターゲットを選択します。
④ フラッシュモード : セッションデータがサーバーに書き込まれる方法を定義します。ON_SAVEとIMMEDIATEの間で選択します。SpringBootアプリケーションの設定でspring.session.redis.flush-modeとして構成されます。デフォルト値はON_SAVEです。
- ON_SAVE: 呼び出し時にセッションサーバーに保存します。
- IMMEDIATE: 呼び出しに関係なく、すぐにセッションサーバーに記録します。
⑤ 保存モード : セッション保存モードを選択します。ALWAYSまたはON_SET_ATTRIBUTEのいずれかです。SpringBootアプリケーションの設定でspring.session.redis.save-modeとして構成されます。デフォルト値はALWAYSです。
- ALWAYS: すべてのセッション属性を常に保存します。
- ON_SET_ATTRIBUTE: 変更のみを保存します。
⑥ 名前空間 : これはRedisの名前空間で、デフォルト値はspring:sessionです。SpringBootアプリケーションの設定でspring.session.redis.namespaceとして構成されます。
⑦ タイムアウト : セッションの有効期限を設定します。デフォルト値は60分です。SpringBootアプリケーションの設定でspring.redis.timeoutとして構成されます。