دروازه S3 یا نقطه پایانی واسط برای یک کارخواه در محل؟
نقاط پایانی دروازه در جدولهای مسیریابی زندگی میکنند و به ترافیک VPC خدمت میکنند. نقاط پایانی واسط به مسیر محلی یک نشانی خصوصی میدهند، همراه با DNS و سیاست.
رسیدن به S3 از شبکه اداری از طریق VPN سایت مسئله مسیریابی نیست که یک مسیر ایستا بهتنهایی حلش کند. نقطه پایانی دروازه به جدولهای مسیریابی متصل میشود و به درخواستهایی که داخل VPC ایجاد میشوند خدمت میکند. نقطه پایانی واسط، واسطهای شبکه الاستیک با نشانیهای خصوصی را در زیرشبکههای شما قرار میدهد و این نشانیها از محل از طریق VPN یا Direct Connect قابل دسترسی هستند. اینکه درخواست از کجا شروع میشود تعیین میکند واقعاً کدام یک از این دو را لازم دارید، و کار DNS، گروه امنیتی و سیاست از همان پاسخ نتیجه میشود.
انواع نقطه پایانی را بر اساس محل شروع درخواست جدا کنید
نقطه پایانی دروازه بهصورت یک ورودی جدول مسیریابی ظاهر میشود که به یک فهرست پیشوند مدیریتشده اشاره میکند. واسط شبکه، گروه امنیتی و نشانی خصوصی خودش را ندارد، و دقیقاً به همین دلیل یک میزبان در محل نمیتواند به آن مسیریابی کند: در آن سوی دیگر چیزی برای مسیریابی وجود ندارد. ترافیک از داخل VPC به S3 میرسد چون جدول مسیریابی زیرشبکه آن پیشوند را به نقطه پایانی میفرستد. ترافیک از هر جای دیگری چنین ورودیای برای دنبال کردن ندارد.
نقطه پایانی واسط مجموعهای از واسطهای شبکه در زیرشبکههایی است که انتخاب میکنید، هر یک با یک نشانی خصوصی از آن زیرشبکه و یک گروه امنیتی متصل. این همان شکلی است که یک کارخواه دورگه میتواند استفاده کند، چون مقصدی معمولی است که تونل شما میتواند بستهها را به آن ببرد. همچنین یعنی نقطه پایانی نشانیهایی در زیرشبکه مصرف میکند و ممکن است تمام شوند.
aws ec2 describe-vpc-endpoints --query "VpcEndpoints[].{Id:VpcEndpointId,Type:VpcEndpointType,Service:ServiceName,State:State}" --output table
ستون Type را بخوانید نه نام را. یک VPC واحد معمولاً هر دو نوع را برای یک سرویس نگه میدارد، و ورودیای که برنامه در محل شما لازم دارد ورودی واسط است.
پیش از آزمودن S3 مسیر تا نشانی واسط را بسازید
سه چیز باید همزمان درست باشد: مسیریاب در محل مسیری به زیرشبکه نقطه پایانی دارد، مسیر بازگشت از آن زیرشبکه به شبکه کارخواه میرسد، و گروه امنیتی نقطه پایانی محدوده مبدأ کارخواه را میپذیرد. ACL شبکه زیرشبکه هنوز میتواند بسته را پس از عبور هر سه دور بیندازد، پس آن را بهعنوان مورد چهارم بررسی کنید نه اندیشهای دیرهنگام.
مسیری که به فلان نمونه EC2 در VPC کار میکند هیچیک از اینها را اثبات نمیکند. فقط نشان میدهد تونل بالا است، که تنها بخشی از مسیر است که از پیش میدانستید. نشانی نقطه پایانی را جداگانه اثبات کنید، سپس اثبات کنید که نام به آن تجزیه میشود.
ip route get 10.60.4.37 nc -vz 10.60.4.37 443 openssl s_client -connect 10.60.4.37:443 -servername bucket.vpce-0123456789abcdef0-abc123.s3.us-east-1.vpce.amazonaws.com </dev/null
فرمان اول نشان میدهد کارخواه کدام واسط را به کار میبرد. دومی دستدهی TCP را اثبات میکند. سومی اثبات میکند که TLS با گواهی معتبر برای نام نقطه پایانی کامل میشود، و همین بررسی است که پیش از سرزنش مجوزها نشانی اشتباه را میگیرد.
تصمیم بگیرید برنامه کدام پاسخ DNS را دریافت میکند
وجود یک نقطه پایانی واسط در VPC بهخودیخود یک SDK در محل را تغییر مسیر نمیدهد. کارخواه یا از نام ویژه نقطه پایانی که AWS برای آن نقطه منتشر میکند استفاده میکند، یا از یک منطقه میزبانیشده خصوصی که عمداً آن را از دفتر قابل تجزیه کردهاید.
برای تجزیه دورگه، تحلیلگر در محل به مسیری پشتیبانیشده به نمای DNS در VPC نیاز دارد، معمولاً از طریق نقطه پایانی ورودی Resolver. فعال کردن DNS خصوصی بدون درک اینکه بر کدام منابع پرسوجو اثر میگذارد همان چیزی است که باعث میشود جستوجو نشانیای برگرداند که دفتر به آن نمیرسد. این تنظیم پاسخهای پرسوجوهایی را که از تحلیلگر VPC میآیند تغییر میدهد، نه هر کارخواه در همهجا را.
dig +short bucket.vpce-0123456789abcdef0-abc123.s3.us-east-1.vpce.amazonaws.com aws s3api head-bucket --bucket example-artifacts --endpoint-url https://bucket.vpce-0123456789abcdef0-abc123.s3.us-east-1.vpce.amazonaws.com
هر دو را روی میزبان برنامه اجرا کنید، نه روی جعبه پرش داخل VPC. تحلیلگری که آنجا پاسخ میدهد همانی است که بار کاری شما استفاده میکند، و پاسخ متفاوت از میزبان متفاوت رایجترین منبع سردرگمی در این طراحی است.
دسترسیپذیری مجوزدهی نیست
درخواستی که به نقطه پایانی میرسد هنوز به یک اصل مجاز و مجوز سبد قابل اعمال نیاز دارد. سیاست نقطه پایانی میتواند آنچه را نقطه پایانی اجازه میدهد محدود کند، و سیاست سبد میتواند دوباره آن را محدود کند. رسیدن به واسط هیچ چیزی درباره اینکه فراخواننده کدام اشیاء را میتواند بخواند نمیگوید.
هر دو جهت را بیازمایید: یک فراخوانی مجاز بیخطر علیه سبد مورد نظر، و یک فراخوانی که انتظار میرود برای هویتی یا منبعی بیرون از سیاست رد شود. نام نقطه پایانی، نشانی تجزیهشده و زمینه سیاست را همراه نتیجه نگه دارید تا نفر بعدی بتواند آن را بازتولید کند. ردی که نوع سیاست را نام میبرد یک ساعت حدس زدن را صرفهجویی میکند.
در پایان، پیش از تأمین، قیمت دو گزینه را بسنجید. نقطه پایانی واسط بر پایه ساعت واسط و بر پایه گیگابایت صورتحساب میشود، در حالی که نقطه پایانی دروازه اینگونه نیست، و همین تفاوت برای بسیاری از بارهای کاری کمحجم که فقط به دسترسی از سمت VPC نیاز دارند تعیینکننده است.