rifaterdemsahin / awscodedeploy

Aws code deploy creating a Redis using Ansible
1 stars 1 forks source link

AWS_CodeDeploy


Please make sure that you add the following files to your project for this to work
     appspec.yml
     the entire scripts folder
Tutorial

  1. Create IAM Roles
    CodeDeploy & EC2CodeDeploy
  2. Create EC2 instance with following categories

         a. Choose AMI: Amazon Linux AMI

         b. Choose Instance type: t2.micro

         c. Configure Instance: Choose EC2CodeDeploy IAM role

         d. Tag Instance: Name it what you please

         e. Configure Security Group:

             HTTP TCP 80 0.0.0.0/0

             HTTP TCP 80 ::/0

             SSH TCP 22 (YOUR IP ADDRESS)

             HTTPS TCP 443 0.0.0.0/0

             HTTPS TCP 443 ::/0

         f. LAUNCH INSTANCE

  3. Login to EC2 instance

  4. Command line of Amazon Linux AMI

         a. When server is booted

              sudo su

              yum -y update

              yum install -y aws-cli

              cd /home/ec2-user

         b. Here you will setup your AWS access, secret, and region.

              aws configure

              aws s3 cp s3://aws-codedeploy-us-east-1/latest/install . --region us-east-1 (if in east AWS)

              aws s3 cp s3://aws-codedeploy-us-west-2/latest/install . --region us-west-2 (if in west AWS)

              chmod +x ./install

         c. This is simply a quick hack to get the agent running faster.

              sed -i "s/sleep(.*)/sleep(10)/" install

              ./install auto

         d. Verify it is running.

              service codedeploy-agent status

    ec2-ansible-redis



    This playbook addresses the topic of starting redis cluster in AWS.

Prereq would be

ansible installed locally
boto python module.
aws credentials set (~/.aws/credentials) E.g. credentials: [default] aws_access_key_id = (your key id) aws_secret_access_key = (your access key)

To run it for your case, please check the group_vars/all.yml file and fill the variables accordingly. Exaplanations:

stack_region - where your instances will be created
type_of_instance - type for your instances
key_pem_name - name of the key that will used/created
aws_image - image/ami for your instances
aws_user - user that will be used to connect to the aws instances
security_group - the security group name that will be used/created
number_of_servers - number of redis slaves + redis master
port_redis - port used for redis communication

To run the playbook run the command: ansible-playbook redis.yml To see the demo you can use the https://drive.google.com/open?id=1piwMlYPGnE97-GEcBWuZWoJR1stHb_7b link.