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凭证管理指南
相关推荐
TG_yunshuguoji17 小时前
阿里云代理商:百炼大模型技术解析与应用指南
服务器·阿里云·云计算
bingyan037119 小时前
squid-基于rockylinux8配置内网代理访问阿里云软件源
阿里云·代理·squid·软件源
ZStack开发者社区1 天前
云边协同 智启未来 | 阿里云 × ZStack 云边一体解决方案正式落地
阿里云·云计算·边缘计算
普通网友1 天前
阿里云国际版服务器,真的是学生党的性价比之选吗?
后端·python·阿里云·flask·云计算
MonkeyKing_sunyuhua2 天前
阿里云ECS安装docker compose
阿里云·docker·云计算
翼龙云_cloud2 天前
阿里云代理商:部署OpenClaw高效办公六式 智能打理日常任务
人工智能·阿里云·云计算·openclaw
沉迷学习 日益消瘦2 天前
(windows环境)白嫖阿里云百炼免费 Token 使用 Claude 教程
windows·阿里云·claude·token·百炼
**蓝桉**2 天前
虚拟化学习笔记
阿里云·云计算
Alan GEO实施教练2 天前
专利申请服务选择:企业挑选口碑好合作方策略解析
阿里云