VPC가 실행 중이고 Amazon S3에서 파일을 다운로드하여 백엔드 처리를 수행하는 해당 서버의 개인 부분에 일부 서버가있는 경우 내부적으로 S3에 액세스하여 해당 파일을 가져올 수 있습니까? 아니면 NAT를 통해 공용 인터넷에 액세스하고 https를 통해 s3 파일을 다운로드 한 다음 처리해야합니까?
VPC가 실행 중이고 Amazon S3에서 파일을 다운로드하여 백엔드 처리를 수행하는 해당 서버의 개인 부분에 일부 서버가있는 경우 내부적으로 S3에 액세스하여 해당 파일을 가져올 수 있습니까? 아니면 NAT를 통해 공용 인터넷에 액세스하고 https를 통해 s3 파일을 다운로드 한 다음 처리해야합니까?
답변:
"인터넷"과 같은 사용자 이름으로이 사실을 알고 싶습니다. 하지만 당신이 물어 본 이후로 ...
:)
VPC는 정말 비공개입니다. 명시 적으로 허용 한 트래픽 만 VPC의 경계를 통과 할 수 있습니다.
따라서 VPC 내에서 외부 리소스에 액세스해야하는 인스턴스에는 EIP (이 경우 AWS 인프라를 사용하여 외부 리소스에 액세스 할 수 있음)를 할당하거나 NAT 호스트 (이 경우 모든 트래픽이 송신 됨)를 제공해야합니다. 자신의 NAT를 통한 VPC).
고유 한 NAT 호스트를 제공하도록 선택한 경우 해당 인스턴스에서 소스 / 대상 확인을 비활성화하고 프라이빗 서브넷에 기본 경로를 추가하여 NAT 호스트를 가리켜 야합니다.
업데이트 (2015-05-10) : 2015 년 5 월 11 일 현재 AWS는 S3 용 "VPC 엔드 포인트"를 출시했습니다 .이를 통해 프록시 호스트 또는 NAT 인스턴스를 거치지 않고도 VPC에서 직접 S3에 액세스 할 수 있습니다. 고맙게도 VPC의 사적인 특성을 고려하여이 기능은 기본적으로 해제되어 있지만 AWS 콘솔 또는 API를 통해 쉽게 켤 수 있습니다.
인스턴스가 VPC의 퍼블릭 서브넷에있는 경우 :
인스턴스가 VPC의 프라이빗 서브넷에있는 경우 :
결론적으로, S3에 액세스하려면 인터넷에 액세스 할 수 있어야합니다.
며칠 전부터 NAT 또는 퍼블릭 IP를 사용하지 않고도 VPC를 통해 S3에 액세스 할 수 있습니다.
AWS 리전 내에서 데이터를 전송하는 방식에 대해 "출입"또는 "입출"할 필요가 없습니다. 같은 지역의 버킷으로 /에서 버킷으로 전송하는 수수료는 없습니다 . 저장 비용을 지불해야합니다.