AWS-开发工具包 从实例配置文件元数据服务器检索凭证时出错



最近我的网络服务器由于以下原因停止响应:

从实例配置文件元数据服务器检索凭证时出错

搜索此错误时,我发现了一个建议,即使用 CredentialProvider 在本地缓存凭据,这样服务器就不必为每个请求访问元数据服务器。但它们中的大多数都是在 ENV 变量或文件中的凭据上下文中

我想问一下这是否也适用于 IAM 角色,如果是,这段代码有意义吗?

        $s3 = S3Client::factory(array(
                         'region' => S3_REGION,
                         'version' => '2006-03-01',
                         'credentials' => CredentialProvider::memoize(CredentialProvider::defaultProvider())
         ));
        try {
            $response = $s3->putObject($option);
        } catch ( Exception $e ) {
            error_log(' couldn't set S3 cache for bucket: ' . $option['Bucket'] . ' ' . $e->getMessage());
            return false;
        }

所以我的问题是,对于 IAM 角色,我应该使用凭证提供程序吗?

是的,你的代码是有意义的,将是一个改进。

亚马逊将限制发往169.254.169.254的请求。这很可能是错误消息的来源。我不记得限制是多少,但建议缓存实例凭据。memoize()函数为您完成此操作。

[编辑]

亚马逊对节流的评论。没有提到具体数字。

我们基于每个实例限制对实例元数据

服务的查询,并对从实例到实例元数据服务的同时连接数施加限制。

实例元数据

相关内容

  • 没有找到相关文章

最新更新