小编Ant*_*ong的帖子

IAM用户创建ECR存储库的权限是什么?

我的 IAM 用户收到此错误

User: arn:aws:iam::123456789:user/admin is not authorized to perform: 
ecr:CreateRepository on resource: *
Run Code Online (Sandbox Code Playgroud)

当我尝试创建存储库时。

在此输入图像描述

我已经授予AmazonEC2ContainerServiceFullAccess该用户所属的组。我在“附加策略”中搜索存储库,但没有匹配项。如何授予该用户权限?

amazon-iam amazon-ecr

7
推荐指数
3
解决办法
2万
查看次数

命令“getent”

第1部分

应该getent是可执行文件吗?

在我的 zsh 设置中,我可以看到 getent 实际上被定义为一个函数

$ which getent   
getent () {
    if [[ $2 = <-> ]]
    then
        grep ":$2:[^:]*$" /etc/$1
    else
        grep "^$2:" /etc/$1
    fi
}
Run Code Online (Sandbox Code Playgroud)

如果我想从 bash shell 执行它,

bash -c  "getent passwd user"  
Run Code Online (Sandbox Code Playgroud)

我收到一个getent: command not found错误。

第2部分

在 Mac OSX 中,getent无论用户 ID 是否有效,都会失败。事实证明用户 ID 没有保存在/etc/passwd文件中。为什么会这样呢?还有什么替代方案呢?

bash zsh mac-osx passwd

5
推荐指数
1
解决办法
6801
查看次数

如何将域名映射到谷歌云平台中的负载均衡器?

我已经在谷歌云平台成功设置了负载均衡器

在此处输入图片说明

如果我使用如图所示的 IP,我可以测试并验证设置是否按我的计划工作。

现在我想将域名映射到 IP。我想用www.mycompany.com. 我已经创造了一个A纪录,我的DNS指向www1.2.3.4。但是域名给出了 404 错误。

在此处输入图片说明

我确定我需要将这个新域名与 IP 地址相关联。

没有明显的地方可以在load balanceingexternal IP addresses屏幕上进行。

我可以在哪里做?

load-balancing subdomain domain-name google-cloud-platform

5
推荐指数
1
解决办法
5978
查看次数

ubuntu 16.04 的 docker 镜像中缺少 cron 和 crontab

这是我的 Dockerfile

FROM ubuntu:16.04
RUN apt-get update -y && apt-get install -y \
  git \
  python \
  python-pip
Run Code Online (Sandbox Code Playgroud)

创建 docker 映像后,我登录并尝试设置用于测试的 cron 作业。令我惊讶的是,croncrontab没有出现。

# ls 
app  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  
root  run  sbin  srv  sys  tmp  usr  var
# crontab -l
/bin/sh: 6: crontab: not found
# crontab -l
/bin/sh: 7: crontab: not found
# crontab -l
/bin/sh: 10: crontab: not found
# cron
/bin/sh: 11: cron: not found …
Run Code Online (Sandbox Code Playgroud)

cron docker

5
推荐指数
1
解决办法
1万
查看次数

如何修复“NoCredentialProviders:链中没有有效的提供者。已弃用。”?

这是我从这个 repo 中提取的 terraform 脚本

provider "aws" {
  region  = "${var.aws_region}"
  profile = "${var.aws_profile}"
}

##----------------------------
#     Get VPC Variables
##----------------------------

#-- Get VPC ID
data "aws_vpc" "selected" {
  tags = {
    Name = "${var.name_tag}"
  }
}

#-- Get Public Subnet List
data "aws_subnet_ids" "selected" {
  vpc_id = "${data.aws_vpc.selected.id}"

  tags = {
    Tier = "public"
  }
}

#--- Gets Security group with tag specified by var.name_tag
data "aws_security_group" "selected" {
  tags = {
    Name = "${var.name_tag}*"
  }
} …
Run Code Online (Sandbox Code Playgroud)

terraform

5
推荐指数
2
解决办法
3万
查看次数

如何解决旧 AMI 映像中缺少弹性网络适配器 (ENA) 从而阻止实例启动的问题?

我有一个旧的 AMI,它曾经在 c4.large 机器上运行。

由于此类不适用于所有可用区,因此我选择了 c5.large 来将图像恢复到其中。

但是,当我运行 terraform 进行恢复时,我收到以下错误消息:

发生 1 个错误:

  • aws_instance.convertor:发生 1 个错误:

  • aws_instance.convertor:启动源实例时出错:InvalidParameterCombination:“c5.large”实例类型需要使用弹性网络适配器 (ENA) 进行增强联网。确保您使用的是为 ENA 启用的 AMI。状态代码:400,请求 ID:7f32e7a1-c201-4db3-9f9e-6da4657ba9c8

我如何找到哪种实例类型可以接受这个旧的 AMI?或者我可以向 AMI 应用什么来使用较新的实例类型吗?

amazon-ec2

5
推荐指数
1
解决办法
9494
查看次数

如何在 Cost Explorer 中获取每个存储桶级别的 s3 成本明细?

看来我可以使用过滤器中的服务级别获得 S3 的总成本。

不过,我想获得每个桶级别的成本。

可以在 Cost Explorer 中完成吗?

如果没有,我可以使用 aws cli 获取故障吗?

在此输入图像描述

amazon-s3 aws-cost-explorer

4
推荐指数
1
解决办法
1万
查看次数

如何在docker文件中设置环境变量?

CMD我的 dockerfile 是这样的:["python", "myproject/start_slide_server.py"]

但是,为了使其工作,我需要将其设置PYTHONPATH/app,它是myproject

如果我启动 docker 进程并覆盖CMDbash我可以运行以下命令

root@42e8998a8ff7:/app# export PYTHONPATH=.
root@42e8998a8ff7:/app# python myproject/start_slide_server.py
 * Running on http://0.0.0.0:8090/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 236-035-556
Run Code Online (Sandbox Code Playgroud)

它按预期工作

现在我添加一行

RUN export PYTHONPATH=/app
Run Code Online (Sandbox Code Playgroud)

CMD ["python" , "myproject/start_slide_server.py"]
Run Code Online (Sandbox Code Playgroud)

它刚刚失败了

Traceback (most recent call last):
  File "/app/myproject/start_slide_server.py", line 23, in <module>
    from myproject import env
ImportError: No module named myproject
Run Code Online (Sandbox Code Playgroud)

看起来这RUN条线根本没有任何影响

我真的不想 …

python docker

3
推荐指数
1
解决办法
3万
查看次数

aws cli:过滤条件返回所有正在运行的实例,而不是具有特定标签的实例

我希望能够找出正在运行并标记有特定值的 ec2 机器。

我使用了以下命令:

aws ec2 describe-instances --filter Name=tag:Name,Values=worker1 \
--filter Name=instance-state-name,Values=running
Run Code Online (Sandbox Code Playgroud)

它基本上返回 ec2 机器的所有正在运行的实例。

如何使 aws cli 将过滤器视为条件组合?即仅名为“worker1”的活动机器

amazon-web-services aws-cli

3
推荐指数
1
解决办法
1741
查看次数

在应用 Terraform 计划期间出现网络问题后,如何取消对 Terraform 资源的污染?

我应用了 Terraform 来创建 Redis 集群。

进行到一半时,应用程序失败并显示以下错误消息:

Error: Error waiting for elasticache replication group (my-project) to be created: SerializationError: failed decoding Query response
    status code: 200, request id: 3d5a5394-20f0-4834-9e2a-9aff20cceecf
caused by: read tcp 192.168.86.116:53912->54.222.5.156:443: read: connection reset by peer
Run Code Online (Sandbox Code Playgroud)

我知道我已经成功创建了集群,因为我可以使用redis-cli.

但是如果我再做terraform apply一次,terraform 会说

module.my_project.aws_elasticache_replication_group.main[0] is tainted, so must be replaced
Run Code Online (Sandbox Code Playgroud)

它试图销毁并重新创建资源,而不是像no action我预期的那样。

我尝试将资源导入到状态文件中以纠正该问题。但是 terraform 会抛出错误:

错误:资源已由 Terraform 管理

如果操作一开始就成功,我就不会看到tainted错误消息。

有什么办法可以解决这个问题吗?我想避免删除然后重新创建资源。

理想情况下,我希望能够清除状态文件中的资源,这样 terraform 就不会尝试破坏新创建的集群。

redis terraform

3
推荐指数
1
解决办法
6029
查看次数