Warning: is_dir(): open_basedir restriction in effect. File(/www/wwwroot/uat-elearning.itforvn.com/wp-content/plugins/wpdiscuz/themes/default) is not within the allowed path(s): (/www/wwwroot/itforvn.com/:/tmp/) in /www/wwwroot/itforvn.com/wp-content/plugins/wpdiscuz/forms/wpdFormAttr/Form.php on line 140
Cấu hình IIS frontend và SQL backend với Azure Resource Manager - ITFORVN

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»

Đánh giá post
Subscribe
Notify of
guest
0 Góp ý
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x