0

AmazonAutoScalingAsync クライアントと他の多くのクライアントをセットアップしましたが、既存の ASG を取得できません。

BasicSessionCredentials sessionCredentials =
      new BasicSessionCredentials(
          credentials.getAccessKeyId(),
          credentials.getSecretAccessKey(),
          credentials.getSessionToken());
  // Assume role
  AWSSecurityTokenService sts_client_mfa =
      AWSSecurityTokenServiceClientBuilder.standard()
          .withRegion(region)
          .withCredentials(new AWSStaticCredentialsProvider(sessionCredentials))
          .build();

  AssumeRoleRequest request =
      new AssumeRoleRequest()
          .withRoleSessionName("proserv-" + username)
          .withRoleArn("myarn");
  AssumeRoleResult response = sts_client_mfa.assumeRole(request);

次に、次のように自動スケーリング クライアントをビルドします。

  autoScalingClient =
        AmazonAutoScalingAsyncClientBuilder.standard()
            .withCredentials(
                new AWSStaticCredentialsProvider(
                    new BasicSessionCredentials(
                        response.getCredentials().getAccessKeyId(),
                        response.getCredentials().getSecretAccessKey(),
                        response.getCredentials().getSessionToken())))
            .withRegion(region)
            .build();

これらは、AWS コンソールから行う手順と同じですが、Java コードで同じ結果を確認できません。

getAutoScalingClient()
        .describeAutoScalingGroupsAsync()
        .get()
        .getAutoScalingGroups()
        .forEach(
            group -> {
              System.out.println(group);
            });

    getAutoScalingClient()
        .describeAutoScalingInstancesAsync()
        .get()
        .getAutoScalingInstances()
        .forEach(
            entry -> {
              System.out.println(entry);
            });

何かご意見は?

4

1 に答える 1

0

ちょうどそれを理解しました。間違った地域を使用していました。正しいリージョンに切り替えた後、期待どおりに表示されました。

于 2020-03-09T14:34:58.170 に答える