Skip to content
Snippets Groups Projects
Forked from project / cloud
3111 commits behind the upstream repository.
baldwinlouie's avatar
Issue #3031735 by baldwinlouie, yas, Xiaohua Guan: Add more cloud server...
baldwinlouie authored
Issue #3031735 by baldwinlouie, yas, Xiaohua Guan: Add more cloud server template entity permissions
39ad8e04
History

Introduction

Cloud is a set of modules to realize Cloud management: Drupal-based Cloud dashboard such as Amazon Management Console, RightScale, ElasticFox, and etc. The module aims to support not only public Cloud like AWS EC2 but also private Cloud like OpenStack since the system is highly modularized by Drupal architecture.

Requirements

  • PHP 7.0 or Higher (128 MB Memory or higher)

  • MySQL 5.5 or higher OR

  • MariaDB 5.5 or higher

  • Drupal 8.6.3 or higher

  • Cloud 8.x-1.x

    • This branch is still under development. Any volunteer effort is greatly appreciated.
    • Currently, aws_cloud is the only Cloud implementation that is working.
    • Future support includes GCP, Azure, OpenStack and Kubernetes.

Limitations

Installation (For usage with Amazon EC2)

  1. Download aws-sdk from: https://docs.aws.amazon.com/aws-sdk-php/v3/download/aws.zip and unzip it into the vendor directory.
  2. Download cloud module.
  3. Enable the aws_cloud module. This will also enable the required modules.

OR (using composer)

  • composer require drupal/cloud

Configuration

Basic Setup

  1. Create a new Cloud Config based on your needs. Go to Structure > Cloud config list and + Add Cloud config
  2. Enter all required configuration parameters. You must add each AWS region (e.g. us-east-1, us-west-2, and etc.) as a separate Cloud Config entity
  3. Run cron to update your specific Cloud region.
  4. Use the links under Cloud Service Providers > [CLOUD CONFIG] to manage your AWS EC2 entities.
  5. Import Images using the tab: Cloud Service Providers > [CLOUD CONFIG] | Images
    • Click on + Import AWS Cloud Image
    • Search for images by AMI name. For example, to import Anaconda images based on Ubuntu, type in anaconda*ubuntu*. Use the AWS Console on aws.amazon.com to search for images to import
  6. Import or Add a Keypair. The keypair is used to log into any system you launch. Use the links under the tab: Cloud Service Providers > [CLOUD CONFIG] | Key Pair
    • Use the + Import AWS Cloud Key Pair button to import an existing key pair. You will be uploading your public key.
    • Use + Add AWS Cloud Key Pair to have AWS generate a new private key. You will be prompted to download the key after it is created.
  7. Setup Security groups, Network Interfaces as needed from AWS Management Console.

Launching Instance

  1. Create a server template under Design > Cloud Server Template > [CLOUD CONFIG]
  2. Once template is created, click the Launch tab to launch it.

Permissions

Configure permissions per your requirements

Directory Structure

cloud (Cloud is a core module for Cloud package)
  +-modules (depends on Cloud module)
    +-cloud_server_templates
    +-modules
     - cloud_service_providers
      - aws_cloud

Maintainers