Amazon Bedrock — это полностью управляемый сервис, предоставляемый AWS, который предлагает разработчикам доступ к базовым моделям (FM) и инструментам для их настройки для конкретных приложений. Это позволяет разработчикам создавать и масштабировать генеративные приложения искусственного интеллекта с использованием FM через API без управления инфраструктурой. Вы можете выбирать из различных FM от Amazon и ведущих стартапов в области искусственного интеллекта, таких как AI21 Labs, Anthropic, Cohere и Stability AI, чтобы найти модель, которая лучше всего подходит для вашего случая использования. Благодаря бессерверному использованию Amazon Bedrock вы можете быстро приступить к работе, легко экспериментировать с FM, конфиденциально настраивать их с использованием собственных данных, а также легко интегрировать и развертывать их в своих приложениях с помощью инструментов и возможностей AWS.
Клиенты создают инновационные генеративные приложения искусственного интеллекта с использованием API-интерфейсов Amazon Bedrock и собственных данных. При доступе к API-интерфейсам Amazon Bedrock клиенты ищут механизм для настройки периметра данных, не раскрывая свои данные в Интернете, чтобы они могли снизить потенциальные векторы угроз от воздействия Интернета. Конечная точка Amazon Bedrock VPC на базе AWS PrivateLink позволяет вам установить частное соединение между VPC в вашей учетной записи и учетной записью службы Amazon Bedrock. Это позволяет экземплярам VPC взаимодействовать с ресурсами службы без необходимости использования общедоступных IP-адресов.
В этом посте мы покажем, как настроить частный доступ к вашей учетной записи AWS для доступа к API-интерфейсам Amazon Bedrock через конечные точки VPC на базе PrivateLink, чтобы помочь вам безопасно создавать генеративные приложения искусственного интеллекта с использованием ваших собственных данных.
Обзор решения
Вы можете использовать генеративный искусственный интеллект для разработки широкого спектра приложений, таких как суммирование текста, модерация контента и другие возможности. При создании таких генеративных приложений искусственного интеллекта с использованием FM или базовых моделей клиенты хотят генерировать ответ, не обращаясь к общедоступному Интернету или на основе своих собственных данных, которые могут находиться в их корпоративных базах данных.
На следующей диаграмме мы изображаем архитектуру для настройки вашей инфраструктуры для чтения ваших собственных данных, находящихся в Amazon Relational Database Service (Amazon RDS), и дополнения запроса API Amazon Bedrock информацией о продукте при ответе на запросы, связанные с продуктом, из вашего генеративного приложения искусственного интеллекта. . Хотя на этой диаграмме мы используем Amazon RDS в целях иллюстрации, вы можете протестировать частный доступ к API-интерфейсам Amazon Bedrock, используя инструкции, представленные в этом посте.
Этапы рабочего процесса следующие:
- AWS Lambda, работающая в вашей частной подсети VPC, получает быстрый запрос от генеративного приложения искусственного интеллекта.
- Lambda обращается к собственной базе данных RDS, дополняет контекст запроса (например, добавляет информацию о продукте) и вызывает API Amazon Bedrock с расширенным запросом.
- Вызов API направляется на конечную точку Amazon Bedrock VPC, которая связана с политикой конечных точек VPC с разрешениями «Разрешить доступ к API Amazon Bedrock».
- Конечная точка API сервиса Amazon Bedrock получает запрос API через PrivateLink, не проходя через общедоступный Интернет.
- Вы можете изменить политику конечных точек Amazon Bedrock VPC на «Запретить разрешения», чтобы убедиться, что вызовы API Amazon Bedrock запрещены.
- Вы также можете получить частный доступ к API-интерфейсам Amazon Bedrock через конечную точку VPC из своей корпоративной сети через шлюз AWS Direct Connect.
Предварительные условия
Прежде чем приступить к работе, убедитесь, что у вас есть следующие предварительные условия:
- Аккаунт AWS
- Роль федерации AWS Identity and Access Management (IAM) с доступом для выполнения следующих действий:
- Создание, редактирование, просмотр и удаление сетевых ресурсов VPC.
- Создание, редактирование, просмотр и удаление функций Lambda.
- Создание, редактирование, просмотр и удаление ролей и политик IAM.
- Перечислите модели фундамента и вызовите модель фундамента Amazon Bedrock.
- Для этого поста мы используем
us-east-1
Область - Запросить доступ к базовой модели через консоль Amazon Bedrock
Настройте инфраструктуру частного доступа
В этом разделе мы настраиваем такую инфраструктуру, как VPC, частные подсети, группы безопасности и функцию Lambda, используя шаблон AWS CloudFormation.
Используйте следующий шаблон для создания стека инфраструктуры. Bedrock-GenAI-Stack
в вашем аккаунте AWS.
Шаблон CloudFormation создает от вашего имени следующие ресурсы:
- VPC с двумя частными подсетями в отдельных зонах доступности.
- Группы безопасности и таблицы маршрутизации
- Роль и политики IAM для использования Lambda, Amazon Bedrock и Amazon Elastic Compute Cloud (Amazon EC2)
Настройте конечную точку VPC для Amazon Bedrock.
В этом разделе мы используем виртуальное частное облако Amazon (Amazon VPC) для настройки конечной точки VPC для Amazon Bedrock, чтобы облегчить частное подключение между вашим VPC и Amazon Bedrock.
- На консоли Amazon VPC в разделе Виртуальное частное облако в области навигации выберите Конечные точки.
- Выбирать Создать конечную точку.
- Для Именная меткавходить
bedrock-vpce
. - Под Услугинайдите Bedrock-runtime и выберите
com.amazonaws.<region>.bedrock-runtime
. - Для ВККукажите VPC
Bedrock-GenAI-Project-vpc
который вы создали с помощью стека CloudFormation в предыдущем разделе. - в Подсети раздел, выберите Зоны доступности и выберите соответствующие идентификаторы подсети в раскрывающемся меню.
- Для Группы безопасностивыберите группу безопасности с именем группы
Bedrock-GenAI-Stack-VPCEndpointSecurityGroup-
и описаниеAllow TLS for VPC Endpoint
.
Группа безопасности действует как виртуальный брандмауэр для вашего экземпляра и контролирует входящий и исходящий трафик. Обратите внимание, что эта группа безопасности конечных точек VPC разрешает только трафик, исходящий из группы безопасности, прикрепленной к вашим частным подсетям VPC, что добавляет уровень защиты.
- Выбирать Создать конечную точку.
- в Политика раздел, выберите Обычай и введите следующую политику наименьших привилегий, чтобы гарантировать, что с указанным ресурсом базовой модели разрешены только определенные действия:
arn:aws:bedrock:*::foundation-model/anthropic.claude-instant-v1
для данного принципала (например, роль IAM лямбда-функции).
Создание конечной точки интерфейса и изменение статуса на Доступен может занять до 2 минут. Вы можете обновить страницу, чтобы проверить последний статус.
Настройте функцию Lambda в частных подсетях VPC.
Выполните следующие шаги, чтобы настроить функцию Lambda:
- На консоли Lambda выберите Функции в панели навигации.
- Выберите функцию
gen-ai-lambda-stack-BedrockTestLambdaFunction-XXXXXXXXXXXX
. - На Конфигурация вкладка, выбрать Разрешения на левой панели.
- Под Роль исполнения¸ выберите ссылку на роль
gen-ai-lambda-stack-BedrockTestLambdaFunctionRole-XXXXXXXXXXXX
.
Вы будете перенаправлены на консоль IAM.
- в Политики разрешений раздел, выберите Добавить разрешения и выбери Создать встроенную политику.
- На JSON вкладке измените политику следующим образом:
- Выбирать Следующий.
- Для Название политикивходить
enivpce-policy
. - Выбирать Создать политику.
- Добавьте следующую встроенную политику (укажите исходные конечные точки VPC) для ограничения доступа Lambda к API-интерфейсам Amazon Bedrock только через конечные точки VPC:
- На странице функции Лямбда на вкладке Конфигурация вкладка, выбрать ВКК на левой панели, затем выберите Редактировать.
- Для ВККвыбирать
Bedrock-GenAI-Project-vpc
. - Для Подсетивыберите частные подсети.
- Для Группы безопасностивыбирать
gen-ai-lambda-stack-SecurityGroup-
(группа безопасности для рабочей нагрузки Amazon Bedrock в частных подсетях). - Выбирать Сохранять.
Протестируйте средства контроля частного доступа
Теперь вы можете протестировать элементы управления частным доступом (API Amazon Bedrock через конечные точки VPC).
- На консоли Lambda выберите Функции в панели навигации.
- Выберите функцию
gen-ai-lambda-stack-BedrockTestLambdaFunction-XXXXXXXXXXXX
. - На Код вкладка, выбрать Тест.
Вы должны увидеть следующий ответ на вызов API Amazon Bedrock (статус: успешно).
- Чтобы запретить доступ к API-интерфейсам Amazon Bedrock через конечные точки VPC, перейдите в консоль Amazon VPC.
- Под Виртуальное частное облако в области навигации выберите Конечные точки.
- Выберите свою политику и перейдите к Вкладка «Политика».
В настоящее время для политики конечных точек VPC установлено значение Allow
.
- Чтобы запретить доступ, выберите Изменить политику.
- Изменять
Allow
кDeny
и выбери Сохранять.
Обновление политики для конечной точки VPC может занять до 2 минут.
- Вернитесь на страницу функции Lambda и на Код вкладка, выбрать Тест.
Как показано на следующем снимке экрана, запрос на доступ к Amazon Bedrock через конечную точку VPC был отклонен (статус: сбой).
В ходе этого процесса тестирования мы продемонстрировали, как трафик от вашего VPC к конечной точке API Amazon Bedrock проходит через соединение PrivateLink, а не через подключение к Интернету.
Очистить
Выполните следующие действия, чтобы избежать будущих расходов:
- Очистите конечные точки VPC.
- Очистите VPC.
- Удалите стек CloudFormation.
Заключение
В этом посте мы продемонстрировали, как настроить и ввести в действие частное соединение между генеративной рабочей нагрузкой ИИ, развернутой на VPC вашего клиента, и Amazon Bedrock, используя конечную точку интерфейса VPC на базе PrivateLink. При использовании архитектуры, обсуждаемой в этом посте, трафик между вашим клиентским VPC и Amazon Bedrock не будет покидать сеть Amazon, что гарантирует, что ваши данные не попадут в общедоступный Интернет, и тем самым поможет вам выполнить требования соответствия.
В качестве следующего шага опробуйте решение в своей учетной записи и поделитесь своим мнением.
Об авторах
Рам Виттал — главный архитектор решений машинного обучения в AWS. Он имеет более чем трехлетний опыт проектирования и создания распределенных, гибридных и облачных приложений. Он увлечен созданием безопасных и масштабируемых решений AI/ML и больших данных, которые помогут корпоративным клиентам в их внедрении и оптимизации облака для улучшения результатов их бизнеса. В свободное время он катается на мотоцикле и гуляет со своим трехлетним овчаркой!
Рэй Хорсанди — специалист по искусственному интеллекту и машинному обучению в AWS, поддерживающий стратегических клиентов с помощью передовых методов искусственного интеллекта и машинного обучения. Имея степень магистра наук и доктор философии. Получив степень доктора электротехники и компьютерных наук, он руководит предприятиями по созданию безопасных, масштабируемых решений AI/ML и больших данных для оптимизации внедрения облачных технологий. Его увлечения включают компьютерное зрение, НЛП, генеративный искусственный интеллект и MLOps. Рэй любит играть в футбол и проводить время с семьей.
Майкл Дэниэлс — специалист по AI/ML в AWS. Его опыт заключается в создании и внедрении решений AI/ML и генеративного искусственного интеллекта для решения сложных бизнес-задач, который подкрепляется его докторской степенью. из унив. Техаса и его степень магистра наук. Получил степень бакалавра компьютерных наук по специальности «Машинное обучение» в Технологическом институте Джорджии. Он преуспевает в применении передовых облачных технологий для инноваций, вдохновения и преобразования ведущих отраслевых организаций, а также в эффективном общении с заинтересованными сторонами на любом уровне и в любом масштабе. В свободное время вы можете застать Майкла катающимся на лыжах или сноуборде в горах.