3

Eucalyptus で AWS Powershell を使用しようとしています。

パラメータ --endpoint-url を使用して AWS CLI でこれを行うことができます。

AWS powershell でエンドポイント URL を設定することはできますか? AWS Powershell で独自のエンドポイント URL を使用してカスタム リージョンを作成できますか?

4

2 に答える 2

2

- アップデート -

AWS Tools for Windows PowerShell の新しいバージョン (Get-AWSPowerShellVersion によると、私は 3.1.66.0 を実行しています) には、関連コマンド用のオプションの -EndpointUrl パラメータがあります。

例:

Get-EC2Instance -EndpointUrl https://somehostnamehere

さらに、前述の バグが修正されました。

いい物!


--元の回答--

TL;TR

  • ここからデフォルトのエンドポイント構成ファイルをダウンロードします: https://github.com/aws/aws-sdk-net/blob/master/sdk/src/Core/endpoints.json
  • それをカスタマイズします。例:

    {
        "version": 2,
        "endpoints": {
            "*/*": {
                "endpoint": "your_endpoint_here"
            }
        }
    }
    
  • AWSPowerShell モジュールをインポートしたら、カスタマイズしたエンドポイント構成を使用するよう SDK に指示します。例:

    [Amazon.AWSConfigs]::EndpointDefinition = "path to your customized Amazon.endpoints.json here"
    

注:基礎となる SDK には、パス コンポーネントを持つエンドポイントが正しく署名されない原因となるバグがあります。このバグは、このソリューションと @HyperAnthony が提案したソリューションに影響します。

追加情報

.NET SDK のドキュメントを読んで、ファイルに指定されたリージョン ルールをグローバルに設定できることを明らかにしたセクションに出くわしました: http://docs.aws.amazon.com/AWSSdkDocsNET/latest/V2/DeveloperGuide/net-dg -config-other.html#config-setting-awsendpointdefinition

残念ながら、そのようなファイルの形式が文書化されている場所はどこにも見つかりませんでした。

次に、AWSSDK.Core.dllコードを調べて、SDK がファイルをロードする場所を見つけました ( https://github.com/aws/aws-sdk-net/blob/master/sdk/src/の LoadEndpointDefinitions() メソッドを参照) 。 Core/RegionEndpoint.cs )。

コードを読んで、ファイルが AWSConfigs.EndpointDefinition で明示的に指定されていない場合、最終的に埋め込みリソース (つまり、https://github.com/aws/aws-sdk-net/blob/master/sdk ) からファイルをロードします。 /src/Core/endpoints.json )

于 2015-08-28T14:42:23.657 に答える
1

私はそうは思いません。この共通パラメータのリスト(すべての AWS PowerShell コマンドレットで使用できます) にはサービス URL が含まれていません。代わりにRegion、一連の既知のリージョンに基づいてサービス URL を設定する単純な文字列を選択しているようです。

このAWS .NET 開発フォーラムの投稿では、PowerShell で可能な代替手段に関心がある場合は、.NET SDK 構成オブジェクトにサービス URL を設定できることを提案しています。そのスレッドの使用例を次に示します。

$config=New-Object Amazon.EC2.AmazonEC2Config
$config.ServiceURL = "https://ec2.us-west-1.amazonaws.com"
$client=[Amazon.AWSClientFactory]::CreateAmazonEC2Client($accessKeyID,$secretKeyID,$config)

クライアントをセットアップするときに、ほとんどの構成オブジェクトで使用できるようです。ServiceURL プロパティを持つ例を次に示します。これは、ほとんどすべての AWS 構成オブジェクトにあると思います。

古いバージョンのドキュメント (v1 用) では、RegionEndpointが設定されている場合、このプロパティは無視されると記載されていました。これがv2でも当てはまるかどうかはわかりません。

于 2015-05-06T21:05:05.847 に答える