S3 през шлюз или през интерфейсна крайна точка за достъп от локалната мрежа
Крайната точка през шлюз е интеграция с таблицата за маршрутизиране, а не частна дестинация. Решавайте за всеки клиент и после проверявайте отделно маршрутизирането, източника на DNS и разрешенията.
Два типа S3 крайни точки изглеждат взаимозаменяеми при преглед на дизайна и се държат напълно различно, щом клиентът е извън обекта. Крайната точка през шлюз е интеграция с таблицата за маршрутизиране в VPC, затова заявка от VPN на обекта никога не стига до нея като частна дестинация. Интерфейсната крайна точка поставя частни адреси върху мрежови интерфейси, което хибриден път действително може да достигне. Всичко следващо зависи от това кой от двата сте избрали.
Решавайте по мрежовия вход, а не по името на услугата
Започнете от мястото, където възниква трафикът, защото точно този въпрос отговаря типът крайна точка. Работен товар в поддържан контекст на VPC може да използва крайна точка през шлюз и никога не се нуждае от собствен частен адрес. Работен товар на обекта се нуждае от частен адрес, към който може да маршрутизира, и точно това предоставя интерфейсната крайна точка. Ако дизайнът смесва двете, и двата типа крайни точки могат да съществуват в една VPC и това е нормална подредба, а не дублиране.
Смесването им не е проблемът. Проблемът е допускането, че единият тип покрива другия.
Класифицирайте клиента, преди да изберете каквото и да е. Работно пространство вътре в VPC, контейнер зад NAT шлюз и приложение в клон са три различни източника и само последният налага хибридния вход. Запишете тази класификация до инвентара на крайните точки, за да види следващият преглеждащ защо съществува всяка крайна точка.
Какво изисква интерфейсният път от край до край
Интерфейсната крайна точка дава достъпност до частни адреси и достъпността е само едно от четири изисквания. Локалната мрежа се нуждае от маршрут към тези адреси, страната на VPC се нуждае от обратен път, групата за сигурност на крайната точка трябва да допуска диапазона на източника и всяко средство за проверка между тях трябва да разрешава потока. Маршрут до някой екземпляр в VPC не доказва нито едно от четирите.
Работете от далечния край назад. Потвърдете, че мрежовите интерфейси на крайната точка съществуват в очакваните подмрежи, после проверете дали нейната група за сигурност допуска реалния локален диапазон, а не заместител. След това проверете дали тунелът или връзката носи обратния път в същата посока. Проверката е стъпката, която хората пропускат, защото междинно устройство, което разрешава връзката, все още може да изпусне по-голямо тяло на отговор и това изглежда като проблем с пропускателната способност, а не с политиката.
Тествайте с най-малката разрешена операция, а не с голямо изтегляне. Отказът се появява по-рано и с по-малко трафик за обяснение.
DNS следва източника на заявката, а не VPC
Съществуваща крайна точка не пренасочва нищо сама по себе си. Приложението получава името, което неговият резолвер е върнал, а резолверът отговаря според изгледа, който му е разрешено да вижда. Екземпляр вътре в VPC и лаптоп в офиса задават два различни въпроса и могат да получат два правилни, но различни отговора. Проверката на единия и заключението за другия е пътят от успешен тест до провалено внедряване.
Четете частната DNS настройка на крайната точка като част от дизайна, а не като отметка за включване след пускането.
Ако офисният резолвер трябва да вижда изгледа на VPC, този път трябва да бъде изграден нарочно, обикновено чрез входяща крайна точка на резолвер. Правете заявки от собствения контекст на приложението и отбелязвайте кой резолвер е отговорил. Резултат, събран на бастионен хост в VPC, описва изгледа на бастиона и нищо друго.
Разрешението е отделно от достъпността
Достъпната крайна точка връща грешки за заявки, които субектът няма право да прави, и тази грешка означава, че системата работи както е проектирана. Политиката за идентичност, политиката на кофата и всяка политика на крайната точка се оценяват в собствени слоеве. Мрежовият достъп никога не е давал разрешение.
Приемете дизайна по два резултата: безвредно разрешено извикване, което успява, и очакван отказ за изключена идентичност или кофа.
aws ec2 describe-vpc-endpoints --filters Name=vpc-id,Values=vpc-0123456789abcdef0
dig +short s3.us-west-2.amazonaws.com @10.0.0.2Записвайте името на крайната точка, разрешената дестинация и контекста на политиката до всеки резултат, защото една по-късна промяна в DNS може да обезсили цялото заключение. Сравнете текущата цена и оперативната тежест на двата типа крайни точки, преди да предоставите каквото и да е. Интерфейсната крайна точка купува хибриден частен вход, тя не е универсално изискване и пътят през шлюз често остава по-добрият отговор за работни товари вътре в VPC. Изборът е за всеки клиент и остава преразглеждаем.