{"id":19839385,"url":"https://github.com/redislabs/redis-enterprise-azure","last_synced_at":"2025-05-01T19:30:19.604Z","repository":{"id":141980724,"uuid":"68419694","full_name":"RedisLabs/redis-enterprise-azure","owner":"RedisLabs","description":"Automated Redis Enterprise Pack (a.k.a RP or a.k.a RLEC) test env deployment to Azure","archived":false,"fork":false,"pushed_at":"2018-03-03T21:37:31.000Z","size":282,"stargazers_count":4,"open_issues_count":1,"forks_count":5,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-06T17:03:31.719Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RedisLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-16T22:52:36.000Z","updated_at":"2019-09-05T16:57:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa50d733-83ed-41e2-967b-b429b222b758","html_url":"https://github.com/RedisLabs/redis-enterprise-azure","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisLabs%2Fredis-enterprise-azure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisLabs%2Fredis-enterprise-azure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisLabs%2Fredis-enterprise-azure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisLabs%2Fredis-enterprise-azure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RedisLabs","download_url":"https://codeload.github.com/RedisLabs/redis-enterprise-azure/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251932514,"owners_count":21667157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T12:22:09.413Z","updated_at":"2025-05-01T19:30:19.597Z","avatar_url":"https://github.com/RedisLabs.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automated Deployment of Redis Enterprise Software on Azure \n__*Note:If you are looking for a managed Redis service on Azure visit [Redis Enterprise Cloud](https://redislabs.com/redis-enterprise/cloud/) by Redis Labs - Home of Redis*__\n\nSimple automated setup for a Redis Enterprise Software deployment on Azure. Ideal for build up and teardown of test environments or development environments. Works with [Redis Enterprise Software](https://redislabs.com/redis-enterprise/software/downloads/) v4.4 or later and ```azure-cli 2.0```\n\n## What is Redis Enterprise?\n[__Redis Enterprise Software__](https://redislabs.com/redis-enterprise/software/) is enterprise grade, distributed, in-memory NoSQL database server, fully compatible with open source Redis by Redis Labs. Redis Enterprise Software extends open source Redis and delivers stable high performance, zero-downtime linear scaling and high availability, with significant operational savings.\n\n**_Note: Open source Redis applications transparently work against Redis Enterprise Software. Simply change your connections to point at Redis Enterprise Software database endpoint._**\n\nRedis Enterprise Software can be deployed to use both RAM and Flash drives such as SSDs for data processing. See [Redis on Flash](https://redislabs.com/redis-enterprise-documentation/concepts-architecture/memory-architecture/redis-flash/)) for details. Redis Enterprise Pack can also support active-active geo-distributed applications with [Redis CRDTs](https://redislabs.com/redis-enterprise-documentation/concepts-architecture/intercluster-replication/)\n\n\n![RP Architecture](https://raw.githubusercontent.com/RedisLabs/redis-enterprise-azure/master/images/redis_arch.jpeg)\n\n### Getting Started\n1. Clone git repo and Create your private settings file for the automated cluster setup. \n\n```bash\ngit clone https://github.com/redislabs/redis-enterprise-azure\n```\n\n```bash\ncd redis-enterprise-azure/OSx_Scripts\ncp setting.sh my_private_settings.sh\n```\n\n2. Update your settings in ````my_private_settings.sh````\n\n    a. Provide Azure subscription and account details under ````azure_account```` and ````azure_subscription_id````\n\n    b. Provide username and password for JUMPBOX VM ````jumpbox_admin_account_name```` and ````jumpbox_admin_account_password````\n\n    c. Provide username and password for CLUSTER NODES ````rp_vm_admin_account_name```` and certificates for SSH ````vm_auth_cert_public```` + ````vm_auth_cert_private````\n\n    d. Provide username and password for CLUSTER ADMIN ````rp_admin_account_name```` and ````rp_admin_account_password````\n\n\n3. Run ````create_azure_cluster.sh```` to launch your Redis Enterprise Pack cluster on Azure\n4. Connect to ````https://private-ip-address:8443```` for Redis Enterprise Pack UI. [Create a redis database](https://redislabs.com/redis-enterprise-documentation/database-configuration/creating-a-new-database/) and [Connect to your Redis database](https://redislabs.com/redis-enterprise-documentation/database-configuration/creating-a-new-database/#simple-connectivity-test) using Redis Enterprise GUI.\n\n\nFor teardown use ````delete_azure_cluster.sh```` to destroy the cluster.\n\n# Details\n\n## OSx Scripts: \nOSx script for setting up a multi node Redis Enterprise Pack cluster on Azure VMs.\n\n### Prerequisites\ninstall_prereqs.sh: Install required dependencies like node and azure-cli. Run this before your first run.\n\n### Create Azure Cluster (create_azure_cluster.sh)\nMain script to create the VMs, download and install Redis Enterprise Pack and set up the cluster with a final rebalance. Will require you to login to your Azure account. \nSettings will also, by default, allow a Windows Server jumpbox to be configured in the same vnet (see the vnet_name. setting above for details on vnets). The jumpbox ensures you don't expose your Redis Enterprise Pack directly to the internet. You can disable the jumpbox if you are using an existing vnet where you already have a browser to administer Redis Enterprise Pack, Or if you are simply looking to administer through the Redis Enterprise Pack commandline interface. \n\n### Delete Azure Cluster (delete_azure_cluster.sh)\nused to clean up the jumpbox, cluster and vms. Will require you to login to your Azure account. cleanup looks for the vm_name_prefix set in the settings file to match and delete VMs. To ensure it does not do accidental deletes, enable_fast_delete is off by default. You can enable_fast_delete, however make sure your prefix is unique and does not match your existing VMs in your subscription. \n\n### Start, Shutdown and Restart Azure Cluster (start_azure_cluster.sh, shutdown_azure_cluster.sh, restart_azure_cluster.sh)\nused to manipulate the cluter vms for simplifying a cluster restart, shutdown or start. Will require you to login to your Azure account. \nScripts looks for the vm_name_prefix set in the settings file to match and delete VMs. To ensure it does not do accidental shutdown or restarts, \nenable_fast_restart, enable_fast_start, enable_fast_shutdown, is off by default. You can the settings, however make sure your prefix is unique \nand does not match your existing VMs in your subscription. \n\n\n## Details\n**Redis Enterprise Pack Settings:**\n````\n    rp_total_nodes: set the number of nodes in the cluster.\n    \n    rp_download: link to the download URL for ubuntu 14.04 version Redis Enterprise Pack. \n    \n    rp_binary: name of the binary for Redis Enterprise Pack. used to help rename the downloaded \n    binary. \n    \n    rp_license_file: reference to the local rp license file in the form a of a local path \"~/path_to_rp_license_file.txt\"\n\n    rp_admin_account_name: database administration account for Redis Enterprise Pack cluster. \n    TODO: change this value before use. \n    \n    rp_admin_account_password: database administration password for Redis Enterprise Pack \n    cluster. TODO: change this value before use.  \n````\n\n**Azure Config Settings:**\n````\n    azure_account: your fully qualified azure account. account you use to login to portal. best \n    practice is to use a delegate admin account to protect against account compromise. \n    TODO: change this value before use.\n    \n    azure_subscription_id: azure subscription id for the azure account. if you don't know your \n    subscription id, use \"azure login -u account\" +  \"azure account show\" to get  account and \n    subscriptionid. TODO: change this value before use.\n    \n    auth_cert_public: auth public key used for provisioning the Redis Enterprise Pack nodes on \n    ubuntu. TODO: change this value before use. use ssh-keygen to generate the keys - public \n    and private keys. \n    \n    auth_cert_private: auth private key used for logging in with ssh without passwords.  \n    \n    region: azure region for the setup. default is \"us-west\". TODO: change this value before \n    use. use ssh-keygen to generate the keys - public and private keys. \n    \n    vm_name_prefix: prefix to the vm names created by the script. it is important to pick a \n    unique prefix name that does not match any of the other VM names in your subscription. \n    delete_azure_cluster script deletes nodes matching this prefix. \n    \n    vnet_name: virtual network name for the Redis Enterprise Pack subnet. vnet setup is done for \n    network communication efficiency with the Redis Enterprise Pack cluster. virtual network (vnets) \n    enable private 10.0.*.* IPs in a single subnet for all VMs including the jumpbox.\n    \n    service_name: service name ensure ssh and jumpbox RDP addresses can be under a single cloud \n    service name with different port names. jumpbox gets 3389 rdp port and all Redis Enterprise Pack \n    nodes gets port 1..N for ssh. for example:\n        RDP into the jumpbox: service_name.cloudapp.net:3398\n        SSH into the first node: ssh -p 1 cb_vmadmin@service_name.cloudapp.net\n````\n\n**Azure Jumpbox VM Config Settings:**\n````\n    disable jumpbox: 1 to diable jumpbox. jumpbox is provisioned for security reasons. Without \n    a node within the same vnet, you end up exposing your database directly to the internet, \n    opening Web Console (8443) and other Redis Enterprise Pack ports to the public internet. \n    \n    jumpbox_image_name: image to use for the jumpbox. using windows server by default\n    \n    jumpbox_vm_sku: vm sku to use on azure for jumpbox vm \n    \n    jumpbox_vm_admin_account_name: account name for jumpbox vm admin.\n    \n    jumpbox_vm_admin_account_password: account password for jumpbox vm admin.\n````\n\n**Azure Redis Enterprise Pack Nodes VM Config Settings:**\n````\n    rp_vm_image_name: ubuntu OS image to use on azure for Redis Enterprise Pack cluster nodes.\n    \n    rp_vm_sku: vm sku to use on azure for Redis Enterprise Pack cluster node vms.\n    \n    rp_vm_admin_account_name: account name for Redis Enterprise Pack node vm admin. certs \n    are used for password-less logins.\n````\n**Misc Config**\n````\n    remove_known_hosts: this will enable removing the .ssh/known_hosts file under MacOS. The \n    file gets in the way of reprovisioning the same node names for the cluster.\n    \n    enable_fast_delete: enable fast delete will supress confirmation on deletes of each VM. do \n    this only if you are certain delete will not harm your existing VMs and you have tried the \n    script multiple times.\n````\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredislabs%2Fredis-enterprise-azure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredislabs%2Fredis-enterprise-azure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredislabs%2Fredis-enterprise-azure/lists"}