38,760
edits
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
Line 317: | Line 317: | ||
* For questions about the Compute Canada cloud service send an e-mail to [mailto:cloud@computecanada.ca cloud@computecanada.ca] | * For questions about the Compute Canada cloud service send an e-mail to [mailto:cloud@computecanada.ca cloud@computecanada.ca] | ||
</tab> | </tab> | ||
< | </tabs> | ||
<tab name="Windows License Pilot"> | <tab name="Windows License Pilot"> | ||
<!--T:90--> | |||
Compute Canada is currently running a Windows pilot program where a limited number of licensed Windows VMs are provided for users by Compute Canada for a limited period of time. The trial period is approximately until the end of summer 2020. | Compute Canada is currently running a Windows pilot program where a limited number of licensed Windows VMs are provided for users by Compute Canada for a limited period of time. The trial period is approximately until the end of summer 2020. | ||
<!--T:91--> | |||
Before you begin participating in this pilot you should know the following conditions: | Before you begin participating in this pilot you should know the following conditions: | ||
* This is a pilot program. While we expect access to continue and service to be fairly smooth it may turn out that neither is true. | * This is a pilot program. While we expect access to continue and service to be fairly smooth it may turn out that neither is true. | ||
Line 331: | Line 334: | ||
* Participants are required to respond to questions about how they are using the system, such as the software installed, their satisfaction with the system, and suggestions they may have for the future. | * Participants are required to respond to questions about how they are using the system, such as the software installed, their satisfaction with the system, and suggestions they may have for the future. | ||
=Request access to the Windows pilot= | =Request access to the Windows pilot= <!--T:92--> | ||
To request access to the Windows pilot send an email to [mailto:cloud@computecanada.ca cloud@computecanada.ca] acknowledging that you understand and agree to the conditions of the pilot (see above). You will be provided access to a Windows 2019 Dataceter image, a windows flavor to ensure the Windows VM is created on a licensed node, and a username to use when connecting. | To request access to the Windows pilot send an email to [mailto:cloud@computecanada.ca cloud@computecanada.ca] acknowledging that you understand and agree to the conditions of the pilot (see above). You will be provided access to a Windows 2019 Dataceter image, a windows flavor to ensure the Windows VM is created on a licensed node, and a username to use when connecting. | ||
=SSH key pair= | =SSH key pair= <!--T:93--> | ||
[[File:Create-Key-Pair-Form.png|400px|thumb| Create key pair (Click for larger image)]] | [[File:Create-Key-Pair-Form.png|400px|thumb| Create key pair (Click for larger image)]] | ||
Windows VMs encrypt the administrative account password with a public key. The matching private key decrypts the password. | Windows VMs encrypt the administrative account password with a public key. The matching private key decrypts the password. | ||
<!--T:94--> | |||
We recommend creating a new key pair within the OpenStack dashboard rather than importing an existing key pair. To create a new key pairː | We recommend creating a new key pair within the OpenStack dashboard rather than importing an existing key pair. To create a new key pairː | ||
#Click on ''Access & Security'' from the left menu. | #Click on ''Access & Security'' from the left menu. | ||
Line 346: | Line 350: | ||
#Save the <key name>.pem file on your local drive. | #Save the <key name>.pem file on your local drive. | ||
<!--T:95--> | |||
If you would like to use an existing key pair with your Windows VM see the [[Creating a Windows VM#Comments on key pairs|comments on key pairs]] below. | If you would like to use an existing key pair with your Windows VM see the [[Creating a Windows VM#Comments on key pairs|comments on key pairs]] below. | ||
=Launching a VM= | =Launching a VM= <!--T:96--> | ||
[[File:Windows-launch-instance.png|400px|thumb| Launch Instance (Click for larger image)]] | [[File:Windows-launch-instance.png|400px|thumb| Launch Instance (Click for larger image)]] | ||
To create a virtual machine, click on the ''Instances'' menu item on the left, then click on [[File:Launch-Instance-Button.png]] | To create a virtual machine, click on the ''Instances'' menu item on the left, then click on [[File:Launch-Instance-Button.png]] | ||
<!--T:97--> | |||
A form is displayed where you define your virtual machine. | A form is displayed where you define your virtual machine. | ||
<!--T:98--> | |||
* ''Details'' tab | * ''Details'' tab | ||
** ''Availability Zone'': There is only one zone; do not change its name. | ** ''Availability Zone'': There is only one zone; do not change its name. | ||
Line 371: | Line 378: | ||
* ''Advanced Options'' tab: Leave ''Disk Partition'' on ''Automatic'' for now. | * ''Advanced Options'' tab: Leave ''Disk Partition'' on ''Automatic'' for now. | ||
<!--T:99--> | |||
Once you have reviewed all the tabs and defined your virtual machine, click on the Launch button and your virtual machine will be created. The Instances list will be displayed and the Task field will show the current task for the VM; it will likely be "Block Device Mapping" initially. Once the VM has spawned and beginning to boot, it will have the Power State of "Running". It will likely take 10+ minutes to finish creating the volume and coping the image to it before beginning to boot. | Once you have reviewed all the tabs and defined your virtual machine, click on the Launch button and your virtual machine will be created. The Instances list will be displayed and the Task field will show the current task for the VM; it will likely be "Block Device Mapping" initially. Once the VM has spawned and beginning to boot, it will have the Power State of "Running". It will likely take 10+ minutes to finish creating the volume and coping the image to it before beginning to boot. | ||
=Network= | =Network= <!--T:100--> | ||
[[File:Manage-Floating-IP-Associations-Form.png|400px|thumb| Manage Floating IP (Click for larger image)]] | [[File:Manage-Floating-IP-Associations-Form.png|400px|thumb| Manage Floating IP (Click for larger image)]] | ||
[[File:Add-Rule-Form-RDP.png|400px|thumb| Add RDP Rule (Click for larger image)]] | [[File:Add-Rule-Form-RDP.png|400px|thumb| Add RDP Rule (Click for larger image)]] | ||
On the ''Instances'' page is a list VMs with their IP address(es) displayed in the ''IP Address'' column. Each VM will have at least one private IP address, but some may also have a second public IP assigned to it. | On the ''Instances'' page is a list VMs with their IP address(es) displayed in the ''IP Address'' column. Each VM will have at least one private IP address, but some may also have a second public IP assigned to it. | ||
===Private IP=== | ===Private IP=== <!--T:101--> | ||
When your OpenStack project is created a local network is also created for you. This local network is used to connect VMs within that project allowing them to communicate with each other and the outside world. Their private IP address does not allow the outside world to reference that VM. Any VM created in your project will have a private IP address assigned to it from this network of the form <code>192.168.X.Y</code>. | When your OpenStack project is created a local network is also created for you. This local network is used to connect VMs within that project allowing them to communicate with each other and the outside world. Their private IP address does not allow the outside world to reference that VM. Any VM created in your project will have a private IP address assigned to it from this network of the form <code>192.168.X.Y</code>. | ||
===Public IP=== | ===Public IP=== <!--T:102--> | ||
Public IPs allow outside services and tools to initiate contact with your VM, such as allowing you to connecting to it to perform administrative tasks or serve up web content. Public IPs can also be pointed to by domain names. | Public IPs allow outside services and tools to initiate contact with your VM, such as allowing you to connecting to it to perform administrative tasks or serve up web content. Public IPs can also be pointed to by domain names. | ||
<!--T:103--> | |||
To assign a public IP to a VM, you need to select ''Associate Floating IP'' from the drop-down menu button (indicated by ▼) of the ''Actions'' column in the ''Instances'' list. If this is your first time associating a floating IP, your project hasn't been assigned an external IP address yet. You need to click on the “+” sign to bring up the ''Allocate Floating IP'' dialog box. There is only one pool of public addresses, so the correct pool will already be selected; click on the ''Allocate IP'' button. | To assign a public IP to a VM, you need to select ''Associate Floating IP'' from the drop-down menu button (indicated by ▼) of the ''Actions'' column in the ''Instances'' list. If this is your first time associating a floating IP, your project hasn't been assigned an external IP address yet. You need to click on the “+” sign to bring up the ''Allocate Floating IP'' dialog box. There is only one pool of public addresses, so the correct pool will already be selected; click on the ''Allocate IP'' button. | ||
The ''Manage Floating IP Associations'' screen is displayed again, indicating the IP address and the port (or VM) to which it will be associated (or more specifically [https://en.wikipedia.org/wiki/Network_address_translation NATted]); click on the ''Associate'' button. | The ''Manage Floating IP Associations'' screen is displayed again, indicating the IP address and the port (or VM) to which it will be associated (or more specifically [https://en.wikipedia.org/wiki/Network_address_translation NATted]); click on the ''Associate'' button. | ||
===Firewall, add rules to allow RDP=== | ===Firewall, add rules to allow RDP=== <!--T:104--> | ||
To connect to your virtual machine using a remote desktop connection client, you will need to allow access for remote desktop protocol (RDP) to your VM. | To connect to your virtual machine using a remote desktop connection client, you will need to allow access for remote desktop protocol (RDP) to your VM. | ||
<!--T:105--> | |||
#On the ''Security Groups'' tab, select ''Access & Security''; on the default row, click [[File:Manage-Rules-Button.png]] | #On the ''Security Groups'' tab, select ''Access & Security''; on the default row, click [[File:Manage-Rules-Button.png]] | ||
#On the next screen, click [[File:Add-Rule-Button.png]] | #On the next screen, click [[File:Add-Rule-Button.png]] | ||
Line 396: | Line 406: | ||
#Finally, click the ''Add'' button. | #Finally, click the ''Add'' button. | ||
=Remote desktop connection= | =Remote desktop connection= <!--T:106--> | ||
[[File:Retrieve-instance-password.png|400px|thumb| Retrieving Windows instance password (Click for larger image)]] | [[File:Retrieve-instance-password.png|400px|thumb| Retrieving Windows instance password (Click for larger image)]] | ||
[[File:Remote-Desktop-Connection-windows.png|400px|thumb| Remote desktop client in Windows (Click for larger image)]] | [[File:Remote-Desktop-Connection-windows.png|400px|thumb| Remote desktop client in Windows (Click for larger image)]] | ||
[[File:Remmina-Ubuntu.png|400px|thumb| Remmina remote desktop client in Ubuntu (Click for larger image)]] | [[File:Remmina-Ubuntu.png|400px|thumb| Remmina remote desktop client in Ubuntu (Click for larger image)]] | ||
<!--T:107--> | |||
To connect to a Windows VM we will use a Remote Desktop Connection client. To connect to your Windows VM you need to supply a floating IP, user name, and password. | To connect to a Windows VM we will use a Remote Desktop Connection client. To connect to your Windows VM you need to supply a floating IP, user name, and password. | ||
===Retrieving the password=== | ===Retrieving the password=== <!--T:108--> | ||
Open the ''Retrieve Instance Password'' form: | Open the ''Retrieve Instance Password'' form: | ||
# Go to ''Instances'' on the left menu. | # Go to ''Instances'' on the left menu. | ||
# In the drop down menu next the instance select ''Retrieve Password''. | # In the drop down menu next the instance select ''Retrieve Password''. | ||
<!--T:109--> | |||
The password has been encrypted using the public key you selected when creating the VM. To decrypt the password: | The password has been encrypted using the public key you selected when creating the VM. To decrypt the password: | ||
# Click the ''Choose File'' button and browse to your private key file. <p>If you followed the steps above in the ssh key section, you should have a private key saved on your local computer with a ".pem" extension which matches the public key.</p> | # Click the ''Choose File'' button and browse to your private key file. <p>If you followed the steps above in the ssh key section, you should have a private key saved on your local computer with a ".pem" extension which matches the public key.</p> | ||
Line 413: | Line 425: | ||
# Click the ''Decrypt Password'' button at the bottom left. | # Click the ''Decrypt Password'' button at the bottom left. | ||
<!--T:110--> | |||
Keep this form open as we will use the password in the next step. This process can be repeated later to retrieve the password again. | Keep this form open as we will use the password in the next step. This process can be repeated later to retrieve the password again. | ||
===From a Windows client=== | ===From a Windows client=== <!--T:111--> | ||
Many Windows systems come with the remote desktop connection tool pre-installed. Try searching for "remote desktop connection" in your Windows system search. If you can not find it, you can go to [https://www.microsoft.com/en-ca/store/p/microsoft-remote-desktop/9wzdncrfj3ps the Microsoft store] and install it. It should be a free installation. | Many Windows systems come with the remote desktop connection tool pre-installed. Try searching for "remote desktop connection" in your Windows system search. If you can not find it, you can go to [https://www.microsoft.com/en-ca/store/p/microsoft-remote-desktop/9wzdncrfj3ps the Microsoft store] and install it. It should be a free installation. | ||
<!--T:112--> | |||
Once you have run the remote desktop connection tool you should see a window similar to the one displayed on the right. To connect to your Windows VM: | Once you have run the remote desktop connection tool you should see a window similar to the one displayed on the right. To connect to your Windows VM: | ||
# Enter the public IP address next to ''Computer''. | # Enter the public IP address next to ''Computer''. | ||
Line 425: | Line 439: | ||
# Click the ''OK'' button. | # Click the ''OK'' button. | ||
<!--T:113--> | |||
You will likely be presented with an alert ''The identity of the remote computer cannot be verified. Do you want to connect anyway?''. This is normal click ''Yes'' to continue. Once you connect you should see the desktop of your Windows VM displayed within the RDC window. | You will likely be presented with an alert ''The identity of the remote computer cannot be verified. Do you want to connect anyway?''. This is normal click ''Yes'' to continue. Once you connect you should see the desktop of your Windows VM displayed within the RDC window. | ||
<!--T:114--> | |||
'''TODO:''' The specific certificate error is "The certificate is not from a trusted certifying authority". Is seeing this alert really normal? Do we want to register the Windows image certificate with a signing authority? Could we use letsencrypt or should we just ignore this issue? | '''TODO:''' The specific certificate error is "The certificate is not from a trusted certifying authority". Is seeing this alert really normal? Do we want to register the Windows image certificate with a signing authority? Could we use letsencrypt or should we just ignore this issue? | ||
===From a Linux client=== | ===From a Linux client=== <!--T:115--> | ||
To connect via RDP from Linux you will need a remote desktop client. There are number of different clients out there but the [https://github.com/FreeRDP/Remmina/wiki Remmina client] appears to work well when tested with Ubuntu. The previous link provides instructions for installing it in Ubuntu, Debian, Fedora and a few other Linux operating systems. | To connect via RDP from Linux you will need a remote desktop client. There are number of different clients out there but the [https://github.com/FreeRDP/Remmina/wiki Remmina client] appears to work well when tested with Ubuntu. The previous link provides instructions for installing it in Ubuntu, Debian, Fedora and a few other Linux operating systems. | ||
<!--T:116--> | |||
Once you have installed and launched Remmina to connect to your Windows VM: | Once you have installed and launched Remmina to connect to your Windows VM: | ||
# Click on ''Create a new remote desktop file'' (file with a green '+' sign). <p>You should see a window similar to that shown on the right.</p> | # Click on ''Create a new remote desktop file'' (file with a green '+' sign). <p>You should see a window similar to that shown on the right.</p> | ||
Line 439: | Line 456: | ||
# Click ''Connect''. | # Click ''Connect''. | ||
===From a Mac client=== | ===From a Mac client=== <!--T:117--> | ||
<!--T:118--> | |||
'''TODO:''' Anyone with a Mac want to write up this section? | '''TODO:''' Anyone with a Mac want to write up this section? | ||
===Disabling Internet Explorer's Enhanced Security Configuration=== | ===Disabling Internet Explorer's Enhanced Security Configuration=== <!--T:119--> | ||
Initially Internet Explorer's enhanced security configuration is enabled. This makes using Internet explorer very painful. It is recommended to temporarly turn off this enhanced security feature with the following steps: | Initially Internet Explorer's enhanced security configuration is enabled. This makes using Internet explorer very painful. It is recommended to temporarly turn off this enhanced security feature with the following steps: | ||
* ensure all instances of Internet explorer are closed | * ensure all instances of Internet explorer are closed | ||
Line 451: | Line 469: | ||
Then download an alternative browser, e.g. firefox and then re-enable Internet Explorer's enhanced security configuration. | Then download an alternative browser, e.g. firefox and then re-enable Internet Explorer's enhanced security configuration. | ||
=License information= | =License information= <!--T:120--> | ||
<!--T:121--> | |||
'''TODO''': need to provide information which would be helpful for users to know what path to take to get a license. Should cover things like: | '''TODO''': need to provide information which would be helpful for users to know what path to take to get a license. Should cover things like: | ||
* Where to go to get a license | * Where to go to get a license | ||
Line 459: | Line 478: | ||
* How to apply it to a new VM (if that is different than above bullet item) | * How to apply it to a new VM (if that is different than above bullet item) | ||
=Comments on key pairs= | =Comments on key pairs= <!--T:122--> | ||
There are a couple different formats for key files and you can also choose to protect your private keys with passphrases or not. In order to be able to decrypt the Windows VM password your private key must be in OpenSSH format and not have a passphrase. If you created your key pair with OpenStack and downloaded the <code>.pem</code> key file it will already be in the correct format. If you used the [[Using_SSH_keys_in_Linux|<code>ssh-keygen</code> command]] to create your key pair and didn't specify a passphrase it will also likely be in the correct format. For more general information about key pairs see the [[SSH Keys]] page. | There are a couple different formats for key files and you can also choose to protect your private keys with passphrases or not. In order to be able to decrypt the Windows VM password your private key must be in OpenSSH format and not have a passphrase. If you created your key pair with OpenStack and downloaded the <code>.pem</code> key file it will already be in the correct format. If you used the [[Using_SSH_keys_in_Linux|<code>ssh-keygen</code> command]] to create your key pair and didn't specify a passphrase it will also likely be in the correct format. For more general information about key pairs see the [[SSH Keys]] page. | ||
An example of an acceptable private key in the OpenSSH format without a passphrase: | An example of an acceptable private key in the OpenSSH format without a passphrase: | ||
<!--T:123--> | |||
-----BEGIN RSA PRIVATE KEY----- | -----BEGIN RSA PRIVATE KEY----- | ||
MIIEowIBAAKCAQEAvMP5ziiOw9b5XMZUphATDZdnbFPCT0TKZwOI9qRNBJmfeLfe | MIIEowIBAAKCAQEAvMP5ziiOw9b5XMZUphATDZdnbFPCT0TKZwOI9qRNBJmfeLfe | ||
Line 470: | Line 490: | ||
-----END RSA PRIVATE KEY----- | -----END RSA PRIVATE KEY----- | ||
<!--T:124--> | |||
The <code>...</code> in the middle indicates multiple lines of characters similar to those above and below it. | The <code>...</code> in the middle indicates multiple lines of characters similar to those above and below it. | ||
Below are two examples of private keys which will not work with OpenStack with Windows VMs | Below are two examples of private keys which will not work with OpenStack with Windows VMs | ||
<!--T:125--> | |||
OpenSSH format with a passphrase: | OpenSSH format with a passphrase: | ||
<!--T:126--> | |||
-----BEGIN RSA PRIVATE KEY----- | -----BEGIN RSA PRIVATE KEY----- | ||
Proc-Type: 4,ENCRYPTED | Proc-Type: 4,ENCRYPTED | ||
Line 484: | Line 507: | ||
-----END RSA PRIVATE KEY----- | -----END RSA PRIVATE KEY----- | ||
<!--T:127--> | |||
ssh.com format without a passphrase | ssh.com format without a passphrase | ||
<!--T:128--> | |||
---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ---- | ---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ---- | ||
Comment: "rsa-key-20171130" | Comment: "rsa-key-20171130" | ||
Line 493: | Line 518: | ||
---- END SSH2 ENCRYPTED PRIVATE KEY ---- | ---- END SSH2 ENCRYPTED PRIVATE KEY ---- | ||
=Where to go from here= | =Where to go from here= <!--T:129--> | ||
* learn about [[security considerations when running a VM]] | * learn about [[security considerations when running a VM]] | ||
* learn about [[creating a Linux VM]] | * learn about [[creating a Linux VM]] | ||
Line 503: | Line 528: | ||
--> | --> | ||
<!--T:35--> | |||
[[Category:CC-Cloud]] | [[Category:CC-Cloud]] |