2

AMI を ec2 に登録しようとすると、いくつかの問題が発生します。これが私が行ったことです: 既に存在する AMI を s3 バケットにダウンロードしました。この AMI は問題なく登録できます。(Webアプリで試してみると、この既存のamiで)

新しいバケットに再アップロードすると、新しく作成されたバケットから AMI を登録しようとすると、次のエラーで失敗します。

ステータス コード: 400、AWS サービス: AmazonEC2、AWS リクエスト ID: X、AWS エラー コード: InvalidManifest、AWS エラー メッセージ: URL http://s3.amazonaws.com:80/testclementusnew/0/に対する HTTP 403 (禁止) 応答node_ec2_infra.manifest.xml : S3 ACL が正しいことを確認します。

私は同じアカウントを使用してアップロードと登録を行い、ファイルの [アクセス許可] セクションで、私のアカウントにはすべてのアクセス許可があります。

Java SDK の最新バージョンを使用しています。s3 と ec2 に次のエンドポイントを指定します。

ヨーロッパのエンドポイントでも試してみましたが、同じエラーが発生しました...

バケットは、適切な s3 エンドポイントにも配置されています。

誰もがこのエラーを解決する方法を知っていますか?

4

1 に答える 1

0

かなりハックな回避策ですが、これは私にとってはうまくいきました:

wget http://curl.haxx.se/ca/cacert.pem最初に、更新された CA 証明書リストを取得する必要があります。

次に、ec2-ami-tools curl ライブラリを編集します。私は次の場所にいました:

/usr/lib/ec2-ami-tools/lib/ec2/common/curl.rb

68行目をから変更しました

invocation << ' -w "Response-Code: %{http_code}\nContent-Type: %{content_type}"'

invocation << ' -w "Response-Code: %{http_code}\nContent-Type: %{content_type}" --cacert /path/to/cacert.pem'
于 2013-09-23T14:32:24.923 に答える