aliyun阿里云Instant计算服务IP地址查询脚本

阿里云Instant计算服务IP地址查询脚本

简介

阿里云Instant计算服务,获取正在运行的作业实例的IP地址。快速批量查询所有运行中作业的IP地址。

脚本代码

bash 复制代码
#!/bin/bash
# 阿里云Instant计算服务作业IP地址查询脚本

REGION="cn-hangzhou"

# 查询所有作业的IP地址
jobs=$(aliyun ehpcinstant ListJobs --region "$REGION" 2>/dev/null)

if [ -z "$jobs" ]; then
    echo "查询失败或没有作业"
    exit 1
fi

job_ids=$(echo "$jobs" | jq -r '.JobList[].JobId')

for job_id in $job_ids; do
    if [ -z "$job_id" ]; then
        continue
    fi

    executors=$(aliyun ehpcinstant ListJobExecutors \
        --region "$REGION" \
        --JobId "$job_id" \
        --TaskName Task0 \
        --PageSize 100 \
        2>/dev/null)

    echo "$executors" | jq -r '.Executors[] | .IpAddress[0]' 2>/dev/null
done | sort -u > running_ips.txt

echo "IP地址已保存到 running_ips.txt"
wc -l running_ips.txt

功能说明

1. 设置区域

bash 复制代码
REGION="cn-hangzhou"

脚本默认使用杭州区域,如需修改为其他区域,请更改此变量。

2. 查询所有作业

bash 复制代码
jobs=$(aliyun ehpcinstant ListJobs --region "$REGION" 2>/dev/null)

调用阿里云CLI获取当前区域下的所有作业列表。

3. 提取作业ID

bash 复制代码
job_ids=$(echo "$jobs" | jq -r '.JobList[].JobId')

使用jq工具从返回的JSON数据中提取所有作业的ID。

4. 遍历查询每个作业的执行器IP

bash 复制代码
for job_id in $job_ids; do
    executors=$(aliyun ehpcinstant ListJobExecutors \
        --region "$REGION" \
        --JobId "$job_id" \
        --TaskName Task0 \
        --PageSize 100 \
        2>/dev/null)

    echo "$executors" | jq -r '.Executors[] | .IpAddress[0]' 2>/dev/null
done

对每个作业调用ListJobExecutors接口获取执行器信息,并提取IP地址。

5. 去重并保存

bash 复制代码
done | sort -u > running_ips.txt

将所有IP地址排序并去重,最终保存到running_ips.txt文件中。

使用方法

前置条件

  1. 安装阿里云CLI

    bash 复制代码
    # Linux/Mac
    curl -s https://aliyuncli.alicdn.com/aliyun-cli.sh | bash
  2. 配置凭证

    bash 复制代码
    aliyun configure
  3. 安装jq工具

    bash 复制代码
    # Ubuntu/Debian
    sudo apt-get install jq
    
    # CentOS/RHEL
    sudo yum install jq
    
    # macOS
    brew install jq

运行脚本

bash 复制代码
# 添加执行权限
chmod +x get_running_ips.sh

# 运行脚本
./get_running_ips.sh

输出示例

复制代码
IP地址已保存到 running_ips.txt
25 running_ips.txt

查看IP地址文件:

bash 复制代码
cat running_ips.txt

注意事项

  1. 区域配置 :默认使用cn-hangzhou区域,如需查询其他区域,请修改REGION变量
  2. 任务名称 :脚本默认查询Task0任务
  3. 分页大小 :当前设置PageSize为100
  4. 错误处理 :脚本会将错误输出重定向到/dev/null,确保静默运行

总结

阿里云CLI和jq工具,实现了批量获取Instant计算服务作业IP地址的功能。

参考

  1. 阿里云CLI凭证管理指南
相关推荐
晚风一隅1 天前
阿里云核心技术深度解析:从神龙架构到云原生AI的全面技术演进
服务器·计算机·阿里云·技术向
纤纡.2 天前
解锁大模型应用实战:从文本处理到智能交互的全维度实践
阿里云·语言模型·交互
创意岛2 天前
网站推广新纪元:品牌100工程引领下的精准引流与高效转化
阿里云
蔡不菜和他的uU们2 天前
使用acme.sh进行阿里云域名SSL证书申请与部署自动化
运维·阿里云
Arman_2 天前
Rust 客户端安全上传下载阿里云 OSS:rusty-cat 预签名 URL 实战
安全·阿里云·rust·oss断点续传
Arman_3 天前
Rust 接入阿里云 OSS 断点上传下载:rusty-cat 直连模式实战
开发语言·阿里云·rust·oss断点续传
向日的葵0063 天前
阿里云OSS从0到1实战:为宠物收养系统打造图片上传功能
python·阿里云·云计算·pillow·fastapi·宠物
Kevin-anycode3 天前
阿里云安装ali-instance-cli免公网打开 Web 界面(OpenClaw)
阿里云·云计算
comcoo4 天前
阿里云百炼 + OpenClaw 打造超强自动化 AI
阿里云·自动化·云计算·openclaw安装包