我正在尝试在AWS Opsworks中使用自定义图层来添加nginx网络服务器.
我已成功创建了图层,我通过GIT添加了我的应用程序(repo上没有密码),但是当我部署命令时"成功"但我在服务器上看不到任何代码.
在自定义层中,唯一的部署配方是"deploy :: default".
我是否需要自定义配方来处理部署?
另外,如何配置部署的"位置"?我更喜欢选择我的文档根目录,而不是使用Opsworks似乎总是部署到的位置.
感谢您对此的任何帮助.
当我使用OpsWorks部署Rails应用程序时,会在shared目录中创建一个新的database.yml .它忽略了现有的database.yml(理所当然地不应该在repo中),我也尝试过指定自定义JSON,但没有任何作用.也许我的结构错了?
{
"deploy": {
"my-app-name": {
"database": {
"adapter": "mysql2",
"encoding": "unicode",
"host": "xxxxxx.rds.amazonaws.com",
"port": "3306",
"database": "db-name",
"pool": "5",
"username": "username",
"password": "password"
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个基于 RHEL 6.4 64 位 AMI 的 Amazon EC2 实例。写了一些shell脚本之后;我用它创建了我自己的 AMI Image。
我正在编写用户数据部分,它将删除 /home/ec2-user(sudo rm -rf /home/ec2-user/*) 下的内容,然后执行该脚本。但我无法删除任何文件。
我想要的是:
我正在尝试通过 cloudformation 运行 congnito 并且一切正常,但是 cognito 中有如下部分:
如您所见,有“启用身份提供商”部分,但我找不到可以将其设置为 cloudformation 中的 Cognito 用户池的位置!
我试过这个属性,但它说不支持。
SupportedIdentityProviders
Run Code Online (Sandbox Code Playgroud)
这是我的用户池客户端代码:
UserPoolClient:
Type: "AWS::Cognito::UserPoolClient"
Properties:
ClientName: !Sub ${project}-client
ExplicitAuthFlows:
- ADMIN_NO_SRP_AUTH
- USER_PASSWORD_AUTH
GenerateSecret: false
UserPoolId: !Ref UserPool
RefreshTokenValidity: 30
Run Code Online (Sandbox Code Playgroud)
这是我的用户池:
UserPool:
Type: "AWS::Cognito::UserPool"
Properties:
UserPoolName: !Sub ${project}-user-pool-test
AutoVerifiedAttributes:
- email
UsernameAttributes:
- email
MfaConfiguration: "OFF"
LambdaConfig:
CustomMessage:
Fn::ImportValue: !Sub ${project}-${EnvironmentApp}-lambda-cognito-custom-message-post
Policies:
PasswordPolicy:
MinimumLength: !Ref MinimumLength
RequireLowercase: !Ref RequireLowercase
RequireNumbers: !Ref RequireNumbers
RequireSymbols: !Ref RequireSymbols
RequireUppercase: !Ref RequireUppercase
Schema:
-
AttributeDataType: String
DeveloperOnlyAttribute: false
Mutable: true …Run Code Online (Sandbox Code Playgroud) amazon-web-services aws-cloudformation aws-opsworks amazon-cognito
我在Amazon OpsWorks中部署了一个堆栈,并且我广泛使用自定义cookbook来部署我的应用程序.我的堆栈中有许多基于负载的实例(它们仅在需要时启动).
每当我对自定义cookbook进行更改时,我都必须在任何正在运行的实例上手动更新cookbook(通过导航到Deployments> Run Command).问题是任何未引导的实例都不会更新,并且它们不会在下次引导时自动更新.
我已经发现我可以删除然后重新创建所有基于负载的实例,迫使它们在下次需要时完全重新设置,但必须有更好的方法来部署更新的自定义cookbook.
如何强制我的离线基于负载的实例在下次启动时更新其烹饪书(即使每次启动都没问题)?
我确信我遗漏了一些明显的东西,但我无法找到一种方法来设置每层的默认EBS卷大小.我在这一层启动的每个实例默认都有10GB的卷.
在图层配置窗格中,我尝试添加一个具有我需要的尺寸的EBS卷,但它不允许我将其安装在"/"上.
对于安装在/ srv/www上的应用程序,我需要这个额外的大小,但是文档说在这一点上不应该安装卷:
不要将Amazon EBS卷装载到以下装入点.如果重新启动实例,autofs可能会使用它们来安装临时设备而不是卷.
/ SRV/WWW
我有一个带有Node.js Layer和Node.js应用程序的Opsworks堆栈.我想知道是否有人知道ubuntu 14.04LTS实例的哪个位置正在打印我的应用程序的控制台日志.我知道opsworks使用monit来运行我的应用程序,但我不确定它输出日志的位置.
谢谢!
我有一个在 AWS Opsworks 上运行的项目,它在Ruby 2.2.2上具有当前的捆绑程序版本1.5.3。
我想将捆绑版本升级到1.17.3
但是当我尝试这样做时,我收到此错误
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of /usr/local/bin/gem install bundler -q --no-rdoc --no-ri -v "1.11.2" ----
STDOUT:
STDERR: ERROR: Error installing bundler:
"bundle" from bundler conflicts with /usr/local/bin/bundle
---- End output of /usr/local/bin/gem install bundler -q --no-rdoc --no-ri -v "1.11.2" ----
Ran /usr/local/bin/gem install bundler -q --no-rdoc --no-ri -v "1.11.2" returned 1
Resource Declaration:
---------------------
# In /var/lib/aws/opsworks/cache.stage2/cookbooks/opsworks_bundler/recipes/default.rb
2: gem_package …Run Code Online (Sandbox Code Playgroud) 我有这个 cloudformation 模板:
"InstanceProfileProd": {
"Type" : "AWS::IAM::InstanceProfile",
"Properties": {
"Path": "/",
"Roles" : [ { "Ref" : "InstanceRole"} ]
}
},
"CompLayer": {
"Type": "AWS::OpsWorks::Layer",
"DependsOn" : "OpsWorksServiceRole",
"Properties": {
"AutoAssignElasticIps" : false,
"AutoAssignPublicIps" : true,
"CustomJson" : {
},
"awscli" : {
"profils" : {
"default" : {
"role_arn": { "Fn::GetAtt": [ "InstanceProfileProd","Arn" ] }
}
}
},
},
"CustomSecurityGroupIds" : { "Ref" : "SecurityGroupIds" },
"EnableAutoHealing" : true,
"InstallUpdatesOnBoot": false,
"LifecycleEventConfiguration": {
"ShutdownEventConfiguration": {
"DelayUntilElbConnectionsDrained": false,
"ExecutionTimeout": …Run Code Online (Sandbox Code Playgroud) 有谁知道基于自动加载的缩放与在OpsWorks上使用显式自动缩放组之间的区别是什么?
这:http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling-loadbased.html
vs https://aws.amazon.com/blogs/devops/auto-scaling-aws-opsworks-instances/
对于load-based实例,如何将一个添加到目标组?
你可以在一个OpsWorks层中拥有多个自动缩放组吗?
我正在寻找使用ALB来路由我们的流量,这不能作为Opsworks中的独立层.
因此,我需要将请求传递给1个自动缩放组,用于一种类型的请求,其余的则传递给另一个其他自动缩放组.
我只是不确定基于负载的实例是什么,并且他们没有提供默认数量的机器而感到困惑.
我应该将哪一个用于两组之间的ALB路由流量?
aws-opsworks ×10
amazon-ec2 ×2
amazon ×1
autoscaling ×1
bundler ×1
chef-infra ×1
console.log ×1
deployment ×1
json ×1
monit ×1
node.js ×1
ruby ×1