Создание кэша карт ArcGIS или изображений в Amazon Elastic Compute Cloud (EC2) имеет несколько отличий от кэширования вне облака:
- В вашем распоряжении имеется несколько разных размеров экземпляра с ценами.
- Вы можете добавить несколько томов в экземпляр, где вы можете разместить кэш.
В данном разделе вышеперечисленные факторы описываются более подробно.
Выбор размера экземпляра и цены
Amazon EC2 предлагает разные размеры и спецификации. Каждая имеет свою собственную цену за час использования. Более крупные экземпляры с большим объемом памяти могут создавать листы очень быстро. Более мелкие экземпляры создают листы медленнее, но они и стоят дешевле.
Свой кэш вы можете создать на прикрепленном томе блока Amazon Elastic Block Store (EBS), используя при этом экземпляр с большим объемом памяти. Когда кэширование будет завершено, вы можете открепить том EBS и прикрепить его к вашему обычному экземпляру (который может быть меньше и не такой дорогой). После этого экземпляр с большим объемом памяти, использованный вами для кэширования, может быть уничтожен. Таким образом, вы можете использовать память облака для кэширования, не прибегая к относительно дорогим экземплярам дольше, чем требуется.
Вам потребуется сделать выбор между экономией и быстротой. Использование маломощных и недорогих экземпляров не всегда будет самым экономичным выбором, поскольку общая стоимость кэша зависит от количества часов, затраченных на создание листов. С другой стороны, самые мощные экземпляры тоже могут увеличивать общую стоимость кэша: даже несмотря на меньшее количество затраченных на кэширование часов, вы заплатите за каждый час более высокую цену.
С помощью небольшого тестового кэша (возможно, размером для среднего по величине города), а также Amazon Machine Image (AMI) или шаблона сайта, вы можете выполнить свои относительно недорогие тесты с различного типа экземплярами, чтобы выяснить, который из них является наиболее экономичным для вашего кэша.
Мощные типы экземпляров EC2 хорошо приспособлены к запрограммированным обновлениям кэша, поскольку технология обновления, как правило, зависит от времени.
Выбор числа экземпляров используемых картографических сервисов при кэшировании
Каждый экземпляр EC2 имеет определенное число виртуальных процессорных ядер. Это количество можно увидеть при выборе типа экземпляра в консоли Amazon Web Services Management. Зная количество ядер, вам будет легче определить количество экземпляров сервиса геообработки инструментов кэширования, которое необходимо отвести под кэширование. Использование слишком большого числа экземпляров сервиса приведет к перегрузке центрального процессора, в то время как если использовать слишком мало экземпляров сервиса, то процессор будет использоваться нерационально.
Хотя оптимальное число находится методом проб и ошибок, в качестве максимума для начала можно взять n + 1 экземпляров сервиса CachingTools, где n – число виртуальных ядер в одном экземпляре EC2 на вашем сайте.
Автомасштабирование
При построении большого кэша, вы можете захотеть установить триггеры автоматического масштабирования, что сразу приведет к увеличению числа экземпляров EC2, работающих с кэшем, а также увеличению использования памяти. Однако автомасштабирование лучше подходит для обработки неожиданных резких скачков трафика. При создании кэшей вы заранее знаете, что вам понадобится много вычислительной мощности; поэтому, имеет смысл запустить все необходимые экземпляры до построения кэша, вместо того, чтобы ждать, пока они запустятся последовательно через триггеры автомасштабирования.
Где разместить кэш
В разделе Стратегии переноса данных в веб-сервисы Amazon говорилось о том, что существует несколько типов местоположений, где могут быть размещены ваши данные. Когда вы будете создавать свой кэш в первый раз, вы запишите его на томе EBS, прикрепленном к вашему экземпляру EC2. Этот том прикрепляется в момент, когда вы создаете свой сайт, и является отличным местом для размещения кэша, если объем тома достаточно большой. Если же том невелик, то вы можете заменить его на том большего размера, создав его из снимка существующего тома с данными, и зарегистрировать в нем директорию кэша сервера.
Не следует создавать кэш на диске C или корневой директории экземпляра EC2. Если этот экземпляр когда-нибудь будет уничтожен, то такой кэш будет утрачен.
Если у вас уже есть кэш на локальном диске и вам удобно работать с блоками Amazon Simple Storage Service (S3), можно скопировать кэш CompactV2 в блок памяти на Amazon S3 и хранить свой кэш там. Облако, которое хранит директории, зарегистрированные как кэш, невозможно использовать для создания или управления кэшем. Чтобы поддерживать все возможности кэша, формат хранения должен быть CompactV2, помимо этого, он оптимизирован для поддержания лучшей производительности. Если текущий кэш хранится в устаревшем формате, воспользуйтесь инструментом геообработки Обновить формат хранения картографического кэша, чтобы перейти к формату CompactV2.
- Создайте кэш в формате CompactV2, опубликовав новый кэшированный картографический сервис или сервис изображений в этом формат, либо конвертируйте имеющийся кэш в формат CompactV2 с помощью инструмента геообработки Обновить формат хранения картографического кэша.
- Создайте блок хранения Amazon S3 в том же регионе, что и сайт ArcGIS Server на AWS.
- Скопируйте кэш сервиса с локального диска на сайт ArcGIS Server на AWS и поместите его в папку с именем arcgiscache внутри блока памяти Amazon S3.
См. документация по AWS для получения дополнительной информации о копировании данных в блок памяти S3. Обратите внимание, если у вас большой по размеру кэш (терабайты), может потребоваться отправить их на диске в Amazon, чтобы они выполнили эту загрузку.
- Войдите в ArcGIS Server Manager для сайта, на котором запущен сервис с кэшем и зарегистрируйте блок S3 в качестве облачного хранилища и директории кэша на вашем сайте ArcGIS Server на AWS.
- Оставаясь в ArcGIS Server Manager, выполните одно из следующего:
- Остановите существующий сервис и измените его директорию кэша, указав новое облачное хранилище кэша в блоке S3.
- Опубликуйте новый сервис для работы с кэшем, размещенном в блоке S3, который был создан в шаге 3.
- Перезапустите сервис.
Примечание:
Если директория кэша картографического сервиса обновилась, то новый кэш создается в локальном диске сайта ArcGIS Server. Вам нужно заново скопировать кэш в блок S3, чтобы пользователи сервиса увидели эти обновления.