このガイドでは、実際の呼び出しチェーンをシミュレートすることにより、Serverless App Engine (SAE) でローカル開発環境とテスト環境間のトラフィック分離を自動的に実装する方法を示し、迅速な開発とデバッグを促進します。
前提条件
IntelliJ IDEA に Cloud Toolkit をインストールして構成します。
- オンプレミスとクラウドアプリケーション間のチャネルを確立するために、アプリケーションが存在する仮想プライベートクラウド (VPC) に Secure Shell (SSH) 経由でアクセスできる Elastic Compute Service (ECS) インスタンスが作成されます。 詳細については、「コンソールで ECS インスタンスを作成および管理する (簡易版)」をご参照ください。 重要
- ECS インスタンスとアプリケーションは、同じ VPC 内に存在する必要があります。
- SSH チャネルには、パスワードログインが必要です。 キーペアログインはサポートされていません。
- オペレーティングシステムにプロキシが構成されている場合、システムはオンプレミスアプリケーションとクラウドアプリケーション間のチャネルを確立できない場合があります。 プロキシを無効にしてから、再試行する必要があります。
背景
Spring Cloud マイクロサービスアプリケーションを例として使用すると、次の方法でトラフィック分離を実現できます。
トラフィックタグの設定
エンドクラウドデバッグの使用
SAE テスト環境またはローカル開発環境への異なるパスを介したトラフィックのルーティング
ビジネスコードの変更は不要

ステップ 1:SAE テスト環境へのアプリケーションのデプロイ
デモ アプリケーションをデプロイし、[spring-cloud-zuul]、[spring-cloud-a]、[spring-cloud-b]、[spring-cloud-c] という名前を付けます。 具体的な操作については、「Nacos へのアプリケーションのサービス登録と検出の変更」をご参照ください。
イメージまたは JAR パッケージ方式を使用してアプリケーションをデプロイでき、起動パラメーター -Dnacos.use.endpoint.parsing.rule=false と -Dnacos.use.cloud.namespace.parsing=false を構成して、購入した登録センターを利用する必要があります。
ステップ 2:エンドクラウド相互接続の構成
IntelliJ IDEA を起動します。
トップメニューバーで、 を選択します。
[設定] ダイアログボックスで、 を選択します。
[マイクロサービス] ページで、オンプレミスシステムとクラウドを相互接続するための関連パラメーターを構成します。
[プロキシ]:プロキシを設定するには、SAE アプリケーションと同じ VPC 内にパブリック IP を持つ ECS インスタンスを購入します。 次に、このインスタンスを [プロキシ] ページに追加します。
[マイクロサービス]:[マイクロサービス] ページで、プロキシを構成し、購入した MSE センターに登録します。
[MSE]:[MSE] ページで、関連パラメーターを構成します。
[ライセンスキー] と [アプリ名] を入力します。
SAE Webshell にログインし、次のコマンドを実行して [ライセンスキー] と [アプリ名] を取得します。
env | grep javaWebshell へのログイン方法については、「Webshell ウィンドウを全画面表示する」をご参照ください。
出力例:
JAVA_TOOL_OPTIONS=-javaagent:/home/admin/.opt/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar -Darms.licenseKey=iioe7jcnuk@a0bcdaec24f**** -Darms.appId=8641dbc9-8663-4c47-95f7-683fa6dd**** -Darms.agent.env=Serverless -Darms.agent.args= -Dprofiler.micro.service.canary.enable=true -Dprofiler.micro.service.metadata.report.enable=true -Dprofiler.micro.service.http.server.enable=true -Dmsc.appName=cn-shenzhen-test-sc-gateway-****** -Dmsc.licenseKey=iioe7jcnuk@460d62050fa****タグを設定します。 [タグ] フィールドに、local と入力します。
必要なエージェントをローカルコンピューターにダウンロードします。
[適用] をクリックし、次に [OK] をクリックします。
ローカルアプリケーションを起動し、統合デバッグが成功したことを確認します。
[情報] ダイアログボックスに、オンプレミスとクラウド間の相互接続が正常に有効になったことを確認するメッセージが表示された場合は、この機能がアクティブになっていることを意味します。
ステップ 3:トラフィックルーティングのテスト
クラウドネイティブゲートウェイに HTTP リクエストを送信する場合は、リクエストヘッダーに x-mse-tag=[local] を含めます。 構成されると、トラフィックは指定された環境で自動的にクローズドループを完了します。
キー x-mse-tag は静的フィールドです。 その値は環境タグと一致する必要があります。
環境タグを設定した後、curl コマンドを使用してトラフィック呼び出しリクエストを開始します。 結果は次のとおりです。
メインパス:
curl http://47.106.XX.XX:8080/A/a出力:
A[10.0.1.160] -> B[10.0.1.161] -> C[10.0.1.162]ブランチパス:
curl http://47.106.XX.XX:8080/A/a \--header 'x-mse-tag: local'出力:
A[127.0.0.1] -> B[127.0.0.1] -> C[10.0.1.162]