Elastic Beanstalk no crea parámetros RDS

Estoy siguiendo este tutorial en un esfuerzo por crear una aplicación Django en AWS.

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python_django.html

Pude hacer que todo funcionara con una base de datos sqlite local, pero estoy tratando de llevar la aplicación a un servidor de producción. Al pasar por el proceso de inicio de Elastic Beanstalk, elijo crear una instancia RDS.

Mi mysite / settings.py se ve así:

importación OS

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': os.environ['RDS_DB_NAME'], 'USER': os.environ['RDS_USERNAME'], 'PASSWORD': os.environ['RDS_PASSWORD'], 'HOST': os.environ['RDS_HOSTNAME'], 'PORT': os.environ['RDS_PORT'], } } 

Debería tener acceso a los parámetros RDS en este punto, pero no lo tengo. El archivo manage.py no responde.

 (djangodev)laptop-id:mysite user-name$ python manage.py runserver Unknown command: 'runserver' Type 'manage.py help' for usage. (djangodev)laptop-id:mysite use-name$ python manage.py Usage: manage.py subcommand [options] [args] Options: -v VERBOSITY, --verbosity=VERBOSITY Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output --settings=SETTINGS The Python path to a settings module, eg "myproject.settings.main". If this isn't provided, the DJANGO_SETTINGS_MODULE environment variable will be used. --pythonpath=PYTHONPATH A directory to add to the Python path, eg "/home/djangoprojects/myproject". --traceback Print traceback on exception --version show program's version number and exit -h, --help show this help message and exit Traceback (most recent call last): File "manage.py", line 10, in  execute_from_command_line(sys.argv) File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line utility.execute() File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 376, in execute sys.stdout.write(self.main_help_text() + '\n') File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 242, in main_help_text for name, app in six.iteritems(get_commands()): File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 109, in get_commands apps = settings.INSTALLED_APPS File "/usr/local/lib/python2.7/site-packages/django/conf/__init__.py", line 53, in __getattr__ self._setup(name) File "/usr/local/lib/python2.7/site-packages/django/conf/__init__.py", line 48, in _setup self._wrapped = Settings(settings_module) File "/usr/local/lib/python2.7/site-packages/django/conf/__init__.py", line 132, in __init__ mod = importlib.import_module(self.SETTINGS_MODULE) File "/usr/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File "/Users/andrewcopp/Developer/mysite/mysite/settings.py", line 17, in  'NAME': os.environ['RDS_DB_NAME'], # Or path to database file if using sqlite3. File "/tmp/djangodev/bin/../lib/python2.7/UserDict.py", line 23, in __getitem__ raise KeyError(key) KeyError: 'RDS_DB_NAME' 

¿Alguna idea de lo que podría pasar por alto? Cualquier otra información que pueda proporcionar para aclarar las cosas.

Necesita un respaldo local a una base de datos diferente en la configuración.

En su archivo settings.py , reemplace la variable DATABASE con esto:

 DATABASES = {} try: from local_settings import * except ImportError, e: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': os.environ['RDS_DB_NAME'], 'USER': os.environ['RDS_USERNAME'], 'PASSWORD': os.environ[' 'HOST': os.environ['RDS_HOSTNAME'], 'PORT': os.environ['RDS_PORT'], } } 

Ahora crea un local_settings.py en el mismo directorio que tu settings.py e ingresa el siguiente código:

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'db.djangodb', 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', } } MEDIA_ROOT = '' MEDIA_URL = '' STATIC_ROOT = '' STATIC_URL = '/static/' STATICFILES_DIRS = () TEMPLATE_DIRS = () 

Ahora agregue su archivo local_settings.py a su archivo .gitignore .

Ejecute $ python manage.py syncdb y ahora puede ejecutar el servidor django localmente.

La mayor parte de esto es copiar la pasta de esta publicación del blog que encontré: http://grigory.ca/2012/09/getting-started-with-django-on-aws-elastic-beanstalk/