クライアントから必要なアクセス キー/署名を取得したので、今すぐ Ruby SDK を介して API を操作できます。つまり、Ruby SDK には、スポット インスタンスを要求するための高レベル API メソッドがまったくありません。そのため、生の REST API リクエストを介して手動でこれを行う必要があります。
基本的に、私が使用している認証情報は (Ruby SDK を介して機能するため) 正しいのですが、生のリクエストを機能させることができません... スポット リクエスト ウィザードの Web ページが応答として返されるか、エラーが発生します。 :The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
私が使用しているURLは次のとおりです。
https://ec2.amazonaws.com/?Action=RequestSpotInstances
&SpotPrice.1=0.05
&AvailabilityZoneGroup.1=us-east-1c
&LaunchSpecification.ImageId.1=THE_AMI_ID
&LaunchSpecification.KeyName.1=THE_KEYPAIR
&LaunchSpecification.InstanceType.1=m1.medium
&AWSAccessKeyId=THE_ACCESS_KEY
&Signature=THE_ACCESS_SIGNATURE
&Version=>2013-10-01
&Expires=>THE_EXPIRATION_TIME_36000_SECONDS_LATER_THAN_NOW
&SignatureVersion=2
&SignatureMethod=HmacSHA256
なぜこれがうまくいかないのかについてのアイデアはありますか? Ruby SDK コードを調査して、彼らがどのようにそれを行っているかを調べてみましたが、非常に複雑で、このアクションが実際にどこで行われるのかわかりません。ありがとう!