我一直在玩亚马逊的Web服务超过一年,但我不太明白它是如何工作的.例如,当我从EC2控制台中选择我选择的AMI并继续完成向导时,我会到达"存储配置选项卡".这里有几种选择.
有根卷选项卡,然后有EBS卷选项卡.这两者有何不同?我可以为每个分配的最大大小是多少?如何配置EBS卷以使用我的实例?比方说,我决定创建8个EBS卷,每个卷具有25 GB的存储空间....现在用于类似Postgresql数据库的东西,它自然地存在于根设备上,我如何配置它以便数据库存储在所有8个EBS卷中?从某种意义上说,8个EBS卷成为一个200 GB的驱动器,而postgres数据库数据存储在整个驱动器中.
任何形式的澄清将不胜感激.
在AWS Key Management Service Best Practices 白皮书中关于使用 Amazon EBS 进行静态数据加密的部分中,它指出:
有两种方法可以确保 EBS 卷始终加密。您可以
CreateVolume通过 IAM 策略验证作为上下文一部分的加密标志是否设置为“true”。如果标志不是“true”,则 IAM 策略可以阻止个人创建 EBS 卷
我怎样才能做到这一点?我想这个政策会是这样的:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1509465260000",
"Effect": "Allow",
"Action": [
"ec2:CreateVolume"
],
"Condition": {
"Bool": {
"ec2:Encrypted": "true"
}
},
"Resource": [
"*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
根据白皮书和文档,密钥Bool上的条件ec2:Encrypted最有意义,但是在尝试创建加密卷时,我的访问被拒绝。
我在声明中遗漏了什么?
我无法通过此命令获取指标数据。
aws cloudwatch get-metric-data --metric-data-queries jsonfile.json \
--start-time 2019-02-01T10:40:0000 --end-time 2019-02-27T14:12:0000
Run Code Online (Sandbox Code Playgroud)
正在显示以下错误。
Error parsing parameter '--metric-data-queries': Expected: '=', received: 'EOF' for input:
Run Code Online (Sandbox Code Playgroud)
jsonfile.json
在这里,jsonfile.json 包含我的查询,定义如下。
[
{
"Id": "MyRequest",
"MetricStat": {
"Metric": {
"Namespace": "AWS/EBS",
"MetricName": "VolumeReadBytes",
"Dimensions": [
{
"Name": "VolumeId",
"Value": "vol-******420********"
}
]
},
"Period": "3600",
"Stat": "Average",
"Unit": "Bytes"
},
"Label": "myRequestLabel",
"ReturnData": "true"
}
]
Run Code Online (Sandbox Code Playgroud) 在选择合适的 EBS 卷类型时,我需要确定IOPS 还是吞吐量是更好的性能指标。
问题是我不完全理解在哪种实际情况下它们中的每一个都比另一个更好。
该文档说“具有小I/O 大小的频繁读/写操作”非常适合 IOPS。
为什么吞吐量不是“具有小 I/O 大小的频繁读/写操作”的完美衡量标准?
我正在尝试在 AWS EKS 中使用持久卷。
我按照以下链接中提到的所有步骤进行操作
https://aws.amazon.com/premiumsupport/knowledge-center/eks-persistent-storage/
当我部署示例 Pod 来检查 PVC 是否创建良好时,出现以下错误。
Warning FailedScheduling 2m6s (x265 over 44h) default-scheduler error while running "VolumeBinding" prebind plugin for pod "app": Failed to bind volumes: timed out waiting for the condition
Run Code Online (Sandbox Code Playgroud)
检查了进一步的持久卷声明
kubectl describe pvc
Warning ProvisioningFailed 62s (x7 over 3m5s) ebs.csi.aws.com_ebs-csi-controller-7cb88dcffc-vkvdk_2ae45c3c-b4f2-4200-a5d4-cfdb35a5f0db failed to provision volume with StorageClass "ebs-sc": rpc error: code = DeadlineExceeded desc = context deadline exceeded
Run Code Online (Sandbox Code Playgroud)
通过查看 ebs csi 控制器的日志
I0721 10:44:10.049138 1 event.go:282] Event(v1.ObjectReference{Kind:"PersistentVolumeClaim", Namespace:"avengers", Name:"ebs-claim", UID:"88a9684c-1be7-412f-8616-b662eff692df", APIVersion:"v1", ResourceVersion:"19320908", FieldPath:""}): …Run Code Online (Sandbox Code Playgroud) amazon-ebs amazon-web-services kubernetes persistent-volumes amazon-eks
现在可以手动输入 GP3 卷所需的 IOPS 数量,为什么要使用 IO1 卷而不是 GP3?
我刚从亚马逊系列的亚马逊EC2上安装了fedora linux AMI.我打算将它连接到EBS存储.假设我没有做过最基本的步骤,没有更改密码,除此之外,在此阶段没有做任何额外的工作.
现在,从这一点开始,我应采取哪些步骤来阻止黑客并保护我的实例/ EBS?
我想在Amazon EC2实例上托管一个网站,但出于可靠性目的,我希望将底层数据库放在一些更永久的存储介质上.不会有任何文件上传或类似的东西,但我想确保数据库查询和更新快速进行.我应该使用EBS还是S3?
如果您想要更多信息,请发表评论
我已准备好将我们的posgresql数据库移至EC2,但我对最佳备份和恢复策略有点不清楚.最初的计划是构建一个EBS支持的服务器,设置WAL-E来处理WAL归档和基本备份到S3.如果实例崩溃,我会拍摄最终生产服务器卷的快照.我还看到很多人为了恢复目的而频繁执行EBS快照.
推荐的策略是什么?是否有理由使用WAL存档并执行预定的EBS快照?
amazon-ebs ×10
amazon-ec2 ×6
postgresql ×2
amazon-eks ×1
amazon-iam ×1
amazon-s3 ×1
backup ×1
centos ×1
cloud ×1
database ×1
kubernetes ×1
lvm ×1