Application Basic Settings
これは、AMDPにおけるプロジェクト/プロファイルレベルでのアプリケーション管理のためのページです。各アプリケーションは、プロジェクトとプロファイルの設定および情報(クラスター、ネームスペース、Gitなど)を指します。アプリケーションの特性に基づいて、デフォルトの設定とリソースで即座にビルド/デプロイでき、バックサービス接続のような専門的な設定も使用のために変更できます。
アプリケーション基本設定リスト
アプリケーションの情報に設定されたワークロードタイプやアプリフレームワークの設定に基づいて、すぐに使用可能な一般的なデフォルト値に基づいた機能を提供します。
アプリケーションに設定された値は、保存後すぐには反映されません。
設定は、デプロイメントパイプラインを通じてビルド/デプロイメントプロセスが実行された後にのみ適用されます。
アプリケーション基本設定の各項目の説明:
基本デプロイメント設定
- デプロイメント : アプリケーションの数量、リソース使用量などを設定します。
- サービス : クラスター内での通信のためのサービスタイプとサービスポートを設定します。
データ&メッセージ管理設定
- メッセージチャネル : アプリケーションで使用されるバックサービスのメッセージチャネルタイプを接続します。
- DBアクセス : アプリケーションで使用されるバックサービスのデータベースタイプを接続します。
- インメモリ : アプリケーションで使用されるバックサービスのインメモリタイプを接続します。
詳細アプリケーション [基本デプロイメント設定 / デプロイメント]
アプリケーションリスト画面のアクション列にある「編集」ボタンをクリックして、アプリケーションの基本デプロイメント設定におけるデプロイメントに関する情報を設定します。これには、レプリカの数、コンテナのアクセスポート、およびリソース属性が含まれます。
① レプリカ : 作成するインスタンス(ポッド)の数を指定します。デフォルト値は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)問題が発生する可能性があるため、この制限を設定する際には注意が必要です。
アプリケーション [基本デプロイ設定 / サービス] 詳細設定
クラスター内でのアプリケーションの内部/外部通信に必要な情報を設定します。
① サービスタイプ : 内部および外部通信のためのサービスタイプです。 アプリケーションは、クラスターによって提供されるサービスの種類に依存します:
- 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です。
アプリケーションデータとメッセージ管理設定
SpringBootアプリフレームワークをAPIサーバーとして使用するアプリケーションでは、バックエンドサービスに関連する設定を追加することで、アプリケーションの構成データを自動的に注入する機能があります。
① メッセージチャネル : RabbitMQやKafkaなどのバックエンドサービスからのメッセージチャネル関連情報の自動構成を提供します。
② DBアクセス : MariaDB、MongoDB、PostgreSQL、Oracleなどのデータベース関連バックエンドサービスの自動構成を提供します。
③ インメモリ : Redisなどのインメモリ関連バックエンドサービスの自動構成を提供します。
アプリケーションデータとメッセージ管理の詳細設定 / メッセージチャネル
プロファイルのバックエンドサービスに登録されたメッセージチャネルタイプ(RabbitMQ、Kafka)については、アプリケーションがクラスターにデプロイされるときに設定情報が自動的に注入されます:
① メッセージチャネル (メッセージチャネルプロパティの使用) : メッセージチャネルプロパティを使用するかどうかを選択します。有効にすると、関連する設定が適用されます。
② ブローカーインスタンス : プロファイルのバックサービスリストからメッセージチャネルに関連するサービス (RabbitMQ、Kafka) を選択します。設定は自動的に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) に関連するサービスを選択します。設定は自動的に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)を設定します。デフォルト値は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として構成されています。