[Blob] Azure Storage Account 와 Service Endpoint

Blob
작성자
Roronoa
작성일
2020-04-28 18:42
조회
2184
Azure Service Endpoint

Service Endpoint 는 Object Storage 와 같은 PaaS 에서 URL을 가지고 (이름.blob.core.windows.net)로

되어있는 공개 인터넷으로 나가면 안되 라는 온프레미스에서 부터 시작된 규칙을 위해 가상네트워크안에서

내부아이피를 타고 접속하기 위한 용도로 만들어졌습니다. 물론 보안을 위해서 우린 필요하다가 가장 주된 용도라

할 수 있습니다. 보안이 +1 되는것 입니다.또한 큰 장점중은 하나는 내부 백본을  사용하므로 Cold Potato Routing

(식은감자 라우팅)이 됩니다. Hot Potato Routing(뜨거운감자 라우팅)은 인터넷으로 돌면서 어떤 라우팅으로 갈지

정해 지지 않은 면이 있지만 Cold Potato Routing 으로 가면 내부 백본을 강제하는 라우팅으로 안정적이며 항상

내부로만 돌기 때문에 네트워크 트래픽 영향을 덜 받게 됩니다.

일반적으로 PaaS 제품들 (Storage , Azure MySQL, Azure SQL, Azure Postgres, Azure MariaDB,Cosmos DB,

Event Hub 등등) 의 많은 PaaS 제품이 생성과 동시에 Host URL이 생기지만 직접 Vnet에 연결되기 위한 서비스

입니다. AWS의 VPC 엔드포인트와 유사한 서비스라고 생각하시면 됩니다.

비슷한 용도로는 Private Endpoint가 있으며 이는 비슷하지만 다른 기능이므로 장단점을 잘 살펴본 후 용도에 맞게

사용하시면 됩니다.
azure그림001

 

장점

무료 입니다.

Azure 가상네트워크 안에서 매우 이상적인 Cold Potato Routing으로 Azure 백본 네트워크를 이용하도록 강제

터널링 시키므로 매우 안정적으로 트래픽이 라우팅됩니다. 리소스들이 내부 트래픽을 타게되므로 보안이 +1 됩니다.

NAT없이 설정 가능합니다. 서비스 엔드포인트가 없으면 가상머신에 Public IP를 할당해야하며 이에  위협+1이 증가 됩니다

 

단점 

온프레미스로 트래픽을 PaaS에서 보낼수는 없습니다.

TCP 트래픽만 처리하며 ICMP 트래픽은 처리 하지 않습니다.

서비스 엔드포인트와 스토리지 계정

스토리지계정에서 서비스엔드포인트를 켜고 엑세스 규칙을 수정후 서비스엔드포인트가 아니면

접속할 수 없도록 세팅할 수 있습니다. 다른 서브넷에 1번 가상머신 과 2번 가상머신이 있다면 1번 가상머신에

서비스엔드포인트를 연동한다면 2번 가상머신은 접속할수 없으며 엔드포인트가 서브넷 별로 활성화 됩니다.

서비스 엔드포인트는 서비스별이며 서브넷 별로 활성화 되므로 이부분 유연상이 떨어지며 보안은 +1 이 됩니다.
azure그림002

1.그림002처럼 Azure Portal에서 일반 스토리지 계정을 만듭니다
azure그림003

3.그림004에서 보면 All network으로 선택하면 모든 네트워크에서 접속 가능하며 인터넷에서도

접속 가능합니다. 그러나 Selected Network으로 선택하면 선택된 network만 접속 가능 합니다.
azure그림004

3.그림004에서 보면 All network으로 선택하면 모든 네트워크에서 접속 가능하며 인터넷에서도

접속 가능합니다. 그러나 Selected Network으로 선택하면 선택된 network만 접속가능 합니다.
azure그림005

4.그림005에서 빨간 박스 부분들을 선택하면 현재 존재하는 가상네트워크의 서브넷을

추가 할수 있으며 그 서브넷 에서만 접속할수 있도록 설정할 수 있습니다

5.그림005에서 파란 박스 부분은 Client IP 내 아이피들 등록해서 내 아이피에서는 접근 허용을 할 수 있습니다

6.그림005에서 노란 박스 부분은 여러 다른 Azure의 리소스를 타입별로 Provider를 지정해서 접속할수 있도록 할 수 있습니다

7.그림005에서 녹색 박스 부분은 예외처리를 선택 할 수 있습니다.
azure그림006

8. 위에 설정대로 설정하고 Public 으로 Blob의 URL을 접속하면 그림006처럼 접속이 권한이 없어서 접속하지 못하게 됩니다.

azure그림007

9. 심지어 그림007처럼 내 컴퓨터에서도 Azure Storage Explorer 에서도 그림007처럼 접속이 되지 않습니다.
azure그림008

10.그러나 그림008 처럼 선택된 가상 네트워크의 서브 넷에 있는 가상 머신 에서는 접속이 가능하도록 됩니다.

같은 서브 넷 이 아니면 접속을 전이 시킬 수 없으므로 이 부분에 유의 해야 합니다.

 

보안 적인 측면에서 +보안을 획득 할 수 있는 이 Service Endpoint 기능은 무료이며 많은 부분에서 응용 가능하게 사용 될 수 있으며 추후에는 이보다 한 단계 중요한 기능이 되는 Private Endpoint와 Private Link를 사용하는 기능이 앞으로 나올 예정입니다