跳到正文
TURNKEYGNU / LINUX
应用文档博客截图GitHubTurnKey Hub
文中文
EnglishEspañol中文日本語PortuguêsDeutsch
ưμ㼯A/排除 TKLBAM S3 访问中的问题

文档

排除 TKLBAM S3 访问中的问题

一般来说,TKLBAM"只是工作",但偶尔有些用户会遇到连接到亚马逊S3的问题.

共同问题

常见的原因是防火墙阻塞流量或网络代理(公司网络上常见)阻断或操纵流量. 为了测试目的, 请确保您禁用这些( 最好) 或者至少为您的 TKL 服务器创建一个例外( 这样它就可以清晰地访问互联网) 。

检查日志

下一步是检查错误日志。我建议您搜索“错误”一词:

grep error /var/log/tklbam-backup

如果你有连接错误,它应该返回这样的东西:

Upload 's3://s3-eu-west-1.amazonaws.com/tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfju/duplicity-full.20160825T115809Z.vol1.difftar.gpg' failed (attempt #1, reason: error: [Errno 104] Connection reset by peer)
Upload 's3://s3-eu-west-1.amazonaws.com/tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfju/duplicity-full.20160825T115809Z.vol1.difftar.gpg' failed (attempt #2, reason: error: [Errno 104] Connection reset by peer)
Upload 's3://s3-eu-west-1.amazonaws.com/tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfju/duplicity-full.20160825T115809Z.vol1.difftar.gpg' failed (attempt #3, reason: error: [Errno 32] Broken pipe)
Upload 's3://s3-eu-west-1.amazonaws.com/tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfju/duplicity-full.20160825T115809Z.vol1.difftar.gpg' failed (attempt #4, reason: error: [Errno 104] Connection reset by peer)
Upload 's3://s3-eu-west-1.amazonaws.com/tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfju/duplicity-full.20160825T115809Z.vol1.difftar.gpg' failed (attempt #5, reason: error: [Errno 32] Broken pipe)
Backend error detail: Traceback (most recent call last):

在这个例子中,TurnKey服务器显然在西欧,并试图连接到s3-eu-west-1.amazonaws.com. 遇到的错误是"连线由对等点重置"和"布罗肯管". 这些错误通常出现在网络连接和/或授权的问题中。

检查网络连接: ping

因此,让我们检查一下连接(替代"s3-eu-west-1.amazonaws.com"),从您的TKLBAM服务器到AWS S3的S3地址,您正在尝试连接:

ping -c 4 s3-eu-west-1.amazonaws.com

如果一切都好,它应该 回到这样的东西:

PING s3-eu-west-1.amazonaws.com (54.231.133.100) 56(84) bytes of data.
64 bytes from s3-eu-west-1.amazonaws.com (54.231.133.100): icmp_seq=1 ttl=48 time=66.8 ms
64 bytes from s3-eu-west-1.amazonaws.com (54.231.133.100): icmp_seq=2 ttl=48 time=104 ms
64 bytes from s3-eu-west-1.amazonaws.com (54.231.133.100): icmp_seq=3 ttl=48 time=136 ms
64 bytes from s3-eu-west-1.amazonaws.com (54.231.133.100): icmp_seq=4 ttl=48 time=122 ms

显然,您连接的服务器的时间和IP将会不同,但这显示TKL服务器可以连接到s3-eu-west-1.amazonaws.com field.

如果您无法连接, 您将遇到网络配置( 防火墙? 互联网连接? ) 和/ 或 DNS 分辨率的问题 。 请在你们网络内解决该问题,然后再进一步。

检查 S3 网络连接: 网页浏览器

接下来测试 https 和 https 连接 。 这些接下来的测试假设您在与您的服务器相同的LAN上有一个PC(带有网页浏览器),并使用它来找到URL并做初始测试. 如果您没有与您的服务器相同的LAN上有一个PC(例如,在别的地方托管的远程服务器),那么您还需要找到一个合适的S3 URL,作为下一步. 一旦我们有了S3 URL,我们就知道它的工作,我们就可以从TKL服务器中检查,但这次测试的结果对于TKLBAM的目的来说是无关紧要的. 我有一个URL测试已经,但如果你不测试,找到一个最好的方法是通过google。

网站:s3-eu-west-1.amazonaws.com 互联网档案馆的存檔,存档日期2013-09-22.

然后选择一个具有相关 URL 的站点. 参见所附截图(FWIW I's just using "incognitto mode"),以减少我截图中无关的信息:你没必要这么做.

在您的网页浏览器中点击一个相关的链接。 我在这里用“ 霍茨波特盾牌” 来做例。 确保地址栏中的 URL 仍然是 S3 。 有些网站可能会重定向到另一个 URL。 如果发生这种情况, 请回到谷歌去尝试不同的。 以下是它应该看起来的一个例子 :

所以我刚刚确认使用HTTPS的 s3-eu-west-1.amazonaws.com 访问权限。 为了进行最后检查,让我们也测试plain HTTP。 在地址栏中,从“ https://...'”中去掉“s” , 使其为“ http://...' ” 。 有些站点可能会重新定向到“ HTTPS ” 。 如果发生这种情况,仍然证明它可以通过plain HTTP连接(因为服务器正在将您重定向到HTTPS).

如果您在这里有错误, 并且已经双倍检查过几个不同的 S3 URL( 通过 google 找到), 那么显然有问题 。 请双倍检查防火墙和网络配置。 否则, 现在从您的 TKL 服务器中检查 。

检查 S3 网络连接: 命令行( curl)

配备有效(和工作)的 S3 URL 可以双倍检查您的服务器是否也可以与 S3 正确连接, 为了做到我们会使用卷曲 。

我建议这样。 它使用卷曲来下载页面, 但忽略了下载的 html( 我们只需要看看是否有错误 ) 。 这是命令( 显然使用您在上面已经找到的工作的 URL) 。

curl http://s3-eu-west-1.amazonaws.com/tradwrds/index.html > /dev/null
如果它能发挥出效果 应该能提供类似效果:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12750  100 12750    0     0  13537      0 --:--:-- --:--:-- --:--:-- 13549
为了证明它可能是什么样子 如果它遇到一个错误,我操纵URL(所以我知道它不会起作用);这就是它的样子:
curl http://s3-euz-west-1.amazonaws.com/tradwrds/index.html > /dev/null

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: s3-euz-west-1.amazonaws.com
注意"curl: (6)无法解决主机:s3-euz-west-1.amazonaws.com".

如果你在这里没有成功,你的TurnKey服务器的网络访问也出了问题. 假设这有效,让我们更深入地调查AWS访问.

S3 通过命令行访问: awscli

我们再次在您的 TKL 服务器上工作。 首先安装 awscli 依赖性 :
apt-get update && apt-get install python-pip
一旦完成(假设成功完成),就自行安装awscli:
pip install awscli

W还需要创建一个用户,可以使用turnkeyhub的安全配置(以双倍检查,我们才能以TKLBAM的身份访问桶).

浏览 AWS 控制台 IAMs 用户管理页面 : https://console.aws.amazon.com/iam/home#users 密码

创建新用户(我叫Mine 'tklbam- test')并点击创建. 在下一个屏幕上点击“显示用户安全证书”链接显示证书信息( 下拉) 。 它应该看起来像这样 :

tklbam-test
    Access Key ID: AKIAJ3B6NSG22LO47BUA
Secret Access Key: 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

确定您在安全的地方复制/复制此信息( 或者下载 csv 文件), 此时您离开此屏幕后, 您无法再次访问此信息( 您需要重制密钥 ) 很明显,要保密,不要公开!

现在回到 IAMs 用户屏幕上, 请点击新用户。 请选择“ 选项卡” 选项卡并点击“ 选项卡政策” 按钮。 您应该看到上面列出的“ turnkeyhub ” 。 如果没有,请将其放在顶端的过滤框中。一旦找到,请在框内单击右侧(在框中输入一个勾选),并点击“标签政策”。

现在是时候使用我们之前保存的证书并配置awscli。最简单的配置方式就是这样发射awscli:

aws configure
然后复制/将相关信息复制到控制台窗口。例如:
AWS Access Key ID [None]: AKIAJ3B6NSG22LO47BUA
AWS Secret Access Key [None]: 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
Default region name [none]: eu-west-1
Default output format [none]:
使用TKLBAM试图保存您的备份(在此情况下为eu-west-1)的区域, 如果您想要双倍检查有效的区域, 您可以找到可能的区域及其相关代码 这儿.

现在检查一下,你可以列出你的S3桶, 一切正常运行。

aws s3 ls
像这样的东西应该还回去
2016-08-30 15:53:35 tklbam-eu-west-1-c992423735f1f4ee9616
现在看看能不能把水桶里的东西看一看:
aws s3 ls tklbam-eu-west-1-c992423735f1f4ee9616
如果一切都好,它应该显示 类似的东西:
                           PRE 24fh4htqs3t3tfj/
我们再钻下去看看副目录里有什么:
aws s3 ls tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfj/
我的看起来是这样的:
2016-08-30 15:53:50     247045 duplicity-full-signatures.20160830T055346Z.sigtar.gpg
2016-08-30 15:53:51        218 duplicity-full.20160830T055346Z.manifest.gpg
2016-08-30 15:53:49   10168660 duplicity-full.20160830T055346Z.vol1.difftar.gpg
如果你能看见你的TKLBAM卷文件(就像地雷显示),那么所有文件都很好。 如果你在使用awscli时有任何许可问题,那么这表明您在 AWS 中设置的权限有问题。 很可能是"turnkeyhub"的安保简介 IAMs "Roles" 区域 (AWS控制台).
TURNKEYGNU / LINUX

无需从零开始,掌控自己的基础设施。

探索 TurnKey
关于文档常见问题博客GitHub
自由开源默认安全随时可部署