2017-07-05 17 views
0

私がAWSにいたときはいつも、eu-west-1を使用していましたが、私が書いたC#コードはうまく認証されています。常に複数のリージョンが使用されることを意図していたので、regionURLは構成オプションです。文字通り文字列のリスト。今までのリストは1つ長くなっています。Amazon AWS - 一部の地域は認証されませんが、他の地域は認証されますか?

アプリケーションの一般的なやり方は、設定されたURLを列挙するループ内で、クライアントを作成し、実行されていない特定の名前パターンを持つインスタンスを探して起動することです。今まで私は最近eu-central-1ので、私が追加した別の領域にEC2インスタンスを追加し始めたクライアントを作成するとき、それはその領域のみ

にのみ停止のインスタンスを列挙すると、そのregionURLを使用しますので、唯一のeu-west-1が設定されていましたeu-central-1設定への地域ベースURL。私は設定を反復するループが正常に動作する知っている(私は、デバッガを添付して文字などを末尾の文字列を検査しました - すべてが正常に見える)、およびこれらが設定され地域のURLです:

https://eu-west-1.ec2.amazonaws.com 
https://ec2.eu-central-1.amazonaws.com 

アプリが出るたび

AWSが提供するアクセスを検証することができませんでした:それは最初eu-west-1取得領域のURLを列挙し、それが正常に動作しますが、ループはeu-central-1に周り.DescribeInstancesへの呼び出し(...を)来るときすることで失敗します資格情報

クライアントの作成方法には実質的な違いはありません。これは文字通りeu-west-1のために働いた全く同じコードです。コードで何かに資格情報を提供するために特別な努力をしているわけではありません。 web.configにはAWSAccessKeyAWSSecretKeyのキー値のペアがあります。私はいつもAWS SDKが暗黙のうちにアプリケーションのdllの部分にアクセスすると仮定してきました。

リージョンの資格情報を有効にするためにコンソールで行う必要がありますか?地域のURLがさまざまな順序で重視されているという事実はありますか(私はcentralというURLをアマゾンのヘルプ文書から外していますが、wesのURLはいつもの通りです)。

+0

Hmmm。 IAMは、グローバルな数少ないAWSサービスの1つです。そのため、問題がどのようなものかわかりません。 – Henry

答えて

1

私は、AWSネームスペースのスキーマの変更点を反映するようにさまざまなクラスの名前を変更し、すべて同じロジックを維持するように、AWS SDKを1.5からバージョン3.3にアップグレードしました。

は、私はまた、唯一の変化はなかったこれらの静的呼び出しRegionEndpoint.GetBySystemName("eu-west-1")

を使用した場合の領域としてURLがSDK自体に組み込まれているように見える、コンフィグ領域名に、コンフィグ領域のURLを指定してから切り替え、とすべてが自動的に作業を開始しました; APIキーはWeb設定のみでまだ指定されていますが、私のコードでSDKを使用していると仮定して動作しています。

+2

新しい地域では、最新のSDKでサポートされている別の認証形式(Sig v4)を使用しています。 AWSが急速に変化するので、常に最新バージョンのライブラリを使用することをお勧めします。 –

+0

ありがとうジョン;それは答えだろう –

関連する問題