1. Tổng quan
PowerShell là một shell dòng lệnh và ngôn ngữ tập lệnh liên kết được xây dựng trên khung .NET. Đây là công cụ quản lý cấu hình và tự động hoá tác vụ mặc định được sử dụng trong thế giới Windows. Lệnh cmdlet PowerShell là một lệnh gọn nhẹ được gọi trong PowerShell.
Công cụ đám mây dành cho PowerShell là một tập hợp các lệnh ghép ngắn để truy cập và thao tác với các tài nguyên của Google Cloud như Google Compute Engine, Google Cloud Storage, Google Cloud SQL và Google Cloud DNS. Trong tương lai, chúng tôi sẽ hỗ trợ thêm nhiều công cụ khác nữa!
Hãy theo dõi phòng thí nghiệm này để tìm hiểu cách tương tác với các tài nguyên trên Google Cloud qua PowerShell.
Kiến thức bạn sẽ học được
- Cách cài đặt Công cụ đám mây cho PowerShell.
- Cách xác thực bằng Google Cloud SDK.
- Cách tạo và quản lý Google Compute Engine qua PowerShell.
- Cách sao lưu dữ liệu qua PowerShell vào Google Cloud Storage.
Bạn cần có
- Một dự án trên Google Cloud Platform.
- Một trình duyệt, chẳng hạn như Chrome hoặc Firefox.
- Một máy Windows.
Bạn sẽ sử dụng hướng dẫn này như thế nào?
Bạn đánh giá thế nào về trải nghiệm sử dụng Google Cloud Platform?
2. Thiết lập và yêu cầu
Đối với lớp học lập trình này, bạn cần có một dự án trên Google Cloud để tương tác với PowerShell. Nếu đang có một dự án, bạn có thể sử dụng dự án đó hoặc tạo một dự án mới theo các bước sau.
Thiết lập môi trường theo tiến độ riêng
Nếu chưa có Tài khoản Google (Gmail hoặc G Suite), bạn phải tạo một tài khoản. Đăng nhập vào bảng điều khiển Google Cloud ( console.cloud.google.com) và tạo một dự án mới:
Ghi nhớ mã dự án, tên duy nhất trong tất cả các dự án Google Cloud Platform. Lớp này sẽ được đề cập sau trong lớp học lập trình này là PROJECT_ID
.
Tiếp theo, bạn sẽ cần bật tính năng thanh toán trong Google Cloud Console để sử dụng các tài nguyên của Google Cloud Platform như Google Cloud Datastore và Cloud Storage.
Người dùng mới của Google Cloud Platform đủ điều kiện nhận 300 USD dùng thử miễn phí. Bạn sẽ không mất quá vài đô la khi chạy lớp học lập trình này, nhưng sẽ tốn nhiều hơn nếu quyết định sử dụng nhiều tài nguyên hơn hoặc nếu bạn để tài nguyên đó chạy (xem phần "dọn dẹp" ở cuối tài liệu này).
3. Cài đặt
Cài đặt môi trường theo tiến độ riêng
Lệnh ghép nối PowerShell là một phần trong Cloud SDK dành cho Windows. Tải xuống và cài đặt Google Cloud SDK dành cho Windows theo mô tả trong Hướng dẫn bắt đầu nhanh cho Windows nếu bạn chưa thực hiện. Đảm bảo rằng bạn đã chọn tuỳ chọn PowerShell khi cài đặt Cloud SDK.
4. Xác thực
Cloud Tools cho PowerShell sử dụng thông tin xác thực và chế độ cài đặt được lưu trữ trong Cloud SDK. Vì vậy, để bắt đầu sử dụng lệnh ghép ngắn, trước tiên, bạn cần đăng nhập bằng Cloud SDK.
Xác thực môi trường tự tiến hành
Khởi động Google Cloud SDK Shell và chạy lệnh sau.
gcloud init
Chấp nhận tuỳ chọn đăng nhập bằng tài khoản người dùng Google của bạn.
To continue, you must log in. Would you like to log in (Y/n)? Y
Trong trình duyệt, hãy đăng nhập vào tài khoản người dùng Google khi được nhắc, rồi nhấp vào Cho phép để cấp quyền truy cập vào các tài nguyên của Google Cloud Platform.
Khi thấy dấu nhắc lệnh, hãy chọn một dự án Cloud Platform trong danh sách các dự án mà bạn có quyền Chủ sở hữu, Người chỉnh sửa hoặc Người xem.
Pick a cloud project to use:
[1] [my-project-1]
[2] [my-project-2]
...
Please enter your numeric choice:
5. Chạy các lệnh ghép nối Google Cloud trong PowerShell
Sau khi xác thực, bạn đã có thể sử dụng các lệnh ghép ngắn của Google Cloud trong PowerShell. Tìm và mở shell dòng lệnh PowerShell.
Để đảm bảo các lệnh ghép nối Google Cloud được cài đặt đúng cách, hãy chạy lệnh cmdlet Get-GceInstance
. Thao tác này sẽ liệt kê các phiên bản Compute Engine mà bạn có trong dự án.
6. Tạo và quản lý các phiên bản Google Compute Engine
Trong phần này, bạn sẽ tạo và quản lý Google Compute Engine từ trong Google Cloud Tools dành cho PowerShell.
Tạo cấu hình thực thể
Trước khi tạo một phiên bản, đầu tiên, bạn phải tạo một cấu hình phiên bản. Ở mức tối thiểu, bạn phải có tên, loại máy và hình ảnh đĩa khởi động hoặc đĩa khởi động có sẵn. Sử dụng Get-GceImage
để tạo hình ảnh đĩa và New-GceInstanceConfig
để tạo cấu hình.
$disk = Get-GceImage "windows-cloud" -Family "windows-2012-r2"
$config = New-GceInstanceConfig "my-vm-1" `
-MachineType "n1-standard-4" `
-DiskImage $disk
Đến đây, bạn đã có cấu hình để tạo thực thể.
Tạo một thực thể
Sử dụng lệnh ghép lệnh Add-GceInstance
để tạo một phiên bản Compute Engine mới. Bạn có thể chỉ định một dự án và vùng, nhưng nếu bị bỏ qua, giá trị thông số sẽ được đặt mặc định thành các giá trị trong cấu hình Cloud SDK hiện đang hoạt động. Nếu bạn chỉ định dự án, hãy nhớ thay thế PROJECT_ID
bằng mã dự án của riêng bạn.
$config | Add-GceInstance -Project PROJECT_ID -Zone europe-west1-b
Quản lý một phiên bản
Bạn có thể sử dụng lệnh ghép ngắn Get-GceInstance
để truy xuất các thực thể máy ảo của một dự án. Vì tên dự án hoặc vùng có thể không phải là riêng biệt, nên bạn có thể chỉ định một tham số Dự án hoặc Vùng để thu hẹp kết quả tìm kiếm. Theo mặc định, lệnh cmdlet sử dụng bất kỳ giá trị nào có trong cấu hình Cloud SDK đang hoạt động.
$instance = Get-GceInstance "my-vm-1"
Bạn có thể đặt thẻ thực thể, ổ đĩa, cấu hình truy cập và siêu dữ liệu khác sau khi tạo thực thể bằng lệnh ghép lệnh Set-GceInstance
. Hãy thêm một số siêu dữ liệu rồi xoá như sau.
Set-GceInstance $instance -AddMetadata @{"newKey" = "newValue"}
Set-GceInstance $instance -RemoveMetadata "newKey"
Set-GceInstance $instance -RemoveTag "beta" -AddTag "alpha"
Bây giờ, hãy thêm một thẻ mà sau này bạn sẽ sử dụng để xoá phiên bản đó.
Set-GceInstance $instance -AddTag "to-be-removed"
Bạn có thể bắt đầu, dừng hoặc khởi động lại một thực thể bằng nhiều lệnh ghép ngắn. Bạn có thể tham chiếu đến một thực thể bằng cách sử dụng tên hoặc đối tượng được nhập mạnh được trả về từ lệnh cmdlet Get-GceInstance
. Chơi bằng một vài lệnh trong số này.
Stop-GceInstance $instance
Start-GceInstance $instance
Restart-GceInstance "my-vm-1"
Cuối cùng, khi bạn đã tạo xong thực thể, hãy xoá thực thể đó khỏi Compute Engine bằng cách sử dụng lệnh ghép lệnh Remove-GceInstance
và cung cấp thẻ mà bạn đã chỉ định trước đó.
Get-GceInstance -Project $project |
Where { $_.Tags.Items -contains "to-be-removed" } |
Remove-GceInstance -WhatIf
7. Sao lưu dữ liệu vào Google Cloud Storage
Trong phần này của lớp học lập trình, bạn sẽ sao lưu dữ liệu từ máy cục bộ vào Google Cloud Storage bằng Công cụ đám mây dành cho PowerShell.
Tạo bộ chứa
Trước khi tải tệp lên Cloud Storage, bạn cần tạo một bộ chứa. Sử dụng lệnh ghép nối New-GcsBucket
để tạo một bộ chứa mới.
$bucket = "my-gcs-bucket"
New-GcsBucket $bucket
Tải tệp lên bộ chứa
Bạn có thể sử dụng New-GcsObject
để tải tệp hoặc toàn bộ thư mục lên bộ chứa.
Bạn có thể tải nội dung của một tệp cục bộ lên Cloud Storage bằng cách sử dụng tham số -File
và chỉ định một đường dẫn tệp. Ngoài ra, bạn có thể truyền nội dung của đối tượng dưới dạng chuỗi thông qua quy trình PowerShell hoặc sử dụng tham số -Value
.
Chọn một tệp cục bộ trên máy của bạn và tải lên bộ chứa như sau.
New-GcsObject -Bucket "my-gcs-bucket" -File "C:\path\to\some\file\hello.txt"
Bạn có thể tải toàn bộ thư mục từ ổ đĩa cục bộ lên Cloud Storage bằng cách sử dụng tham số -UploadFolder
và chỉ định đường dẫn đến thư mục. Nếu bạn không muốn tải thư mục trực tiếp lên thư mục gốc của bộ chứa Cloud Storage, hãy sử dụng -ObjectNamePrefix
để chỉ định tiền tố sẽ được áp dụng cho mọi đối tượng được tải lên.
Chọn một thư mục cục bộ trên máy của bạn và tải lên nhóm như sau.
New-GcsObject -Bucket "my-gcs-bucket" -Folder "C:\path\to\some\folder"
Dữ liệu tìm kiếm
Bạn có thể tìm kiếm dữ liệu bằng lệnh ghép ngắn hoặc với nhà cung cấp thông qua các lệnh ghép ngắn để tìm kiếm tệp phổ biến. Hãy thử dùng lệnh sau đây với bộ chứa của bạn.
Get-GcsObject $bucket | Select Name, Size | Out-GridView
Bạn sẽ thấy một cửa sổ lưới bật lên có tên và kích thước.
Đọc dữ liệu
Bạn có thể sử dụng lệnh ghép nối Read-GcsObject
để đọc dữ liệu. Ví dụ: bạn có thể sử dụng lệnh sau để đọc tệp có tên hello.txt
vào màn hình.
Read-GcsObject $bucket "hello.txt" `
-OutFile "$Env:UserProfile\Desktop\hello.txt"
Xoá dữ liệu
Cuối cùng nhưng không kém phần quan trọng, bạn có thể xoá dữ liệu bằng lệnh dùng lệnh Remove-GcsObject
. Sử dụng lệnh sau để xóa tất cả nội dung của bộ chứa.
Get-GcsObject $bucket | Remove-GcsObject
8. Xin chúc mừng!
Trong lớp học lập trình này, bạn đã tìm hiểu cách quản lý các phiên bản Compute Engine và bộ chứa Cloud Storage qua PowerShell. Nhưng còn nhiều điều khác nữa! Bạn cũng có thể quản lý các tài nguyên Cloud SQL và Cloud CDN bằng PowerShell. Hãy xem danh sách các bước tiếp theo ở bên dưới để tìm hiểu thêm.
Nội dung đã đề cập
- Cách cài đặt Công cụ đám mây cho PowerShell.
- Cách xác thực bằng Google Cloud SDK.
- Cách tạo và quản lý Google Compute Engine qua PowerShell.
- Cách sao lưu dữ liệu qua PowerShell vào Google Cloud Storage.
Các bước tiếp theo
- Tìm hiểu thêm về Cloud Tools cho PowerShell.
- Tìm hiểu thêm về Windows trên Google Cloud Platform.
- Tìm hiểu thêm về .NET trên Google Cloud Platform.
- Tìm hiểu thêm về SQL Server trên Google Cloud Platform.
- Tìm hiểu thêm về Cloud Tools cho Visual Studio.