【问题标题】:How to get AWS instance total memory size using python?如何使用 python 获取 AWS 实例的总内存大小?
【发布时间】:2020-10-27 20:00:35
【问题描述】:

我想在 AWS 实例中运行一个 python 启动脚本,我想在其中获取在实例创建期间选择的总内存大小。

我已经尝试过 free -hgrep MemTotal /proc/meminfo 命令。但是,这些命令的问题是,我获得的 RAM 量比我在创建实例时选择的实际内存大小要少一些(可能是由于系统使用)。我想获得创建实例时选择的确切内存大小。例如,“t2.small”为“2 GB”,“c5.large”为“4 GB”等

此外,没有可用于获取 AWS 实例内存大小的元数据 URL。

有什么办法吗?

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    我自己没有这样做,但我认为这个过程可能是这样的:

    client = boto3.client('ec2')

    type = client.describe_instance_attribute(Attribute='instanceType', InstanceId='YOUR_ID')

    details = client.describe_instance_types(InstanceTypes=[ type ])

    内存 = 详细信息['InstanceTypes']['MemoryInfo']['SizeInMiB']

    您需要为实例授予正确的 IAM 权限以获取数据(它与 http://169.254.169.254 元数据不同)。

    您也可以从 http://169.254.169.254/2020-10-27/meta-data/instance-type/ 获取实例类型,但我正在尝试使用 boto3 寻求完全 python 的解决方案。

    【讨论】:

    • 嘿@Oscar De León,它对我有用,,,谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 2011-09-24
    • 1970-01-01
    相关资源
    最近更新 更多