Есть ли способ получить доступ к частному объекту .zip S3 с помощью конфигурационного файла .ebextension приложения django, развернутого на elastic beanstalk?
У нас есть приложение django, развернутое на elastic beanstalk, и мы добавили функцию, которая обращается к БД oracle. cx-Oracle требует клиентскую библиотеку Oracle (instant client), и мы хотели бы иметь .zip для библиотеки, доступный как частный объект в нашем ведре S3, публичный объект - не вариант. Мы хотим избежать зависимости от ссылки Oracle с помощью wget. Я пытаюсь разработать .config-файл в каталоге .ebextensions, который будет устанавливать .zip S3 при каждом развертывании. Как можно настроить конфигурацию, чтобы она устанавливалась при развертывании?
os: Amazon Linux AMI 1
Конечно, это обычная практика получения личных файлов из s3. Вам нужно иметь разрешение IAM (на кластере EB) для доступа к вашему ведру s3 и загрузки файлов. Конфиг в .ebextensions может выглядеть примерно так:
container_commands:
install:
command: |
#!/bin/bash -xe
aws s3 cp s3:/bucket-name/your-file local-filename
Просто как дружеское предложение, EB - это хорошо для начала, но если ваше приложение пойдет в производство, вы столкнетесь с некоторыми проблемами (например, не сможете заставить некоторые порты не быть открытыми и т.д.) и, возможно, есть лучшие варианты для размещения вашего приложения (ECS, EKS и т.д.)