Roc*_*ice 7 amazon-ec2 amazon-web-services
最近收到一封标题为“AWS 关于 Amazon EC2-Classic 的重要新闻”的电子邮件,描述了需要进行的一些更改。不过,来自 AWS 的这些电子邮件通常会引用受影响的资源,而这封电子邮件却没有。我很难确定我们帐户中的哪些资源受到此影响。我们所有的 EC2 实例都位于 VPC 中,我什至不确定是否需要更改任何内容。
有没有办法识别EC2实例是经典实例?
我浏览了他们的链接文档并浏览了我们拥有的实例,但我无法判断它们是否是“经典”。
shi*_*imo 12
您可以通过检查实例是否具有 VPC ID 来识别 EC2-Classic 环境。
EC2控制台
默认情况下不显示 VPC ID。Preference
从->启用 VPC ID Attribute columns
。
那么如果 VPC ID 属性为-
,则表示该实例是 EC2-Classic。(除了实例状态不是terminated
。)
命令行界面
2种检查方法。除非存在 EC2-classic 实例,否则输出为 None。
aws ec2 describe-instances --filters Name=instance-state-name,Values=pending,running,shutting-down,stopping,stopped | jq '.Reservations[].Instances[] | select(.VpcId == null)'
Run Code Online (Sandbox Code Playgroud)
aws ec2 describe-instances --instance-id i-xxxxxxxxxxxx --filters Name=instance-state-name,Values=pending,running,shutting-down,stopping,stopped | jq '.Reservations[].Instances[] | select(.VpcId == null)'
Run Code Online (Sandbox Code Playgroud)
jq 选择终止状态
这是过滤结果的另一种方法aws ec2 describe-instances
。添加.State.Name != "terminated" and
jq select 的效果与 相同--filters ...
。这可能更具可读性。
aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.State.Name != "terminated" and .VpcId == null)'
Run Code Online (Sandbox Code Playgroud)
编辑说明:感谢 @AUdden 的建议,我修改了用于过滤terminated
状态的 CLI 代码。当我们终止实例(而不是停止)时,实例会以终止状态存在一段时间。终止的实例不再与 VPC 关联。为此,我添加了--filters Name=instance-state-name,Values=pending,running,shutting-down,stopping,stopped
.
归档时间: |
|
查看次数: |
5360 次 |
最近记录: |