Java 開発者向けの GitHub Copilot モダン化の定義済みタスク

この記事では、GitHub Copilot モダン化のために Java 開発者が使用できる定義済みのタスクについて説明します。

定義済みのタスクは、Azure サービスを使用するための業界のベスト プラクティスをキャプチャします。 現在、GitHub Copilot モダン化には、一般的な移行シナリオに対応する定義済みのタスクが用意されています。 これらのタスクは次のようなテーマに取り組みます。

  • 機密管理
  • メッセージ キューの統合
  • Monitoring
  • ID 管理

Note

この一覧は、顧客からのフィードバックと進化するクラウド のニーズに基づいて増加します。

タスク リスト

GitHub Copilot モダン化では、現在、次の定義済みタスクがサポートされています。

  • RabbitMQ から Azure Service Bus へ

    これらのタスクは、Spring Advanced Message Queuing Protocol (AMQP)、Spring Java Message Service (JMS)、または AMQP 上の Java EE / Jakarta EE を介して RabbitMQ を使用する Java アプリケーションを、メッセージング パターンとセマンティクスを維持しつつ、既定で安全な認証を有効にしながら、代わりにマネージド サービスである Azure Service Bus を使用するように変換します。

  • Azure へのデータベース移行のマネージド ID

    Azure データベース オファリング (Azure SQL Server、Azure Database for MySQL、Azure Database for PostgreSQL、Azure Cosmos DB for Cassandra API、および Azure Cosmos DB for MongoDB) は、マネージド ID を使用したセキュリティで保護されたサインインをサポートします。 ローカル データベースからマネージド Azure クラウド データベースにアプリケーションを移行する場合、このタスクは、マネージド ID 認証用のコードベースをデータベースに準備するのに役立ちます。

  • Azure での資格情報移行のマネージド ID

    接続文字列を使用した認証では、セキュリティの脆弱性とメンテナンスのオーバーヘッドが発生します。 このタスクは、Java アプリケーションを変換して、Azure Event Hubs や Azure Service Bus などのメッセージング サービスに Azure のマネージド ID 認証を使用します。 Microsoft Identity クライアント ライブラリと統合すると、コードで機密性の高い接続文字列や Shared Access Signature を構成ファイルに格納する必要がなくなりました。

  • アマゾン ウェブ サービス (AWS) S3 から Azure Storage BLOB

    サービスを AWS から Azure に移行する場合は、AWS S3 から Azure Storage BLOB に移行できます。 このタスクは、AWS S3 と対話するコード ロジックを、同じセマンティクスを維持しながら、Azure Storage BLOB を操作するコード ロジックに変換するのに役立ちます。

    この移行の知識は、Azure Storage チームと共同で開発され、Blob Storage API、認証パターン、プラットフォーム固有の動作に関する深い専門知識を基にして、ガイダンスに運用環境レベルのベスト プラクティスが確実に反映されるようにしました。

  • ローカル ファイルへのログ記録

    Azure ホスティング サービスは既定で Azure Monitor と統合され、コンソールにログ出力が収集され、クエリと監視が可能になります。 同時に、クラウド環境のファイルへのログ記録は、追加のログローテーションと転送が必要になるため、推奨されません。 このタスクは、アプリケーションのファイル ベースのログ記録をコンソール ベースのログに変換し、Azure Monitor との統合の準備を整えるのに役立ちます。

  • ローカルファイルのI/OをAzure Storageファイル共有にマウントする

    Azure ホスティング サービスは、プロビジョニング、スケーリング、フェールオーバーなどの柔軟性を提供します。 同時に、特定のアプリケーション ランタイムのファイル システムは一時的なものです。 アプリケーションがローカル ファイルから読み取ったり、ローカル ファイルに書き込んだりする場合、このタスクはそのようなケースを特定し、それらを統合マウント パス アクセスに変換するのに役立ちます。 これにより、指定したパスに Azure Storage ファイル共有をマウントできます。これにより、再配置、フェールオーバー、または同様の問題を気にすることなく、アプリケーションで異なるレプリカ間でデータを共有および保持できます。

  • Java から Azure Communication Services へのメール

    簡易メール転送プロトコル (SMTP) の依存関係を持つアプリケーションの移行は、すべての Azure 環境がポート 25 で送信要求をサポートしているわけではないため、困難な場合があります。 このタスクは、SMTP 経由でメールを送信するアプリケーションを、Azure ホスティング環境と完全に互換性のある Azure Communication Services を使用するように変換するのに役立ちます。

  • Azure Key Vault へのシークレットと証明書の管理

    このタスクは、機密性の高いセキュリティ資産を Azure Key Vault に移行するのに役立ちます。 コードベースでハードコーディングされたシークレットと、Java KeyStores で管理されているローカル TLS/mTLS 証明書の両方をサポートします。 シークレットの場合、疑わしいシークレット テキストを識別し、Azure Key Vault からデータを取得するロジックに変換します。 証明書の場合は、同じ機能とセキュリティ体制を維持しながら、アプリケーションをローカルでの証明書の管理から Azure Key Vault の Java Cryptography Architecture (JCA) プロバイダーの使用に移行します。

  • Azure Key Vaultへの暗号化操作

    暗号化操作を実行するアプリケーションJava、一元化された監査可能なサービスの外部でキーをローカルで管理します。 このタスクは、ローカル暗号化ロジックをAzure Key Vaultに移行し、アプリケーションの既存の動作を維持しながら、コンテナーから離れないキーに対して署名、検証、暗号化、および暗号化解除の操作を実行できるようにします。

  • Microsoft Entra ID 認証に対するユーザー認証

    Java アプリケーションでは、多くの場合、Azure に簡単に移行できない LDAP ベースの認証ソリューションが使用されます。 このタスクは、ローカル ユーザー認証メカニズムを、認証に Microsoft Entra ID を使用するメカニズムに移行するのに役立ちます。

  • データベース製品から Azure のデータベース サービスへ

    オンプレミス データベース (Oracle、IBM Db2、Informix、Sybase Adaptive Server Enterprise (ASE) など) で実行されているJavaアプリケーションは、フル マネージド クラウド エクスペリエンスのためにAzure Database for PostgreSQLまたはAzure SQL Databaseに移行できます。 これらのタスクは、パスワードなしのMicrosoft Entra ID認証を使用してターゲット Azure データベースに接続し、ソース固有の SQL 構文、データ型、および関数をターゲット言語と調整するようにアプリケーションを更新するため、アプリケーションはAzureで同じ動作を維持します。

  • AWS シークレットマネージャー から Azure キーボールト へ

    AWS Secret Manager から Azure Key Vault に移行するには、アプリケーションで機密情報を処理する方法を再構成する必要があります。 このタスクは、作成と取得から更新と削除まで、コード内のシークレット管理のすべての側面を変換し、Azure Key Vault の包括的なセキュリティ機能と認証モデルを使用します。

  • ActiveMQ から Azure Service Bus

    Apache ActiveMQ 上に構築されたアプリケーションは、Azure のマネージド メッセージング サービスを使用するように最新化できます。 このタスクは、ActiveMQ メッセージ プロデューサー、コンシューマー、接続ファクトリ、キュー/トピックの相互作用を Azure Service Bus と同等の操作に変換し、クラウド環境での信頼性と認証のベスト プラクティスを実装します。

  • アマゾン ウェブ サービス (AWS) Simple Queue Service (SQS) から Azure Service Bus

    AWS SQS から Azure Service Bus への移行には、キュー操作とメッセージ処理パターンの再実装が含まれます。 このタスクは、SQS 固有のコードコンストラクトを Azure Service Bus に変換し、Azure の強化されたセキュリティ機能を導入しながら、少なくとも 1 回の配信、メッセージのバッチ処理、可視性タイムアウト動作などの重要なメッセージング セマンティクスを維持します。

  • Maven プロジェクトへの Ant/Eclipse プロジェクト

    Apache Ant または Eclipse IDE プロジェクトでビルドされたJavaプロジェクトは、命令型スクリプトまたは IDE 固有のメタデータに依存します。これにより、依存関係管理が複雑になり、自動化されたヘッドレス ビルドが困難になります。 これらのタスクは、ソース コードを変更せずに、Maven を使用して依存関係が解決され、プロジェクト レイアウトが Maven 規則に合わせて調整された状態で、任意の環境から一貫してビルドされる Maven プロジェクトに Ant または Eclipse プロジェクトを変換します。

  • Azure Managed Redis 向けのキャッシュ ソリューション

    多くの場合、アプリケーションは、インメモリ ライブラリから分散システム (Infinispan、SwarmCache、Memcached など) まで、シームレスなAzure統合と一元化されたスケーラビリティやセキュリティを欠くさまざまなキャッシュ ソリューションに依存します。 このタスクでは、これらの実装を Azure Managed Redis (または廃止Azure Cache for Redis) に移行することでキャッシュ 層を最新化し、既存のキャッシュ動作を維持しながら、クラウドネイティブのスケーラビリティ、統合管理、パスワードレスMicrosoft Entra ID認証によるセキュリティの向上を実現します。

こちらも参照ください

クイック スタート: 独自のスキルを作成して適用する