Genel IP adresi olmayan bir sanal özel bulut (VPC) içindeki Elastic Compute Service (ECS) örneğinden API işlemlerini çağıramazsınız. Bu konu, bu örneklerden Alibaba Cloud dahili ağı üzerinden API işlemlerinin nasıl çağrılacağını açıklar.
Arka Plan
ECS genel uç noktalar sağlar. Bir ECS örneğinde genel bant genişliği veya genel IP adresi yoksa Alibaba Cloud komut satırı arabirimi (CLI) veya yazılım geliştirme kitleri (SDK) gibi araçları kullanarak API işlemlerini çağıramazsınız. Bu durumda API işlemlerini Alibaba Cloud dahili ağı üzerinden çağırmak için aşağıdaki iki yöntemden birini kullanabilirsiniz:
SDK: Java çekirdek kütüphanesi için SDK V4.5.3 ve sonraki sürümleri, VPC içindeki dahili ağ üzerinden API işlemlerini çağırmayı destekler.
CLI: CLI kullanırken uç noktayı ilgili bölgeye ait olanla değiştirerek API işlemlerini dahili ağ üzerinden çağırın.
Not:
Bu iki yöntem bölgeye özeldir. Bir uç noktayı yalnızca ECS örneğiyle aynı bölgedeki kaynakları yönetmek için kullanabilirsiniz. Bölgeler arası işlemler desteklenmez.
ECS örnekleri oluştururken Alibaba Cloud CLI veya bir SDK'nin zaten dağıtıldığı özel bir görüntü kullanın. Bu sayede örneklerin İnternet erişimi olmadığından bağımlılıkları yükleyememesi önlenir.
Aşağıdaki tabloda dahili ağ üzerinden API çağrılarını destekleyen ECS uç noktaları listelenmiştir. Kullandığınız uç noktanın bu listede bulunduğundan emin olun.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yöntem 1 (Önerilen): İşlemleri dahili ağ üzerinden çağırmak için SDK kullanma
Bir SDK kullanırken basit bir yapılandırma ile API işlemlerini dahili ağ üzerinden çağırabilirsiniz. Aşağıdaki Java kodu buna bir örnektir:
import com.aliyun.ecs20140526.Client;
import com.aliyun.ecs20140526.models.DescribeRegionsRequest;
import com.aliyun.ecs20140526.models.DescribeRegionsResponse;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;
public class Test {
public static void main(String[] args) throws Exception {
Config config = new Config();
// Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set.
config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"));
// Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set.
config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// For the endpoint, see https://api.alibabacloud.com/product/Ecs
config.setEndpoint("<ENDPOINT>");
// Initialize the ECS client.
Client ecsClient = new Client(config);
// Create a request object to query region information.
DescribeRegionsRequest describeRegionsRequest = new DescribeRegionsRequest();
// Create a runtime options object.
RuntimeOptions runtime = new RuntimeOptions();
// Send the request and obtain the response with region information.
DescribeRegionsResponse response = ecsClient.describeRegionsWithOptions(describeRegionsRequest, runtime);
System.out.println(response.body.toMap());
}
}
Yöntem 2: İşlemleri dahili ağ üzerinden çağırmak için CLI kullanma
Bu örnekte DescribeRegions işlemi kullanılmıştır. Örnek komut aşağıdaki gibidir:
aliyun ecs DescribeRegions --endpoint ecs-vpc.cn-hangzhou.aliyuncs.com