Я пытаюсь использовать ведро S3 для размещения мультимедийных файлов (изображений, видео и статических файлов) для небольшого веб-приложения и наткнулся на странную уловку-22 ...
Согласно документации S3, для обслуживания статического веб-сайта (это не статический веб-сайт, а только статические файлы), имя сегмента должно совпадать с именем домена / поддомена, из которого обслуживаются файлы, чтобы Route53 указывал его как Вариант ALIAS под ведра S3. Я сделал это, назвал ведро media.domain.com
и добавил запись в Route53 как запись A для media.domain.com
.
Однако при использовании S3FS для монтирования этой корзины S3 в файловую систему моего экземпляра EC2 монтирование не удалось из-за точек в имени корзины: https://github.com/s3fs-fuse/s3fs-fuse/issues/602
Мне нужно подключить это ведро к экземпляру EC2, потому что нам нужно принять загрузку файлов через микросервис NodeJS и установить место назначения хранилища в место, в ведре S3 с полными разрешениями на чтение / запись, следовательно, необходимо смонтировать ведро S3, чтобы микросервис на экземпляре EC2 может записывать в корзину S3.
Уловка-22: чтобы обслуживать эти статические файлы из S3 с помощью Route53, имя должно совпадать с именем записи A. Чтобы смонтировать ведро, в имени файла не должно быть точек - в записях A есть точки ...
Мой вопрос в том, есть ли у кого-то решение или может ли кто-то увидеть общую картину и сказать мне, если я иду к этому совершенно неправильно. Я новичок в AWS.
Мы используем S3, а не CloudFlare из-за стоимости, нам сейчас нужно менее дорогое решение.
Спасибо!
Вы можете попробовать обходной путь в FAQ: https://github.com/s3fs-fuse/s3fs-fuse/wiki/FAQ#q-https-connecting-failed-if-bucket-name-includes-dot- или используйте другие инструменты, например тупицы у которого нет этого ограничения