Skip to content

Commit 4c02a01

Browse files
committed
Wrong endpoint for cn-north-1
Commit ea9609c does not work as expected. China is not part of the [S3 regions](http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) but part of [Isolated Regions](http://docs.aws.amazon.com/general/latest/gr/isolated_regions.html). The patch uses for S3 `s3-cn-north-1.amazonaws.com` which is wrong because in that case the end point is `s3.cn-north-1.amazonaws.com.cn`. Same goes for EC2 which was `ec2.cn-north-1.amazonaws.com` but should be `ec2.cn-north-1.amazonaws.com.cn`. Related documentation: * http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region * http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region * http://docs.aws.amazon.com/general/latest/gr/isolated_regions.html Closing #156 (cherry picked from commit 491a59b) (cherry picked from commit f12cacc)
1 parent c7187f2 commit 4c02a01

File tree

2 files changed

+10
-26
lines changed

2 files changed

+10
-26
lines changed

src/main/java/org/elasticsearch/cloud/aws/AwsEc2Service.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public synchronized AmazonEC2 client() {
126126
} else if (region.equals("sa-east") || region.equals("sa-east-1")) {
127127
endpoint = "ec2.sa-east-1.amazonaws.com";
128128
} else if (region.equals("cn-north") || region.equals("cn-north-1")) {
129-
endpoint = "ec2.cn-north-1.amazonaws.com";
129+
endpoint = "ec2.cn-north-1.amazonaws.com.cn";
130130
} else {
131131
throw new ElasticsearchIllegalArgumentException("No automatic endpoint could be derived from region [" + region + "]");
132132
}

src/main/java/org/elasticsearch/cloud/aws/InternalAwsS3Service.java

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -159,42 +159,26 @@ private String getDefaultEndpoint() {
159159
}
160160

161161
private static String getEndpoint(String region) {
162-
if ("us-east".equals(region)) {
162+
if ("us-east".equals(region) || "us-east-1".equals(region)) {
163163
return "s3.amazonaws.com";
164-
} else if ("us-east-1".equals(region)) {
165-
return "s3.amazonaws.com";
166-
} else if ("us-west".equals(region)) {
167-
return "s3-us-west-1.amazonaws.com";
168-
} else if ("us-west-1".equals(region)) {
164+
} else if ("us-west".equals(region) || "us-west-1".equals(region)) {
169165
return "s3-us-west-1.amazonaws.com";
170166
} else if ("us-west-2".equals(region)) {
171167
return "s3-us-west-2.amazonaws.com";
172-
} else if ("ap-southeast".equals(region)) {
173-
return "s3-ap-southeast-1.amazonaws.com";
174-
} else if ("ap-southeast-1".equals(region)) {
168+
} else if ("ap-southeast".equals(region) || "ap-southeast-1".equals(region)) {
175169
return "s3-ap-southeast-1.amazonaws.com";
176170
} else if ("ap-southeast-2".equals(region)) {
177171
return "s3-ap-southeast-2.amazonaws.com";
178-
} else if ("ap-northeast".equals(region)) {
179-
return "s3-ap-northeast-1.amazonaws.com";
180-
} else if ("ap-northeast-1".equals(region)) {
172+
} else if ("ap-northeast".equals(region) || "ap-northeast-1".equals(region)) {
181173
return "s3-ap-northeast-1.amazonaws.com";
182-
} else if ("eu-west".equals(region)) {
174+
} else if ("eu-west".equals(region) || "eu-west-1".equals(region)) {
183175
return "s3-eu-west-1.amazonaws.com";
184-
} else if ("eu-west-1".equals(region)) {
185-
return "s3-eu-west-1.amazonaws.com";
186-
} else if ("eu-central".equals(region)) {
187-
return "s3.eu-central-1.amazonaws.com";
188-
} else if ("eu-central-1".equals(region)) {
176+
} else if ("eu-central".equals(region) || "eu-central-1".equals(region)) {
189177
return "s3.eu-central-1.amazonaws.com";
190-
} else if ("sa-east".equals(region)) {
191-
return "s3-sa-east-1.amazonaws.com";
192-
} else if ("sa-east-1".equals(region)) {
178+
} else if ("sa-east".equals(region) || "sa-east-1".equals(region)) {
193179
return "s3-sa-east-1.amazonaws.com";
194-
} else if ("cn-north".equals(region)) {
195-
return "s3-cn-north-1.amazonaws.com";
196-
} else if ("cn-north-1".equals(region)) {
197-
return "s3-cn-north-1.amazonaws.com";
180+
} else if ("cn-north".equals(region) || "cn-north-1".equals(region)) {
181+
return "s3.cn-north-1.amazonaws.com.cn";
198182
} else {
199183
throw new ElasticsearchIllegalArgumentException("No automatic endpoint could be derived from region [" + region + "]");
200184
}

0 commit comments

Comments
 (0)