Cấu hình IIS frontend và SQL backend với Azure Resource Manager
Tiếp nối seri về giải pháp Cloud. Hôm nay mình xin giới thiệu với mọi người về giải pháp Cloud của MS. Đó chính là Azure.
Hôm nay mình xin hướng dẫn mọi người cách cấu hình một website IIS, có SQL làm backend.
Qua bài lab này, mọi người sẽ học rất được nhiều thứ. Trên mạng hiện nay có rất nhiều tài liệu. Nhưng chỉ là tài liệu Classic. Hiện nay Azure đã ra model triển khai ARM (Azure Resouce Manager), tài liệu rất hiếm. Mình sẽ hướng dẫn làm bài lab với Azure Resource Manager.
I. GIỚI THIỆU VỀ ARM (AZURE RESOURCE MANAGER)
Mô hình basic trong Azure, ở đó mỗi resource được tạo ra không phụ thuôt gì nhau, không có cách nào để nhóm các tài nguyên lại với nhau. Thay vào đó bạn phải theo dỏi các resource một cách thủ công và luôn luôn phải gắn kết chúng lại với nhau. Để triển khai giải pháp, phải tạo ra các resource bằng basic portal hoặc là sử dụng các script để tạo ra resource hợp lệ. Để xóa giải pháp, bạn phải delete từng resource riêng lẻ trong giải pháp. Trong mô hình basic không dể dàng để update hoặc gắn access control policy cho những resource liên quan. Cuối cùng là không thể apply tag tới resource để gắn nhãn cho chúng bằng các thuật ngữ giúp ích cho việc moniter và quản lý hóa đơn.
Năm 2014 Azure ra mắt mô hình Resource manger (ARM). Nó được thêm vào các định nghĩa group. Một resource group chứa các tài nguyên cùng chung 1 vòng đời. Mô hình ARM cung cấp một số lợi ích sau:
- Có thể triển khai, quản lý, moniter các dịch vụ, giải pháp như là group. Nó tiện lợi hơi là quản lý từng dịch vụ riêng lẻ.
- Có thể triển khai lặp đi lặp lại nhiều lần các giải pháp trong vòng tuần hoàn làm tăng sự tinh tưởng trong các resource đã được triển khai.
- Có thể apply access control cho tất cả các resource trong group. Và chính sách policy được tự động apply khi một resource mới được gắn vào group.
- Có thể apply các tag tới resource để hợp lý hóa các resource trong đăng ký của bạn.
- Có thể sử dụng JavaScript Object Notation (JSON) để định nghĩa ra các kiến trúc trong các giải pháp của bạn. File JSON không phải là resource templet.
- Có thể xác định sự phụ thuột giữa các resource khác nhau để có thể triển khai cho đúng tuần tự.
Khi mà resource manager được thêm vào thì tất cả các resource được thêm vào default resource group. Nếu bây giờ bạn tạo resource thông qua mô hình triển khai basic thì resource tự động tạo trong default resource group mặc dù không chỉ định nhóm tài nguyên triển khai. Tuy nhiên nó không phải là mô hình ARM.
Khi quyết định áp dụng mô hình triển khai nào, cần chú ý đến các vấn đề sau:
- Dịch vụ này hỗ trợ Resource Manager và chỉ cung cấp một loại.
- Dịch vụ này hỗ trợ Resource Manager nhưng cung cấp hai loại – một cho Resource Manager và một cho dịch vụ cổ điển. Kịch bản này chỉ áp dụng cho virtual machine, tài khoản lưu trữ và mạng ảo.
- Dịch vụ không hỗ trợ Resource Manager.
Nếu dịch vụ mà không hổ trợ ARM thì nên sử dụng mô hình triển khai basic.
Nếu mà dịch vụ hỗ trợ ARM nhưng không phải là virtual machine, storage account hoặc là virtual network mà không có bất kỳ su755 phức tạp nào.
Đối với các virtual machine, storage account hoặc là virtual network, nếu tài nguyên được tạo ra thông qua triển khai basic, bạn phải tiếp tục vận hành nó thông qua các hoạt động basic. virtual machine, storage account hoặc là virtual network được tạo ra thông qua triển khai Resource Manager, bạn phải tiếp tục sử dụng các hoạt động của Resource Manager. Sự phân biệt này có thể gây nhầm lẫn khi đăng ký của bạn có chứa nhiều tài nguyên được tạo ra thông qua Resource Manager và triển khai basic. Sự kết hợp tài nguyên này có thể tạo ra các kết quả bất ngờ vì các tài nguyên không hỗ trợ các hoạt động tương tự.
Trong một số trường hợp, lệnh Resource Manager có thể lấy thông tin về một tài nguyên được tạo ra thông qua triển khai basic hoặc có thể thực hiện một nhiệm vụ quản trị như chuyển một tài nguyên basic sang một nhóm tài nguyên khác.
Tham khảo thêm https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-deployment-model
II. LAB VIRTUAL MACHINE
Trong bài lab, bạn sẽ tạo 2 virtual machine. 1 virtual machine sẽ chạy IIS server và một virtual machine sẽ chạy SQL 2012 để làm DB. Virtual machine sẽ được kết nối bởi Microsoft Azure virtual network.
Trong lab này chúng ta sẽ học về cách:
- Tạo Azure Storage Account
- Cấu hình IIS Web Server và kết nối chúng tớ SQL Server thông qua virtual network.
- Cấu hình virtual machine SQL
- Triển khai mộ web site đơn giản sử dụng IaaS IIS virtual machine
III. PREREQUISITES
The following is required to complete this hands-on lab:
- Microsoft Azure PowerShell
- Install the SQL Server PowerShell extensions on the database VM (link)
- A Microsoft Azure subscription
Task 1. Tạo account storage và group resource
Đầu tiên chúng ta cần phải tạo 1 account storage sử dụng để orther và là nơi để đặt các file .vhds trong blob. Thông thường lúc tạo virtual machine thì mặc định sẽ có option tạo account storage, nhưng ở đây phải tạo account storage bằng cách thủ công để tạo các group resoure đặt tất cả các application resource trong đó.
B1. Login vào https://portal.azure.com
B2. Từ màng hình chính Azure Portal, click +New, Storage and then Storage account.
B4. Nhập thông tin của Storage account
Name – Unique storage account name
Deployment model – pick Resource Manager
Account kind – select General purpose
Performance – choose Standard
Replication – Choose LRS
Subscription – pick your subscription
Resource Group – create a new resource group or pick an existing one
Location – pick your region where you want this storage account created
Kết quả sau khi tạo
Task 2. Tạo virtual network
B1. Truy cập vào resource group
B2. Chọn group resource vừa tạo
B3. Trong group resource click chọn add virtual network
B4. Một cửa sổ hiện ra, click vào tìm kiếm virtal network
B5. Chọn Virtual network và tạo
B6. Điền các thông số sau
- The name of the virtual network (only need to be unique within the subscription)
- The address space. Needs to be an internal (not internet addressable) range
- The name of the subnet. For this lab exercise, name it AppSubnet.
- Subnet address range (leave as the default)
- Select your Azure subscription (if you have multiple)
- Select the Resource group you created previously
- Select the region to put the virtual network in
- Clear the Pin to dashboard checkbox
B7. Khi quá trình tạo hoàn tất, nếu ko thấy tên của Virtual network xuất hiện bạn có thể refresh lại browser. Click vào Vitrual network trong group resource, sau đó chọn tab subnet để tiến hành kiểm tra.
B8. Tạo subnet cho SVR DB
Kết quả sau khi tạo thành công
Task 3. Tạo virtual machine chạy IIS
Đây là bước bạn sẽ học được cách tạo 1 Virtual machine với https://portal.azure.com. Sau đó sẽ cấu hình virtual machine, thêm role IIS như trong cấu hình Windows Server. Chúng ta sẽ tạo một virtual machine có tên là it4vn-web
B1. Trong group resource chọn add thêm thêm virtual machine vào group
B2. Sau khi một cửa sổ hiện ra, serach Windows 2012 R2
B3. Click chọn phiên bản windows và chọn Create
B4. Chọn Basic và điền các thông tin như sau
Name: tên của VM
User name và passwork, sau đó chọn OK
B5. Chọn Option virtual machine cần tạo
B6. Điền các thông số sau trong phần settings:
- Disk type: Standard – you could use Premium SSD if you have a DS or GS series machine and have chosen a region that supports Premium storage.
- Storage account – the previous storage account you created
- Virtual network – the previous virtual network you created
- Subnet – needs to be Virtual-Net-it4vn
- Public IP address – leave as is, you need a public IP address in this case to do RDP
- Network security group – leave as is, this puts a network security group around our Virtual-Net-it4vn
- Extensions – leave as is
Enable Diagnostics, Diagnostics acccont như là storage account, nó cũng là nơi để đặt virtual machine. Diagnostics account phải khác với storage account.
Chúng ta không cần cấu hình HA cho web site. Nên ở High Avaiable chọn None.
Kết quả trong phần summary, chọn OK để tạo virtual machine
Kết quả sau khi tạo virtual machine xong
Task 4. Tạo virtual machine IaaS SQL Server
Tiếp theo sẽ thực hiện tạo 1 virtual machine bằng azure portal để chạy SQL server https://portal.azure.com
Với SQL, chúng ta sẽ sử dụng SQL Server 2014 SP2 Standard trên a Windows Server 2012 R2.
B1. Sau khi đăng nhập vào portal, click add, sau đó sẽ có một bộ lọc hiện ra. Search trong Everything “SQL Server 2014” và chọn phiên bản mình cần tạo.
B2. Trong virtual machine SQL, chọn resource manager và create
B3. Chọn Basic và điền các thông tin như sau
Nam: tên của virtual machine
User name và passwork, sau đó chọn OK
B4. Chọn Option virtual machine cần tạo
B5. Điền các thông số sau trong phần settings:
- Disk type: Standard – you could use Premium SSD if you have a DS or GS series machine and have chosen a region that supports Premium storage.
- Storage account – the previous storage account you created
- Virtual network – the previous virtual network you created
- Subnet – needs to be Virtual-Net-it4vn
- Public IP address – leave as is, you need a public IP address in this case to do RDP
- Network security group – leave as is, this puts a network security group around our Virtual-Net-it4vn
- Extensions – leave as is
Enable Diagnostics, Diagnostics acccont như là storage account, nó cũng là nơi để đặt virtual machine. Diagnostics account phải khác với storage account.
Chúng ta không cần cấu hình HA cho web site. Nên ở High Avaiable chọn None.
Kết quả trong phần summary, chọn OK để tạo sang tab SQL server setting
Trong phần này chỉ cần thay enable chứng thực SQL và enable chứng năng auto backup DB.
Port 1433 được sử dụng cho SQL, port 1433 sẽ được tạo trong network group security, nhưng port này không trong FW của SVR.
Cuối cùng là tổng hợp lại các cấu hình, click OK để tiến hành tạo SQL Server
Kết quả sau khi tạo SQL Server xong
Task 5. Cấu hình IIS
Để có thể cấu hình IIS chạy website. Đầu tiên phải connect đến virtual machine
B1. Truy cập vào portal / virtualmachine / it4vn-web
B2. Chọn connect download remote desktop để có thể connect vào virtual machine
B3. Mở Remote Desktop
B4. Cài đặt IIS trong windows 2012
Login vào máy chủ Additional DC với quyền Administrator local. Vào Server Manager à nhấn chuột vào Manage tại góc phải phía trên của cửa sổ Server Manager à Chọn Add Roles and Features
Trong cửa sổ Add Roles and Features à nhấn Next tại phần Before You Begin
Trong cửa sổ Select installation Type chọn Role-base or feature-based installation click Next
Trong cửa sổ Select destination server chọn Select a server from the server pool click Next
Trong cửa sổ Select Server Roles à chọn IIS click Next
Trong cửa sổ Add role and Features Wizard. Chọn Add Features và Next đến khi Install
Trong cửa sổ Comfirm installation selections click Install
Quá trình hoàn tất, chọn Close
Task 6. Thiết lập rule inbound trong NSG cho website
B1. Truy cập vào All Resource, chọn NSG của virtual machine it4vn-web
B2. Click chọn Inbound security rules, chọn +Add để thêm rules mới cho phép http
- Name là tên của rule
- Priority sẽ được thiết lập theo mặc định. Nếu không muốn có thể chỉnh lại.
- Source chọn Any
- Service chọn HTTP thì hệ thống sẽ tự điền port và protocol
- Action là hành động cho phép hay chặn
B3. Check lại kết quả
Bây giờ có thể truy cập website được
Task 7. Cấu hình SQL server 2014
Tiếp theo chúng ta sẽ cấu hình SQL DB để web ứng dụng có thể sử dụng được DB.
Khi mà tạo IaaS SQL virtual machine, portal sẽ tự động add 1TB ổ ứng cho bạn. Nhưng nó không tự động format. Sử dụng ổ cứng này để lưu trử DB.
B1. Truy cập vào máy chủ SQL , tương tự với cách truy cập vào máy chủ web.
B2. Mở ổ F lên, tạo các tự mục
Tiếp theo là install AdventureWorks Database
Trong bước này, chúng ta sẽ thêm AdventureWorks Database sample
B1. Download AdventureWorks Database SQL 2014 https://msftdbprodsamples.codeplex.com/releases/view/125550
B2. Giải nén file vừa download
B3. Copy file vừa giải nén tới thư mực
F:\backups\
B4. Đăng nhập vào SQL manager
B5. Thực hiện restore DB với SQLQuery
USE master
RESTORE DATABASE AdventureWorks2012
FROM disk =
‘F:\Backups\AdventureWorks2012.bak’
WITH MOVE ‘AdventureWorks2012_data’ TO
‘F:\Data\AdventureWorks2012.mdf’,
MOVE ‘AdventureWorks2012_Log’ TO
‘F:\Log\AdventureWorks2012.ldf’,
REPLACE
Sau khi restore xong sẽ có thông báo
B6. Check lại kết quả
B7. Tạo user có tên là CloudShop và pass là Azure$123 và chọn Default DB là AdventureWorks2012
B8. Cấp quyền sở hữu DB AdventureWorks2012 cho accout CloudShop
B9. Tạo Catalog
Vào DB AdventureWorks2012/ Storage/ Fulltext Catalog…, nhấn New
Đặt tên là AdventureWorksCatalog
Sau đó vào Catalog vừa tạo, click Tables/view, chọn Production.Product, phần Name, chọn English
Task 8. Deploying the MVC4 Application
Download folder CloudShop .zip http://kjabrams.blob.core.windows.net/cloudshop/CloudShop.zip về để test
B1. Sử dụng Remote Desktop để truy cập vào máy it4vn-web
B2. Copy folder CloudShop.zip vào thư mục C:\inetpub\wwwroot
B3. Truy cập vào thư mục C:\inetpub\wwwroot\CloudShop mở file Web.config bằng notepad để chỉnh sữa (thêm vào địa chỉ của SQL server)
<connectionStrings>
<add name=”DefaultConnection” providerName=”System.Data.SqlClient” connectionString=”Data Source=it4vn-sql;Initial Catalog=AdventureWorks2012;Uid=CloudShop;Password=Azure#123;” />
</connectionStrings>
B4. Truy cập vào IIS để covert folder CloudShop sang app, chọn CloudShop, click phải chọn Convert to Application
Click OK để hoàn thành.
Task 9. Test với DNS and IP public
B1. Đăng nhập vào Portal
B2. Truy cập vào All Resource
B3. Chọn vào IP của VM web sẽ thấy các thông tin cần thiết như IP và DNS
B4. Truy cập vào bằng DNS name với thông tin sau
B5. Kiểm tra DB bằng cách tạo Account
B6.Kiểm tra kết quả
Tác giả: Nguyễn Thành Hiếu – ITFORVN.COM
Bạn có thể tương tác và cập nhật thông tin mới nhất của Nhóm Facebook ITFORVN, Các khóa học mới do group tổ chức tại «Portal»
Hi there,
I’m a reader of your blog post and I found it very informative. I’m currently studying for the Microsoft Certified Systems Administrator (MCSA) and Microsoft Certified Server Administrator (MCSE) exams and I found
Hi there,
I’m a reader of your blog post and I found it very informative. I’m currently studying for the Microsoft Certified Systems Administrator (MCSA) and Microsoft Certified Server Administrator (MCSE) exams and I found