Alibaba Cloud CLI を使用して、Enterprise Distributed Application Service(EDAS)API を呼び出すことができます。EDAS SDK を使用して、Spring Cloud、Dubbo、および High-speed Service Framework(HSF)アプリケーションをデプロイできます。このトピックでは、Alibaba Cloud CLI を使用して、EDAS コンソールで Elastic Compute Service(ECS)クラスタにデモアプリケーションをデプロイする方法について説明します。
前提条件
ECS インスタンスが作成されていること。詳細については、「ECS インスタンスの作成」をご参照ください。
Alibaba Cloud CLI のインストール
Alibaba Cloud CLI は、macOS、Linux、および Windows オペレーティングシステムでサポートされています。
上記のオペレーティングシステムに Alibaba Cloud CLI をインストールする方法については、以下のトピックを参照してください。
AccessKey ペアの指定
Alibaba Cloud CLI を使用する前に、aliyun configure コマンドを実行して、Alibaba Cloud アカウントの AccessKey ペア、リージョン、および言語を指定します。
ユーザー管理コンソールの セキュリティ管理 ページで AccessKey ペアを作成および表示するか、システム管理者から AccessKey ペアを取得できます。
aliyun configure
Configuring profile 'default' ...
Aliyun Access Key ID [None]: <Your AccessKey ID>
Aliyun Access Key Secret [None]: <Your AccessKey Secret>
Default Region Id [None]: cn-hangzhou
Default output format [json]: json
Default Language [zh]: zh 構成が完了すると、次の情報が表示されます。
Configure Done!!!
..............888888888888888888888 ........=8888888888888888888D=..............
...........88888888888888888888888 ..........D8888888888888888888888I...........
.........,8888888888888ZI: ...........................=Z88D8888888888D..........
.........+88888888 ..........................................88888888D..........
.........+88888888 .......Welcome to use Alibaba Cloud.......O8888888D..........
.........+88888888 ............. ************* ..............O8888888D..........
.........+88888888 .... Command Line Interface(Reloaded) ....O8888888D..........
.........+88888888...........................................88888888D..........
..........D888888888888DO+. ..........................?ND888888888888D..........
...........O8888888888888888888888...........D8888888888888888888888=...........
............ .:D8888888888888888888.........78888888888888888888O ..............Alibaba Cloud CLI を使用してアプリケーションを作成する
次のスクリプトを実行して、ECS クラスタにアプリケーションを作成します。
#!/bin/bash
# アプリケーションをデプロイするリージョン。
REGION="cn-beijing"
# ECS インスタンスの ID。
ECS_ID="i-2z************b6"
# ECS インスタンスが属する仮想プライベートクラウド(VPC)の ID。
VPC_ID="vpc-t**********c"
# アプリケーションが属するマイクロサービス名前空間の名前。マイクロサービス名前空間が存在しない場合は、システムによって自動的にマイクロサービス名前空間が作成されます。
NAMESPACE="myNamespace"
# アプリケーションが存在する ECS クラスタの名前。 ECS クラスタが存在しない場合は、システムによって自動的にクラスタが作成されます。
CLUSTER_NAME="myCluster"
# アプリケーションの名前。
APP_NAME="myApp"
# 手順 1: マイクロサービス名前空間を作成します。
aliyun edas InsertOrUpdateRegion --RegionTag $REGION:$NAMESPACE --RegionName $NAMESPACE --region $REGION --endpoint "edas.cn-beijing.aliyuncs.com" >> /dev/null
# 手順 2: ECS クラスタを作成します。
CLUSTER_ID=`aliyun edas InsertCluster --ClusterName $CLUSTER_NAME --ClusterType 2 --NetworkMode 2 --VpcId $VPC_ID --logicalRegionId $REGION:$NAMESPACE --region $REGION --endpoint "edas.cn-beijing.aliyuncs.com" | sed -E 's/.*"ClusterId":"([a-z0-9-]*)".*/\1/g'`
# 手順 3: ECS インスタンスをインポートします。
aliyun edas TransformClusterMember --InstanceIds $ECS_ID --TargetClusterId $CLUSTER_ID --Password Hello1234 >> /dev/null
for i in `seq 300`
do
OUT=`aliyun edas ListClusterMembers --ClusterId $CLUSTER_ID | grep EcuId` && break
sleep 1
done
ECU_ID=`echo $OUT | sed -E 's/.*"EcuId":"([a-z0-9-]*)".*/\1/g'`
# 手順 4: アプリケーションを作成します。
APP_ID=`aliyun edas InsertApplication --ApplicationName $APP_NAME --BuildPackId 51 --EcuInfo $ECU_ID --ClusterId $CLUSTER_ID --logicalRegionId $REGION:$NAMESPACE | sed -E 's/.*"AppId":"([a-z0-9-]*)".*/\1/g'`
printf "An application is created by CLI, App ID:"$APP_ID"\n" Alibaba Cloud CLI を使用してアプリケーションをデプロイする
Alibaba Cloud CLI で次のコードを実行して、アプリケーションをデプロイします。
次のコードのパラメータの値は参照用です。APP_ID パラメータと GROUP_ID パラメータの値をアプリケーションの実際の値に置き換えてください。
#!/bin/bash
# デプロイするアプリケーションの ID。詳細については、このセクションの手順 5 を参照してください。
APP_ID="87a6*********************4d1"
# アプリケーショングループの ID。
GROUP_ID="54b*********************f27"
# デプロイパッケージをアップロードする Object Storage Service(OSS)バケットの名前。 OSS バケットはパブリックに読み取り可能である必要があります。
OSS_BUCKET="eda*****mo"
# 継続的インテグレーションシステムによって生成されるインストールパッケージ。
PACKAGE="hello-edas.war"
# アプリケーションのバージョン番号。タイムスタンプを指定することをお勧めします。
VERSION=`date +%s`
# 手順 1: デプロイパッケージを OSS バケットにアップロードします。
ossutil cp -f $PACKAGE oss://$OSS_BUCKET/$PACKAGE >> /dev/null
PKG_URL=`ossutil sign oss://$OSS_BUCKET/$PACKAGE|head -1`
# 手順 2: アプリケーションをデプロイするリクエストを送信します。
CO_ID=`aliyun edas DeployApplication --AppId $APP_ID --PackageVersion $VERSION --DeployType url --WarUrl "${PKG_URL}" --GroupId $GROUP_ID | grep '.*"ChangeOrderId":' | sed -E 's/.*"ChangeOrderId":\s"([a-z0-9-]*)".*/\1/g'`
# 手順 3: デプロイが完了するまで待ちます。
for i in `seq 300`
do
STATUS=`aliyun edas GetChangeOrderInfo --ChangeOrderId $CO_ID | grep '.*"PipelineStatus":' | sed -E 's/.*"PipelineStatus":\s(.).*/\1/g'`
[[ 2 = ${STATUS} ]] && break
sleep 1
done上記のコードのパラメータ値を取得するには、次の手順を実行します。
にログインします。
左側のナビゲーションペインで、 をクリックします。 [アプリケーション] ページで、デプロイするアプリケーションの名前をクリックします。
[基本情報] タブの右上隅にある [デプロイ] をクリックします。
[デプロイモードの選択] ページで、デプロイ開始[通常リリース(単一バッチ/複数バッチ)] の横にある をクリックします。
[定期リリース(単一バッチ/複数バッチ)] ページで、[mavenプラグイン設定の生成] をクリックしてパラメーター値を取得します。

結果の確認
デプロイが完了したら、次の手順を実行して、デプロイが成功したかどうかを確認します。
EDAS コンソール にログインします。
左側のナビゲーションペインで、 を選択します。
デプロイされたアプリケーションの名前をクリックし、[基本情報] の横にある [インスタンス情報] タブをクリックします。
インスタンスが [通常] 状態の場合、デプロイは成功です。
説明アプリケーションのデプロイに失敗した場合は、変更プロセスのエラーコードをクエリしてエラーを修正できます。詳細については、「変更プロセスで返される可能性のあるエラーコード」をご参照ください。
参考資料
EDAS の開発者ツールに関する DingTalk グループ
EDAS の開発者ツールを使用する際に質問や提案がある場合は、チケット を送信してください。フィードバックを提供するには、次の QR コードをスキャンするか、DingTalk グループ ID 34556175 を検索して DingTalk グループに参加することもできます。