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凭证管理指南
相关推荐
程序员梅雨11 小时前
【从零开始学习数据仓库 | 第一篇】:维度建模理论
大数据·数据仓库·学习·阿里云·数据分析
云老大-阿里云国际站代理商14 小时前
阿里云国际站渠道代理商:ECS 怎么对接 OSS?权限、域名、网络路径怎么配置?
网络·阿里云·php
薛之谦_15 小时前
用 Java 实现阿里云式 IAM 子用户管理:架构设计与表结构详解
java·python·阿里云
大力财经16 小时前
山东山大华天软件与阿里云达成合作,旗下产品CrownCAD已接入Qoder
人工智能·阿里云·云计算
rich_Chan.2 天前
阿里云百炼联网搜索教程:web_search 工具开启方法、web_extractor 网页抓取与 json 检索轨迹
前端·阿里云·json
Lvan的前端笔记2 天前
阿里云CDN
阿里云·云计算
小豆庄3 天前
AI换脸能骗过检测,视频脱敏为什么该回到本地
人工智能·yolo·阿里云·ai·ocr·视频
云卷云舒___________3 天前
Qwen4-27B!现身英特尔仓库,Gemini 4 Carbon 3D 工程封神 | 10月25日 AI日报
阿里云·ai日报·qwen4·opus55·gemini4carbon·qwen427b·kalmia
我是高手高手高高手6 天前
安装宝塔,阿里云(有系统和数据两个盘)
阿里云·云计算