前言

终于有机会自己搞 Azure 了. 以前都是找代理做,近期代理 support 越来越弱了. 看来是 right time 自己搞了.

以前写过一些关于 Azure 的笔记:

Azure key-vault

Data protection

Azure Storage

Secret 和 Data Protect Azure key-vault & Storage Account 第 2 篇

但现在要系统的来一遍了.

本系列

这个系列会介绍从 0 到 1 搭建一个 Web Application 的 Server. 间中还会带上一些真实开发常用的功能.

一共 6 篇

1. Virtual Machine (VM) 和 SQL Server <-- 你在这里

2. Backup & Recovery Disaster

3. Publish Web Application to VM (IIS, HTTPS)

4. Azure Key Vault

5. Azure Storage (with custom domain)

6. Computer Vision (smart-cropped thumbnails, OCR)

如何选 Virtual Machine?

Azure 的 Virtual Machine (VM) 可以用作 Web Server 也可以用作 SQL Server, 甚至 Web Server 和 SQL Server 放一起也是 ok 的.

所以第一步就是要先决定你是要放一起还是各别做.

在 Azure 中虚拟机的大小 中对 VM 做了 4 大分类

1. 常规使用 (适合 Web + SQL)

2. 计算优化 (适合 Web)

3. 内存优化 (适合 SQL)

4. GPU (适合挖矿...做 AI)

我项目小, 预算又低, 没什么好选的. 自然是 Web + SQL 放一起咯.

常规使用配套中又可分 3 个等级 A, B, D 系列

A 是最 low 的, 适合做开发测试, 不适合 production.

B 是 Web SQL 各一半, 也是我目前用的. 具体配套是 B-Series Standard_B2ms

D 系列会偏 SQL 多一些. 我通常是做信息管理项目, 大部分情况就是 CRUD 所以偏 SQL 是对的. 但是贵...所以暂时还没办法.

有一个中意的配合 d2ds-v5 目前是 preview 还买不到, 希望之后可以换过去.

如果你需要针对 SQL Server 性能好的话可以参考性能的最佳做法

开始购买咯

首先注册 Azure 账户 (需要 binding credit/debit card). 会有 1 个月 MYR 850 免费使用哦.

进入 azure portal 页面

搜素 SQL virtual machines 进入

创建 SQL Server 2019 Web on Windows Server 2019

创建 Resource Group, Azure 的 VM, Key Vault 这些都统称为 Resource, Resource Group 就是它的分组 (用于管理)

我的命名规范是 ProjectName-RG, 比如我这个项目是 JBReviews 所以是 JBReviews-RG.

VM 的名字是 JBReviews-VM

Region 是 Southeast Asia (项目在是马来西亚, 而目前马来西亚没有 data center 要到 2024 年才有, 所以用的是 Singapore 的 data center), 关于 Region 可以看数据中心地理结构.

Availablity optionsAvailability zone, 这样可以确保高可用性.

Availability zone 可以任选, 除非它 erorr, 就试试其它 zone, 有些 image 不是每一个 zone 都支持, 所以有机率会 error 的哦.

Image 选 SQL Server 2019 Web on Windows Server 2019 - Gen1

Azure Spot instance 不选 (这个是低可用性但是超级便宜的配套)

Size 选 B-Series Standard_B2ms (参考上面说的如何选择 Virtual Machine)

然后是 usernamepassword

Inbound ports 是 (HTTP)80, (HTTPS)443, (SSH)22, (RDP remote desktop port)3389

然后 next to Disks

默认选择是 premium SSD 125GB, 没办法调小, 但以后可以加大或改成 Standard SSD.

如果想省钱, 用 standard SSD 也行的 参考: 关于磁盘

然后 next to Networking, 全部默认就可以了, Load balancing 是给多架 VM 用的, 我们不需要

next to Management, 也是默认就可以了, 除了 windows update 需要关掉以为, 我一般上是自己做 windows update 的啦.

Site Recovery 这里先 skip 掉, 到下一篇 Backup 环节我们才做.

next to Advanced, 全部默认就可以了

next to SQL Server settings, 全部默认, 除了以下:

SQL connectivity 选 public, 因为我要本地 SQL Server Management Studio 连接到 VM 来管理.

SQL Authentication, Login name, Password

Storage

General 就是读写通用, Transactional processing 就是写优化,  Data warehousing 就是读优化. 有做读写分离就会需要这些. 我项目太小, 预算太少, 当然是选 General 了.

磁盘方面我不太懂, 只知道

HDD 是最 low 适合用来存 backup 的资料,

Standard SSD 是中等,

Premium SSD 是中上,

Ultra Disk 是最快的 (但是目前 Ultra disk 不支持 Disaster recovery)

IOPS (input/output per second), Max Throughput 最大吞吐量 我也不懂. 要详细了解的看这里

我只是按我需要的 disk size 来选... 哈哈 (后来增加的, 但是如果是 share 的之后不可以分开哦)

Automated patching 我也是关掉, 我自己维护 update

next to Review + create, 然后 submit 等一会就 ok 了.

最后是通过 RDP 访问我们的 VM

点 RDP 下载, 打开输入账号密码就可以进入 VM 了.

提醒: 进入 VM 后记得 set 一下 timezone

SQL Server Management Studio 直接链接就可以了

public + default port 是有安全隐患的. 最好是不要公开. 但是如果要公开 IP 的话, 至少 port 不要用 default 的.

SQL Server 的 port 可以直接去 VM > Networking 换

然后去 VM 里面开启 start -> firewall, 添加 inbounce (没错就是要进到 VM 里面弄, portal 弄不了)

VM 的 port 也是很麻烦

参考: Change default RDP port for an Azure VM

需要进到 command

然后去 Networking 把原本的 RDP 换成 Custom

最后 restart VM 就可以进入了

顺便补上一个小知识, 如何洗掉 RDP history IP

VM disk 的分配

按上面的配套

OS drive 是 125GB

Data drive 是 30GB

Temporary drive 15GB (这个是用于优化的, 不要去碰它就可以了)

以前我们会把项目的文件 (图片, pdf 等) 存放在 VM 里, 但其实这样是不划算的. Azure 有 Storage 它的性价比比 Disk 便宜, 所以建议使用 Storage, 后面的章节有介绍到.

关于 Public IP SKU

以前 Public IP Address 默认买是 Standard SKU, 但最近一次买却变成了 Basic.

区别看这里, 价差看这里

Basic 默认是 dynamic 的 IPv4 可以 static, IPv6 只能是 dynamic, 如果这个时候去 stop VM 它会问你要不要 reserve Public IP, 选择要的话它会帮从 dynamic 换成 static.

还有 Public IP Address 页面会看到提示说 Basic SKU 不适合 production workload. 所以要升级.

升级的时候需要先 dissociate, 然后再链接回去 Network interface.

Azure 入门系列 (第一篇 Virtual Machine 和 SQL Server)的更多相关文章

  1. Entity Framework 6.0 入门系列 第一篇

    Entity Framework 6.0 入门系列 第一篇 好几年前接触过一些ef感觉不是很好用,废弃.但是 Entity Framework 6.0是经过几个版本优化过的产物,性能和功能不断完善,开 ...

  2. Azure PowerShell (6) 设置单个Virtual Machine Endpoint

    <Windows Azure Platform 系列文章目录> 请注意: - Azure不支持增加Endpoint Range - 最多可以增加Endpoint数量为150 http:// ...

  3. 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器

    × 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...

  4. 深入理解javascript函数系列第一篇——函数概述

    × 目录 [1]定义 [2]返回值 [3]调用 前面的话 函数对任何一门语言来说都是一个核心的概念.通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.在javascript里,函数即 ...

  5. Windows Azure 入门系列课程Windows Azure 入门系列课程

    Windows Azure 入门系列课程 https://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/NewSeries/A ...

  6. 微软云平台windows azure入门系列八课程

    微软云平台windows azure入门系列八课程: Windows Azure入门教学系列 (一): 创建第一个WebRole程序与部署 Windows Azure入门教学系列 (二): 创建第一个 ...

  7. 深入理解javascript函数系列第一篇

    前面的话 函数对任何一门语言来说都是核心的概念.通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.在javascript里,函数即对象,程序可以随意操控它们.函数可以嵌套在其他函数中 ...

  8. 三——第二部分——第二篇论文 计划建设SQL Server镜像

    本文接着前面的章节:SQL Server镜像简单介绍 本文出处:http://blog.csdn.net/dba_huangzj/article/details/27203053 俗话说:工欲善其事必 ...

  9. The thumbprint of same asymmetric key is not same in 'SQL Server Connector for Microsoft Azure Key Vault' 1.0.4.0 and 'SQL Server Connector for Microsoft Azure Key

    https://support.microsoft.com/en-us/help/4470999/db-backup-problems-to-sql-server-connector-for-azur ...

  10. Docker系列开篇之Virtual Machine VS Container(一)

    前言 本节开始我们正式进入Docker系列,网上关于Docker相关文章如数家珍,写博客至今,我也一直在朝着如何写出通俗易懂且不枯燥的文章这个目标前进,喃喃自语的同时也希望看到文章的童鞋能明白我在讲什 ...

随机推荐

  1. 2022 开源之夏 | Curve 邀你与中国存储软件共成长,赢万元奖金

    Curve 社区携手开源之夏,邀你开展有趣而精彩的开源之旅,直面社区大咖,积累项目经历,摘取丰厚奖金,共同推进我国基础软件自主创新 2022 年,Curve 社区再次加入系列高校开源活动 -- 开源之 ...

  2. [oeasy]python0010_怎么用命令行保存文件

    编写 py 文件 回忆上次内容 上次 真的输出了 程序员的浪漫 Hello world!   print函数 可以输出 字符串 但是 print这个词 别拼错 就连 大小写 也别能错 错了就改 也没事 ...

  3. oeasy教您玩转vim - 49 - # 命令进阶

    ​ 命令进阶 回忆上节课内容 我们上次研究vim的历史 为什么会有行编辑器这种东西 竟然是当年 没有显示器只有纸的时代的无奈之举 vim进化到今天 依然还有好多人使用 而且ssh连接的时候直接vim就 ...

  4. .NET单元测试使用AutoFixture按需填充属性的几种方式,以及最佳实践

    AutoFixture是一个.NET库,旨在简化单元测试中的数据设置过程.通过自动生成测试数据,它帮助开发者减少测试代码的编写量,使得单元测试更加简洁.易读和易维护.AutoFixture可以用于任何 ...

  5. 毕业设计&毕业项目:基于springboot+jsp实现的健身房管理系统

    一.前言 在当今数字化时代,音乐已经成为人们生活中不可或缺的一部分.随着技术的飞速发展,构建一个用户友好.功能丰富的在线音乐平台成为了许多开发者和创业者的目标.本文将介绍如何使用SpringBoot作 ...

  6. DASCTF 2023 & 0X401七月暑期挑战赛【PWN】(FileEditor篇)

    DASCTF 2023 & 0X401七月暑期挑战赛[PWN](FileEditor篇) 题目保护情况(保护全家桶) 64位ida逆向 模拟了一个类似vim的功能,有打开文件,打印内容,插入行 ...

  7. 强化学习是否可以AI4Science呢?

    最近,华为和Google都推出了AI的天气预报系统(发表了nature.science论文,但是没开放公众使用),可以说这个传统的Science问题已经被AI算法解决,这也说明了传统Science问题 ...

  8. C# 工厂模式 个人基本流程

    有个前提 本文并不会介绍工厂模式,只是记录在实际当中个人比较喜欢的工厂写法.仅仅作为备忘和参考. 开始流程 定义一个抽象类,包含一些公共的业务逻辑(也可以是接口) /// <summary> ...

  9. 小程序报错 .wxss 无法找到

    转子:http://blog.csdn.net/u012329294/article/details/78610593

  10. Apache SeaTunnel 社区 3 月月报

    各位热爱 SeaTunnel 的小伙伴们,SeaTunnel 社区 3 月月报来啦!这里将记录 SeaTunnel 社区每个月的重要更新,并评选出月度之星,欢迎关注. SeaTunnel 月度 Mer ...