GitHub 学生包: Azure 100美金试用

本文最后更新于:2022年10月4日 晚上

本文详解如何薅GitHub的学生包里的Azure给的100美金试用,有效期一年,不需要信用卡,而是学校的电子邮件地址

福利解释

Azure这个福利主要是给了100美金的试用(为期一年),同时可以享受1年期的2个Azure虚拟机,Azure SQL数据库,和5GB的本地冗余存储热块。同时还有永久的Azure应用服务和云函数,集群容器管理Azure Kubernetes服务,静态页面部署(最多10个)等等。

  1. Linux 虚拟机 750 小时/月,即套餐B1S VM(1核1GB内存)开一个免费用一年。
  2. Windows 虚拟机 750 小时/月,即套餐B1S VM(1核1GB内存)开一个免费用一年。
  3. 托管磁盘 两个 64 GB 的 P6 SDD ,Blob 存储 5 GB 。文件存储 5 GB。
  4. SQL 数据库 250 GB ,创建可提供内置智能功能的 SQL 数据库。
  5. Azure Cosmos DB 数据库 400 RU 数/秒

关于带宽的问题,Azure官方的 带宽定价 有说明。下面是我的理解,不一定对:

  • 数据传入:免费
  • 数据传出:
  • 区域之间:
    • 同区域免费
    • 跨区域 $0.02 ~ 0.16/GB 不等

就是说前100GB免费,而100刀的话,基本每个月还可以超大概70GB的样子。

参考:

Azure $200(需要信用卡):《Visual Studio Dev Essentials 免费工具. 云服务和培训》
Azure $100 (需要教育邮箱):使用面向学生的 Azure 在云中免费生成内容

开始使用

激活账号非常简单方便。

学生包的链接进入:

之后可以选择使用已经有的微软账号登录或者新建账号登录,均可。最后选择自己需要的福利进行激活。

一般来说用的最多的就是:

  • Azure 免费帐户 + 100 美元信用额度

但是之后又需要你用教育邮箱来进行激活:

创建虚拟机


进入首页,点击创建资源:

选择虚拟机-创建:

如果使用私钥登录SSH的话,按照下图创建,并命名密钥对名字即可,如果使用密码登录,指定密码和用户名即可,新手建议后者:

改用密码登录:

如果使用密钥连接SSH,一定要记得下载密钥!只有一次下载机会。

之后对细节进行确认,再点击创建,即可。最后等待部署完成

更换磁盘

Azure for Student包含两个免费的64GB的p6性能的磁盘。但创建实例的时候默认创建30GB的磁盘且不能更改,这个30GB是收费的,虽然我们有100刀可拿来扣,但实在亏啊,所以一定要修改成64GB。

停止实例

直接修改会发现实例在运行的时候是不能改的。所以先停止实例。

在资源中找到实例,点击概述,找到停止:

面板上重启机器会导致IP变化。但静态IP是要收费的。不过一般来说也不会重启所以我个人觉得无所谓了。

更改磁盘容量【必须】

点击磁盘:

调整大小:

之后返回页面点击概述-开始,启动虚拟机即可~

磁盘页面的磁盘容量如果没有变化,刷新就好。

防火墙设置

点开刚创建的虚拟机 -> 网络 -> 入站端口规则 -> 添加入站端口规则 + 添加出站端口规则,你需要用到什么端口就开什么端口,如果对安全要求不高且怕麻烦的话,建议一次性全开了。出入站都是如下图所设置,规则名字不要重复就好。

增加磁盘【可选】

因为b1s性能垃圾。一般我都不开windows,所以多出来一个64GB磁盘。点击 磁盘 ,点击附加磁盘,

之后按照官方教程来即可:
使用门户将数据磁盘附加到 Linux VM

磁盘分区

列出磁盘:

1
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"

输出类似于以下示例:

1
2
3
4
5
6
7
sda     0:0:0:0      30G
├─sda1 29.9G /
├─sda14 4M
└─sda15 106M /boot/efi
sdb 1:0:1:0 14G
└─sdb1 14G /mnt
sdc 3:0:0:0 4G

在此示例中,添加的磁盘是 sdc。 它的 LUN 为 0,大小为 4 GB。
如果附加新磁盘,需要对磁盘进行分区。

parted 实用程序可用于对数据磁盘进行分区和格式设置。

  • 建议使用适用于你的发行版的最新版 parted
  • 如果磁盘大于或等于 2 TiB,必须使用 GPT 分区。 如果磁盘小于 2 TiB,则可以使用 MBR 或 GPT 分区。

以下示例在 /dev/sdc 上使用 parted,那里是大多数 VM 上第一块数据磁盘通常所在的位置。 将 sdc 替换为磁盘的正确选项。 我们还使用 XFS 文件系统对其进行格式设置。

1
2
3
sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1

装载磁盘

使用 mkdir 创建一个目录来装载文件系统。 以下示例在 /datadrive 处创建一个目录:

1
sudo mkdir /datadrive

然后,使用 mount 来装载文件系统。 以下示例将 /dev/sdc1 分区装载到 /datadrive 装入点:

1
sudo mount /dev/sdc1 /datadrive

若要确保在重新引导后自动重新装载驱动器,必须将其添加到 /etc/fstab 文件。 强烈建议在 /etc/fstab 中使用 UUID(全局唯一标识符)来引用驱动器而不是只使用设备名称(例如 //dev/sdc1) 。 如果 OS 在启动过程中检测到磁盘错误,使用 UUID 可以避免将错误的磁盘装载到给定位置。 然后为剩余的数据磁盘分配这些设备 ID。 若要查找新驱动器的 UUID,请使用 blkid 实用工具:

1
sudo blkid

输出与以下示例类似:

1
2
3
4
5
/dev/sda1: LABEL="cloudimg-rootfs" UUID="11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e" TYPE="ext4" PARTUUID="1a1b1c1d-11aa-1234-1a1a1a1a1a1a"
/dev/sda15: LABEL="UEFI" UUID="BCD7-96A6" TYPE="vfat" PARTUUID="1e1g1cg1h-11aa-1234-1u1u1a1a1u1u"
/dev/sdb1: UUID="22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e" TYPE="ext4" TYPE="ext4" PARTUUID="1a2b3c4d-01"
/dev/sda14: PARTUUID="2e2g2cg2h-11aa-1234-1u1u1a1a1u1u"
/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="c1c2c3c4-1234-cdef-asdf3456ghjk"
错误地编辑 /etc/fstab 文件可能会导致系统无法引导。 如果没有把握,请参考分发的文档来获取有关如何正确编辑该文件的信息。 另外,建议在编辑前备份 /etc/fstab 文件。

在文本编辑器中打开 /etc/fstab 文件,如下所示:

1
sudo nano /etc/fstab

在此示例中,使用在之前的步骤中创建的 /dev/sdc1 设备的 UUID 值并使用 /datadrive 装入点。 在 /etc/fstab 文件的末尾添加以下行:

1
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive   xfs   defaults,nofail   1   2

因为使用的是 nano 编辑器,所以在编辑完文件后,使用 Ctrl+O 写入该文件,然后使用 Ctrl+X 退出该编辑器。

验证磁盘

现在可以再次使用 lsblk 来查看磁盘和装入点。

1
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"

输出将如下所示:

1
2
3
4
5
6
7
8
sda     0:0:0:0      30G
├─sda1 29.9G /
├─sda14 4M
└─sda15 106M /boot/efi
sdb 1:0:1:0 14G
└─sdb1 14G /mnt
sdc 3:0:0:0 4G
└─sdc1 4G /datadrive

可以看到 sdc 现在已装载到 /datadrive

查看总磁盘容量:

1
curl -sL yabs.sh | bash -s -- -fig

多嘴一句

B1s这个性能限制到了10%,硬盘性能也非常差。意思就是拿来玩玩就好了。实际上做不了啥。