簡體   English   中英

使用Laravel AWS SDK在Route53中創建記錄集時出錯

[英]Error using Laravel AWS SDK to Create Record Set in Route53

我正在嘗試使用Amazon的PHP SDK和changeresourceRecordSets進行身份驗證並創建新的Route53記錄集。 這是我到目前為止所嘗試的內容:

  1. 安裝了適用於Laravel的AWS開發工具
  2. 使用Amazon的IAM創建新用戶和組,並將FullAdministrator策略應用於該組。
  3. 在我的.env文件中存儲新用戶憑據和其他AWS變量,如下所示:

代碼如下:

AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=XXYYZZ
AWS_SECRET_ACCESS_KEY=112233
AWS_ZONE_ID=UHUHUHUH
  1. 確認我的Laravel環境配置正確,我的控制器通過測試以下內容來工作:

代碼如下:

$s3 = AWS::createClient('s3');
$s3->putObject(array(
  'Bucket'     => 'mydomain.com',
  'Key'        => 'new.pdf',
  'SourceFile' => storage_path('app/old.pdf'),
));
  1. 一旦我確認我的憑據對S3有效,我就密切關注這個SO 答案和代碼來創建一個新的Route53客戶端並在我的Route53托管區創建一個新的記錄集。 這是我稍微修改過的代碼:

代碼如下:

$client = AWS::createClient('Route53');
//dd($client);  $client object returned, this works

$result = $client->changeResourceRecordSets(array(
    'HostedZoneId' => env('AWS_ZONE_ID'),
    'ChangeBatch' => array(
        'Comment' => 'just testing',
        'Changes' => array(
            array(
                'Action' => 'CREATE',
                'ResourceRecordSet' => array(
                    'Name' => 'test.mydomain.com.',
                    'Type' => 'A',
                    'TTL' => 600,
                    'ResourceRecords' => array(
                        array(
                            'Value' => '52.52.52.52',//my AWS IP address
                        ),
                    ),
                ),
            ),
        ),
    ),
));
  1. 產生的錯誤如下:

客戶端錯誤: POST https://route53.amazonaws.com/2013-04-01/hostedzone/MYZONE/rrset/導致403 Forbidden響應:發件人

更多來自錯誤......

SignatureDoesNotMatch(客戶端):簽名已過期:20160225T215502Z現在早於20160225T220842Z(20160225T221342Z - 5分鍾)

任何建議表示贊賞。

我應該補充一點,我在家園/虛擬機環境中運行,真正的問題是我的VM上的日期服務很糟糕。

只需運行sudo ntpdate -s time.nist.gov修復了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM