Общие вопросы

Вопрос. Что такое AWS CodeCommit?

AWS CodeCommit – это безопасный высокомасштабируемый управляемый сервис управления исходным кодом, облегчающий специалистам совместную работу с кодом. С AWS CodeCommit вам не придется создавать собственную систему управления исходным кодом и заниматься масштабированием инфраструктуры для нее. AWS CodeCommit обеспечивает хранение любых ресурсов, от исходного кода до исполняемых файлов. Сервис эффективно интегрируется с существующими инструментами Git.

Вопрос. Что такое Git?

Git – это распределенная система управления версиями с открытым исходным кодом. Для работы с репозиториями AWS CodeCommit можно воспользоваться интерфейсом командной строки Git или любым подходящим клиентом Git. Дополнительные сведения о Git см. в документации Git. Дополнительные сведения о работе с AWS CodeCommit и Git см. на странице Начало работы с AWS CodeCommit.
Вопрос. Для кого предназначен сервис AWS CodeCommit?

AWS CodeCommit предназначен для разработчиков программного обеспечения, которым нужна безопасная, надежная и масштабируемая система управления исходным кодом для хранения кода и управления его версиями. Кроме того, AWS CodeCommit будет полезен всем, кому требуется простое в использовании, полностью автоматизированное хранилище данных с возможностью управления версиями. Например, системные администраторы могут использовать AWS CodeCommit для хранения скриптов и настроек. Веб-дизайнеры могут использовать AWS CodeCommit для хранения HTML-страниц и изображений.
Вопрос. Чем сервис AWS CodeCommit отличается от других систем управления исходным кодом на основе Git?
 
AWS CodeCommit предоставляет целый ряд возможностей, недоступных в других системах управления исходным кодом на основе Git.
  • Полностью управляемый сервис. С AWS CodeCommit вам не придется заниматься размещением, обслуживанием, резервным копированием и масштабированием собственных серверов управления исходным кодом.
  • Безопасность. Сервис AWS CodeCommit автоматически выполняет шифрование файлов при пересылке и хранении. AWS CodeCommit интегрирован с сервисом AWS Identity and Access Management (IAM), что позволяет назначать разрешения для ваших репозиториев на уровне пользователей.
  • Высокая доступность. AWS CodeCommit работает на основе высокомасштабируемых, избыточных и надежных сервисов AWS, таких как Amazon S3 и Amazon DynamoDB.
  • Масштабируемость. AWS CodeCommit позволяет хранить любое количество файлов без ограничений объема репозиториев.
  • Ускоренный жизненный цикл разработки. С AWS CodeCommit ваши репозитории будут находиться в облаке AWS, в непосредственной близости от сред разработки и предпроизводственного тестирования, а также рабочей среды. Это повышает скорость жизненного цикла разработки и частоту обновлений.
Вопрос. Чем AWS CodeCommit отличается от корзины S3 с поддержкой управления версиями?

AWS CodeCommit предусматривает совместную разработку программного обеспечения. Он управляет пакетами изменений множества файлов, обеспечивает параллельную разработку и сравнение версий. Функция управления версиями сервиса Amazon S3 обеспечивает восстановление предыдущих версий отдельных файлов, но не поддерживает отслеживание пакетов изменений, охватывающих множество файлов, и другие возможности, требуемые для совместной разработки программного обеспечения.

Работа с AWS CodeCommit

Вопрос. Как начать работу с AWS CodeCommit?
 
Вы можете войти в Консоль управления AWS, создать репозиторий и начать работу с ним с помощью Git. Для знакомства с сервисом перейдите на страницу Начало работы, где приводится пошаговое руководство.
Вопрос. Как создать репозиторий?

Чтобы создать репозиторий, воспользуйтесь Консолью управления AWS, интерфейсом командной строки AWS, AWS SDK или API сервиса AWS CodeCommit.
Вопрос. Как обновлять файлы в репозитории?

Редактировать файлы можно непосредственно из консоли CodeCommit. Кроме того, для работы с репозиторием можно использовать Git. В качестве примера команды Git можно воспользоваться командой git clone, чтобы создать локальную копию репозитория AWS CodeCommit. Внесите изменения в локальные файлы и запустите команду git commit, чтобы сохранить изменения. Наконец, воспользуйтесь командой git push для загрузки изменений в репозиторий AWS CodeCommit. Пошаговые инструкции см. на странице Начало работы с AWS CodeCommit.
Вопрос. Как импортировать существующий репозиторий в AWS CodeCommit?

С помощью Git можно импортировать в AWS CodeCommit любой существующий репозиторий Git. Другие репозитории, например Subversion или Perforce, сначала нужно перенести в репозиторий Git с помощью инструмента импорта Git. Пошаговые инструкции по импорту репозиториев Git см. на странице Перенос существующего репозитория в AWS CodeCommit. Пошаговые инструкции по переносу локального или безверсионного контента см. в документации Git по выполнению миграции.
Вопрос. Какие операции Git в настоящее время поддерживает сервис AWS CodeCommit?
 
AWS CodeCommit в настоящее время поддерживает команды clone, pull, push и fetch.
Вопрос. Поддерживает ли AWS CodeCommit подмодули Git?

Да. AWS CodeCommit можно использовать с репозиториями Git, содержащими подмодули.
Вопрос. Каковы ограничения сервиса AWS CodeCommit?

Сведения о лимитах для сервиса см. в разделе Лимиты.
Вопрос. Какой максимальный размер отдельного файла допустим для сохранения его в CodeCommit?

Размер отдельного файла в репозитории может составлять не более 2 ГБ.
Вопрос. Как выполнять резервное копирование репозиториев?

Для восстановления данных можно использовать полную локальную копию репозитория, созданную командой git clone. Дополнительные резервные копии можно создавать разными способами. Один из них заключается в установке Git на сервере резервного копирования и запуске задания планировщика с использованием команды git clone для регулярного создания снимков состояния репозитория. Если требуется копировать только инкрементные изменения, вы можете воспользоваться командой git pull вместо команды git clone. Обратите внимание, что использование этих операций может увеличить затраты на количество пользователей и/или запросов в зависимости от ваших настроек сервера резервного копирования и частоты опросов.
Вопрос. Как восстановить удаленный репозиторий AWS CodeCommit?

Удаление репозитория AWS CodeCommit является необратимой операцией стирания данных. Для восстановления репозитория, который был удален, потребуется создать репозиторий заново и загрузить в него данные из резервной или локальной копии, полученной путем полного клонирования. Для ограничения круга пользователей с правами удаления репозиториев рекомендуется использовать политики IAM и защиту посредством многофакторной аутентификации. Дополнительные сведения см. в ответе на вопрос «Можно ли использовать AWS Identity and Access Management (IAM) для управления доступом к AWS CodeCommit?» в разделе «Безопасность» на этой странице вопросов и ответов.
Вопрос. Как выполнять проверку кода в AWS CodeCommit?

В сервисе CodeCommit поддерживается проверка кода. Кроме того, вы можете настроить разрешения на доступ к ветвям кода. При возникновении проблем с проверкой кода или назначением разрешений на уровне ветви, ознакомьтесь с соответствующей документацией.

Вопрос. Как интегрировать систему непрерывной интеграции с сервисом AWS CodeCommit?

Системы непрерывной интеграции можно настраивать для извлечения кода из AWS CodeCommit с помощью Git. Примеры использования систем непрерывной интеграции с сервисом AWS CodeCommit см. в публикации в блоге, посвященной интеграции AWS CodeCommit с Jenkins.
Вопрос. Как создавать объекты webhook с помощью AWS CodeCommit?

В консоли Amazon SNS можно создать тему SNS, указав для нее адрес сервера HTTP и URL для объекта webhook. Затем в консоли AWS CodeCommit вы сможете связать эту тему SNS с событием в репозитории с помощью триггеров. Кроме того, клиенты, использующие AWS Chatbot, могут настроить отправку оповещений в каналы Slack или чат‑комнаты Amazon Chime. Подробную информацию см. здесь.
Вопрос. Можно ли получить журнал всех вызовов API и операций Git AWS CodeCommit своего аккаунта для анализа уровня безопасности и текущего устранения неполадок?

Да. Последние события CodeCommit, в том числе операции Git и вызовы API, можно просмотреть в консоли AWS CloudTrail. Чтобы непрерывно записывать все события, создайте отслеживание и ведите журнал событий в корзине Amazon S3. Дополнительные сведения см. в разделе «Ведение журнала вызовов API AWS CodeCommit с помощью AWS CloudTrail».

Безопасность

Вопрос. Можно ли использовать AWS Identity and Access Management (IAM) для управления доступом к AWS CodeCommit?

Да. AWS CodeCommit поддерживает разрешения на уровне ресурсов. Для каждого репозитория AWS CodeCommit можно указать действия, разрешенные определенным пользователям. Можно также использовать для действий CodeCommit многофакторную аутентификацию (MFA) AWS. Это обеспечивает дополнительный уровень защиты от разрушительных действий, таких как удаление репозиториев. Можно установить контроль доступа клиентов Git не только к API AWS CodeCommit, но и к командам git pull и git push. К примеру, можно создать пользователя репозитория с правами только для чтения, разрешив ему выполнение команды git pull, но не команды git push. Дополнительные сведения по использованию IAM с сервисом AWS CodeCommit см. на странице аутентификации и контроля доступа для AWS CodeCommit. Дополнительные сведения об аутентификации доступа к API с использованием многофакторной аутентификации см. в разделе Настройка доступа к API с защитой посредством MFA.
Вопрос. Какие протоколы передачи данных поддерживает AWS CodeCommit?

Для обмена данными с AWS CodeCommit можно использовать как HTTPS, так и SSH. Для использования протокола HTTPS сначала необходимо установить интерфейс командной строки AWS. Интерфейс командной строки AWS позволяет установить Git credential helper, настраиваемый с использованием данных доступа AWS. Он автоматически подписывает все запросы HTTPS к AWS CodeCommit цифровой подписью в спецификации Signature Version 4. Для использования протокола SSH пользователи создают собственные пары публичных и частных ключей и добавляют публичные ключи к своим пользователям IAM. Частный ключ обеспечивает шифрование обмена данными с AWS CodeCommit. Пошаговые инструкции по настройке доступа по HTTPS и SSH см. на странице Настройка AWS CodeCommit.
Вопрос. Какие порты должны быть открыты в брандмауэре для доступа к AWS CodeCommit?

Вам потребуется открыть исходящий доступ в адрес сервиса AWS CodeCommit для порта 22 (SSH) или 443 (HTTPS).
Вопрос. Как можно шифровать репозитории в AWS CodeCommit?

Шифрование репозиториев при хранении выполняется автоматически. От пользователя не требуется дополнительных действий. Для шифрования репозиториев сервис AWS CodeCommit использует AWS Key Management Service (KMS). При создании первого репозитория в вашем аккаунте AWS будет создан ключ CodeCommit под управлением AWS. Дополнительные сведения см. на странице Шифрование репозиториев AWS CodeCommit.
Вопрос. Можно ли разрешить доступ к репозиторию для нескольких аккаунтов?

Да. Вы можете создать в своем аккаунте AWS роль IAM для предоставления доступа к репозиторию пользователям IAM других аккаунтов AWS. После этого пользователи IAM могут настроить свой интерфейс командной строки AWS для работы с сервисом AWS Security Token Service (STS) и использовать данную роль при запуске команд. Дополнительные сведения см. в разделе Использование роли документации по интерфейсу командной строки AWS.

Регионы

Вопрос. В каких регионах доступен сервис AWS CodeCommit?

Дополнительные сведения о доступности сервиса CodeCommit по регионам см. на странице Продукты и сервисы по регионам.

Оплата

Вопрос. Какова стоимость использования сервиса AWS CodeCommit?

Стоимость использования сервиса AWS CodeCommit составляет 1 USD за одного активного пользователя в месяц. На каждого активного пользователя ваш аккаунт дополнительно получает 10 ГБ хранилища и 2000 запросов Git в месяц. Неиспользованный объем хранилища и неиспользованное количество запросов Git не переносятся на следующие месяцы. Если вам потребуется больше ресурсов хранилища или запросов Git для ваших пользователей, дополнительное использование будет оплачиваться по тарифу 0,06 USD за 1 ГБ в месяц и 0,001 USD за запрос Git. Пользователи могут хранить любое количество репозиториев Git. Объем использованных вами ресурсов рассчитывается каждый месяц суммарно по всем регионам и автоматически включается в ваш счет. Дополнительные сведения см. на странице цен.
Вопрос. Что такое активный пользователь в AWS CodeCommit?

Активный пользователь – это любое уникальное удостоверение AWS (пользователь или роль IAM, федеративный пользователь или аккаунт root), которое в течение месяца обращалось к репозиториям AWS CodeCommit посредством запросов Git или Консоли управления AWS. Сервер, который обращается к CodeCommit с помощью уникального удостоверения AWS, считается активным пользователем.
Вопрос. Какие запросы Git засчитываются в ежемесячный объем использования?

Запросы Git включают любые операции push или pull, которые передают объекты репозитория. Запрос не учитывается в объеме использования запросов Git, если при его выполнении не происходит передачи объектов, поскольку локальные или удаленные ветки кода уже синхронизированы.

Подробнее о ценах на AWS CodeCommit

Перейти на страницу цен
Готовы приступить к разработке?
Начать работу с AWS CodeCommit
Есть вопросы?
Свяжитесь с нами