~~NOTOC~~ This is the **quickstart** to start your own running virtual maschine in the de.NBI cloud. To start this guide you should have an individual account and be a member of an existing project. If you do not have an account, please visit [[https://www.uni-giessen.de/fbz/fb08/Inst/bioinformatik/bcf/Cloud/CloudAccess|this page]] and follow the instructions. Throughout this guide, we will achive following goals: - [[cloud:quickstart#first_login|First Login]] - [[cloud:quickstart#openstack_dashboard_overview|Openstack Dashboard Overview]] - [[cloud:quickstart#ssh_setup|SSH Setup]] - [[cloud:quickstart#creating_a_router_and_a_network|Creating a Router and a Network]] - [[cloud:quickstart#launching_an_instance|Launching our Instance]] - [[cloud:quickstart#getting_access_to_the_instance|Getting Access to our Instance]] ---- ====== First Login ====== First of all, visit [[https://cloud.computational.bio.uni-giessen.de/]]. You should see the following login page: ---- {{ :cloud:login.png?nolink&300 |}} ---- Enter "de.NBI" in the [[cloud:concepts#domain|Domain]] field (without quotes), your user credentials in the corresponding areas and click on the **Connect** button. You should be redirected to the [[cloud:quickstart#openstack_dashboard_overview|Openstack Dashboard]]. If you have any problems or need help logging in, please do not hesitate to contact the de.NBI JLU cloud administration (). If you are an internal user of the bcf, please visit our [[cloud:access|]] page. ====== OpenStack Dashboard Overview ====== If the login was successful, you should see the overview page of the OpenStack dashboard: ---- {{ :cloud:dashboard.png?nolink |}} ---- At the top left you should see your current [[cloud:concepts#project|project ]] in the **de.NBI** [[cloud:concepts#domain|Domain]] (green box). If you have more than one project, you can switch into another one here (click on the arrow down button). At the top right you see your [[cloud:concepts#user|user]]name (pink box). When you click on that arrow, you get a dropdown menu. Here, you can get to your user specific settings (changing dashboard settings and appearance and your password), get to the official user documentation by OpenStack, change your theme or log out. On the left is the **control menu** (blue box) to navigate you through your project. The current page is highlighted in blue (In our case Project -> Compute -> Overview). This information can also be found in the yellow box. This could help you navigate to the right page, in the case you have trouble to find the current page we are operating on. The overview page summarizes the resource allocation within the current project (center of the page): * Launched [[cloud:concepts#instance|instances]] * Used VCPUs * Used RAM * Allocated [[cloud:quickstart#floating_ip | floating IPs ]] * Used [[cloud:quickstart#security_groups | security groups ]] * Number of [[cloud:volumes | Volumes ]] and Volume Storage ====== SSH Setup ====== Next, we have to setup SSH to login to our instances after they are launched. Go to {{:cloud:nav_project_compute_access_and_security.png?nolink|}} and click on **Key Pairs** (green box). You should see this page: ---- {{ :cloud:access_and_security_0_keys.png?nolink |}} ---- If you do not have an SSH key or you are not sure whether you have one, please visit [[https://confluence.atlassian.com/bitbucketserver/creating-ssh-keys-776639788.html| this nice instruction from Atlassian]]. Now, you can click on **Import Key Pair** (right button in the yellow box) and import your SSH key. Afterwards, your key should be listed on {{:cloud:nav_project_compute_access_and_security.png?nolink|}}. In chapter [[cloud:quickstart#getting_access_to_the_instance| Getting Access to the Instance]] we will use this key. ====== Creating a Router and a Network ====== We want to create a network to get access to our in the near future launched instances. First, we get to the Network Topology page: {{:cloud:nav_project_network_network_topology.png?nolink|}}. When you click on **Graph** (red box), you should see this page: ---- {{ :cloud:network_topology_0.png?nolink |}} ---- Here you can see the external network (blue elipse). What do we need to access our instances: * Router * Network * Subnet ===== Router ===== Click on the **Create Router** button (green box). A form should appear: ---- {{ :cloud:router.png?nolink |}} ---- Fill in the **Router Name** and select the **external_network** for the **External Network**. Click on the blue button **Create Router**. Your network topology should looks like this: ---- {{ :cloud:external_with_router.png?nolink |}} ---- ===== Network and Subnet ===== Now, we need a network. Click on **Create Network** (yellow box). A three-part form should appear (**Network**, **Subnet**, **Subnet Details**): ---- {{ :cloud:network1.png?nolink |}} ---- In the first part fill in the **Network Name** and then click on the blue **Next** button. ---- {{ :cloud:network2.png?nolink |}} ---- Here, you have to specify your **Subnet Name** and your **Network Adress** (e.g. **192.168.0.0/24**). After this, click on the blue **Next** button again. On the third page you can specify additional attributes for the subnet. For more information hover over the questionmarks. In this guide we skip this step and click on the blue **Create** button. Now your topology should include your network: ---- {{ :cloud:network.png?nolink |}} ---- We want to connect our **Router** with our new **Network**. Click on your Router {{:cloud:symbol.png?nolink|}}. A tooltip should pop up. Click on **Add Interface**. A form will appear: ---- {{ :cloud:router_add_interface.png?nolink |}} ---- Select your **Subnet** and click on the blue **Submit** button. Your topology graph should look like this: ---- {{ :cloud:all_connected.png?nolink |}} ---- **For further reading visit our [[cloud:network|Networking]] page** ====== Launching an Instance ====== Finally, we can launch our instances. We are still on {{:cloud:nav_project_network_network_topology.png?nolink|}}. Click on the **Launch Instance** button (pink box on the picture in the last chapter). A new **Launch Instance** form will appear: ---- {{ :cloud:launch_instance_1_new.png?nolink |}} ---- OpenStack fills some information with defaults. Thus, we have to fill the fields on the pages marked with a blue star (blue box). On the first page we have to specify an **Instance Name**. After this, click on the **Next** button or on **Source* **. The blue star next to **Details** should disappear: ---- {{ :cloud:launch_source.png?nolink |}} ---- - Select **Image** as **Boot Source** (red box). - Select **No** for **Create New Volume** (yellow box) - Select an image as source to create the instance (e.g. **Ubuntu 16.04 Xenial 2017/05/19** (green box)) After this, click on the **Next** Button or **Flavor* **. ---- {{ :cloud:3.png?nolink |}} ---- A flavor defines a virtual machine setup by defining parameters like hard disk size, available memory or CPU core number. Click on the **+** Button next to de.NBI.default flavor (red box). Now the star next to **Flavor** should disappear. You can click on the blue **Launch Instance** button to launch your instance. Your **Network Topology Graph** should look like this: ---- {{ :cloud:all.png?nolink |}} ---- Great!!!8-) ====== Getting Access to the Instance ====== On the Project -> Compute -> Overview page, we can see that we have allocated some resources: ---- {{ :cloud:dashboard2.png?nolink |}} ---- On Project -> Compute -> Instances we can see our instance and that it is running: ---- {{ :cloud:instanceoverview.png?nolink |}} ---- ===== Floating IP ===== In order to connect to your virtual machine (= instance), it must be related to a public network address. A private, fixed IP address, used "for communication between instances", will be assigned automatically to the instance. An IP adress "for communication with networks outside the cloud, including the internet" have to associated manually. Within the "Instances" tab, determine the machine for which a floating IP should allocated. To get access to our instance, we need to associate a **Floating IP** to it. Click on the arrow next to **Create Snapshot**. A dropdown menu appears: {{ :cloud:actions.png?nolink |}} Click on **Associate Floating IP**:{{ :cloud:floatingip1.png?nolink |}} Click on the **+** next to **No floating IP addesses allocated** in the **IP Address** field: ---- {{ :cloud:floatingip2xcf.png?nolink |}} ---- Select the **external_network** in the pool field (red box) and click on the blue **Associate IP** Button: ---- {{ :cloud:floatingip3.png?nolink |}} ---- Click on **Associate** to associate your new floating ip to your instance. Now, your instance should have two ip adresses: ---- {{ :cloud:instanceoverview2.png?nolink |}} ---- ===== Security Groups ===== First of all, you should read our [[cloud:security|Security aspects in clouds]] page! You are responsible for a secure setup of your VMs. To allow external access to your instance via SSH, you have to change the security group and allow SSH! Go to Project -> Compute -> Access & Security {{:cloud:nav_project_compute_access_and_security.png?nolink|}} ---- {{ :cloud:secgroupsoverview.png?nolink |}} ---- Click on the **Security Groups** Tab (red box). You should see one security group with the name **default**. Click on **Manage Rules** next to the **default** security group (green box). ---- {{ :cloud:rules.png?nolink |}} ---- Click on **Add Rule** (yellow box) ---- {{ :cloud:addrule.png?nolink |}} ---- In the **Rule** field, select **SSH** (maybe you have to scroll a little bit down)(pink box). Click on the blue **Add** button. ===== Login ===== Now you can login (in our case as the ubuntu user): ''ssh -i ~/.ssh/my_cloud_key_name.pem ubuntu@'' Great! You have started your first instance in the de.NBI cloud 8-)