ElasticBeanstalk Docker host network mode - amazon-web-services

Is there a way to launch Docker containers in a host networking mode in EB environments?

No, as far as I know.
Support for host networking mode was introduced in ECS in August 2016 (see issue https://github.com/aws/amazon-ecs-agent/issues/185), but it looks like it's still missing in EB environments (at least for MultiDocker envs). I've tried it half a year a go and now again, it's still not working (with attribute "networkMode", same configuration like in ECS).
Same question was asked in the AWS forums https://forums.aws.amazon.com/thread.jspa?messageID=741854&#741854 and the answer was also a "No".

Related

New Elastic Beanstalk instance not using .htaccess

I'm having a weird issue I've not encountered before: My new Elastic Beanstalk environment is not respecting my .htaccess files. It's odd because I don't recall this ever being a problem before. In fact I have an older EB environment that I set up years ago and it's fine with the game code.
This new environment is 64 bit Amazon Linux 2.
Looking elsewhere there are guides saying you need to edit your /etc/httpd/conf/httpd.conf file, but my EC2 instance doesn't have one. (I also don't have an /etc/apache2 directory.) The closest it has is a /etc/httpd/conf.d/php.conf file.
I don't recall ever having to do this previously, and obviously I'm a bit concerned that my EC2 instance will forget any changes to any .conf files if I have to spawn new instances are created in the future.
How do you get my EB/EC2 instance to implement my .htaccess files?
From v3.0.0 onwards, Amazon changed their Elastic Beanstalk PHP Platforms to use nginx as their server instead of Apache. This is not mentioned anywhere when you're creating your platform, so it can catch you unawares.
If you want to use Apache, you need to select a platform version of v2.x.x.
See the full history of Elastic Beanstalk PHP platforms for specific details.
An update to the other answer, you can now change the server in versions 3+ to apache by updating the proxy server in the configuration.

Mesosphere Installation in VirtualBox Ubuntu 14.04

Can somebody please help me? I configure three masters following the guide of digital ocean and I'm trying to access the Mesos and Marathon interface using my host only adapter address, but it just says the site cant be reached and refused to connect
Thanks for asking your question. First of all, the document you are referencing from Digital Ocean is from 2014 and while DC/OS can run on Ubuntu it is not a supported operating system for this product. There are also concerning suggestions in this article that I would avoid (such as only have a 2 Mesos Master quorum which it looks like you already noticed). Lastly, the company itself is called Mesosphere and the product is called DC/OS :)
With all that out of the way, since 2014 much has changed in DC/OS and the Digital Ocean document is obsolete. You no longer have to manually configure Zookeeper, cluster quorum size, Marathon, Mesos, edit host files on agents, or any of the other items this document references for a production cluster. All of that is taken care of in a YAML configuration file called config.yaml if you attempt an "advanced" install.
You should have more success with connecting to the UIs (DC/OS, Marathon, and Mesos) by attempting an installation method that is up-to-date, on a tested and supported OS, and using the latest versions of DC/OS provided by Mesosphere. This will remove the difficulties you are seeing from the obsolete documentation.
https://docs.mesosphere.com/1.11/installing/oss/
https://docs.mesosphere.com/1.11/installing/oss/custom/system-requirements/
https://docs.mesosphere.com/1.11/installing/oss/custom/configuration/configuration-parameters/
https://docs.mesosphere.com/version-policy/
Hope this helps and you see success with DC/OS!
***Edit, if you want to avoid DC/OS, use the Mesos advanced course https://open.mesosphere.com/advanced-course/

Scaling Amazon EC2 - application properties management (Spring Boot)

I use this instruction:
http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html
to deploy Spring Boot application on EC2 Ubuntu server.
I'm going to move configuration from application.properties file to environment variables using:
spring.datasource.password=${MYAPP_DATASOURCE_PASSWORD}
If I'll make many copies of this configuration, how to manage it? For example, change datasource password on all instances?
I'll have to do it manually ? It'll going to be tedious, and error prone work...
"I think you'll have to invest some time in automation. Two things that come to mind can solve your problems i.e. Ansible and Docker. Or even plain AMIs with MYAPP_DATASOURCE_PASSWORD set in environment variables"
#anand1st answer solves the problem.

Using Vagrant to manage AWS instances

For some time I am managing EC2 (Windows Boxes), RDS and S3 on AWS.
I do know manual steps that must be made in order to set up lets say a normal box (DB, Storage and Server. I heard about Vagrand, but everywhere I looked it mainly talks about Linux boxes on AWS.
My main question is: Is Vagrand a tool that will save me time for deyploment (windows), or should I not use it at all (in Windows scenario).
Vagrant plays nicely with AWS (via vagrant-aws plugin).
Vagrant seems to play nicely with Windows as well since version 1.6 and the introduction of WinRM support (ssh alternative for Windows).
However AWS plugin doesn't support WinRM communicator yet. So you'll need to pre-bake your Windows AMIs with SSH service pre installed, if you want vagrant to provision it.
Update (29/03/2016): Thanks to Rafael Goodman for pointing to vagrant-aws-winrm plugin as a possible workaround.

Deploying Django on EC2

I'm having a django project that should be deployed on Amazon's EC2. There are various tutorials on installing django on EC2, but I think it'll always be a time consuming step to generate a new AMI image with your whole application... So I was thinking that it should also be possible to deploy it on the persistent storage, EBS?
But I'm wondering if that would have any disadvantages because there are no tutorials describing that out there... So if anybody is having some ideas on that or having any other tutorials on how to deploy new versions in an easy fast way to EC2 please let me know!
I used Bitnami Djangostack 1.2.3 (I'm not associated with bitnami in any way).
http://bitnami.org/stack/djangostack
The EC2 image is "ami-18fb0f71", described as "bitnami-djangostack-1.2.3-0-linux-ubuntu-10.04-ebs".
This is an EBS backed instance, but I can't comment on advantages/disadvantages of this.
I found some of the pertinent configuration files in these locations:
/opt/bitnami/apache2/conf/httpd.conf
/opt/bitnami/apps/django/conf/django.conf
The file served by default (as configured in httpd.conf) is '/opt/bitnami/apache2/htdocs/index.html'.
You can get a bit of support here:
http://bitnami.org/forums/forums/djangostack
I think it should be fine. At the least, you can experiment: get an EBS-backed instance, install django, stop the instance (not terminate!) and snapshot the volume (for backup).
Restart the instance, and see.