클라우드에서 백엔드로의 접근 계약에 적어야 할 여섯 가지 결정
터널은 클라우드 워크로드에 경로를 줄 뿐 목적을 주지 않는다. 커넥터를 고르기 전에 운영, 워크로드 정체성, 데이터 처리, 제거를 결정하라.
고객의 내부 시스템에서 승인된 요약을 받아야 하는 클라우드 계정의 보고 서비스를 떠올려 보자. VPN이나 인증된 애플리케이션 연결은 경로를 보호할 뿐 그 밖의 무엇도 정하지 않는다. 보고 워크로드가 무관한 레코드를 읽어도 되는지, 백엔드를 바꿔도 되는지, 가져온 데이터를 보관해도 되는지는 정하지 않는다. 커넥터를 고르기 전에 운영과 데이터의 관점에서 접근 계약을 적어야 한다. 커넥터는 나중에 바꾸는 비용이 가장 싸고, 처음에 잘못하기 가장 쉬운 부분이기 때문이다.
커넥터보다 먼저 운영을 정하라
첫 번째 결정은 워크로드가 무엇을 해도 되는지이며, 네트워크 범위가 아니라 운영으로 이름 붙여야 한다. 보고 사례에서는 좁은 보고 API로 필요를 채울 수 있고, 클라우드 워크로드에 데이터베이스 관리를 넘기지 않아도 된다.
보고에 필요한 데이터와 그저 도달 가능한 데이터를 구분하라. 허용된 운영을 엔드포인트와 동사로 정체성 결정과 같은 문서에 적어라. 이 구분이 감사를 통과하는 통합과 매년 다시 설명해야 하는 통합의 차이며, 나중의 논쟁을 또 한 번의 회의 없이 정리한다.
워크로드의 정체성을 정하고 소유자를 지정하라
감독 없는 작업은 프롬프트에 답할 수 없다. 그래서 팀은 개인의 광범위한 계정에 손을 뻗고 나중에 잊어버린다. 백엔드가 실제로 받아들이는 서비스 계정이나 머신 자격 증명을 사용하고, 누가 소유하는지, 어디에 저장되는지, 어떻게 교체되는지 기록하라.
세 가지 조건이면 전용 정체성 쪽으로 결정을 기울여야 한다. 작업이 사람 없이 돌아가고, 자격 증명이 단일 배포보다 오래 살아남고, 한 명보다 많은 사람이 그 존재를 알아야 한다. 셋 다 사실이라면 공유 인간 계정은 요령이 아니라 누구도 깔끔하게 철회할 수 없는 영구적 예외다.
설정에 붙여 넣은 정적 비밀이 아니라 플랫폼이 워크로드를 위해 발급하고 교체할 수 있는 자격 증명을 우선하라. 예를 들어 백엔드가 검증하는 워크로드 정체성 토큰이다. 애플리케이션 설정의 정적 비밀이 바로 교체가 장애로 변하는 이유다.
네트워크 범위를 정하되 그것이 권한은 아님을 알라
어느 쪽이 연결을 시작하는지, 지원되는 전송, 관련 엔드포인트를 명시하라. 피어 정체성 검사를 켜 두고, 무관한 백엔드 목적지는 단지 알리지 않는 것이 아니라 도달할 수 없게 두라.
좁은 터널 경로는 유용한 범위지만 운영 수준의 권한 부여를 대체할 수 없다. 백엔드는 자체 통제로 계약을 강제해야 한다. 네트워크는 도달 가능한 포트에 닿는 모든 요청을 기꺼이 실어 나르기 때문이다. 라우팅 테이블이 아니라 백엔드 자체의 역할과 부여를 확인하라. 서버에 닿는 경로라도 결정은 서버에 남고, 바로 그곳에서 계약이 강제되거나 무시된다.
반대도 참이다. 유효한 서비스 자격 증명은 모든 출처에 리스너를 공개할 이유가 되지 않는다. 두 통제가 모두 필요하고 어느 것도 다른 것을 대신하지 않는다.
데이터 처리와 책임 분담을 정하라
고객 환경을 떠나는 것, 애플리케이션이 그것을 처리하는 위치, 그리고 실제 저장·백업·접근·보존 방식을 기록하라. 보존은 늦게 발견되는 부분이며, 보통 아무도 문서화하지 않은 버킷에 지난 분기 사본이 아직 있는지 누군가 물을 때 드러난다.
당사자들을 구분해 두라. 애플리케이션 운영자, 소프트웨어 공급자, 인프라 호스트는 서로 다른 책임을 질 수 있고, 서비스 모델이 누가 무엇인지 정한다. 셋 모두 동일한 접근을 가졌거나 전혀 없다고 가정하지 말고 실제 계약을 읽어라.
실패, 제거, 그리고 수용 방법을 정하라
실패 사례의 책임을 일어나기 전에 배정하라. 커넥터가 고장 나거나 정체성 침해가 의심될 때, 대응이 사건보다 오래 사는 즉흥적인 무제한 네트워크 예외여서는 안 된다.
제거는 구축만큼의 정밀함을 받을 자격이 있다. 권한이 어떻게 철회되는지, 활성 접근이 제품이 지원하는 동작 안에서 어떻게 끝나는지, 관계가 끝날 때 보존된 사본이 어떻게 되는지 정의하라.
대표적인 허용 운영과 계약이 요구하는 거부를 갖추어 통합을 수용하라. 모두 의도한 워크로드 정체성 아래에서다. 요청 경로와 실제로 전달된 데이터를 확인하고, 자격 증명 교체와 제거를 실제로 연습하라. 연결된 터널은 경로가 있음을 증명한다. 계약은 그 경로에 한계를 부여하는 것이다.