edge-computing

9 개의 포스트

cloudflare

모든 내부 바이브 코딩 애플리케이션을 한 번의 클릭으로 안전하게 보호하세요 (새 탭에서 열림)

AI로 애플리케이션 개발·배포가 쉬워진 만큼, 직원이 실수로 내부 애플리케이션이나 데이터를 인터넷에 노출할 위험도 커졌다. Cloudflare는 이를 막기 위해 Workers에 Cloudflare Access를 직접 연결해, 애플리케이션 코드나 개발자의 설정에 의존하지 않고 기본적으로 인증을 강제할 수 있도록 했다. 계정 전체, 개별 Worker, 프리뷰 환경에 정책을 적용하고, 코드에서는 별도의 JWT 검증 없이 인증 사용자 정보를 사용할 수 있다. ## Worker 단위로 적용하는 Cloudflare Access - Access를 Worker에 활성화하면 요청이 애플리케이션 코드에 도달하기 전에 인증이 수행된다. - 다음과 같은 접근 경로를 모두 보호할 수 있다. - 커스텀 도메인 - 라우트 - `workers.dev` 서브도메인 - 프리뷰 URL - 기존에는 호스트 이름별로 Access 정책을 설정해야 했기 때문에 새 도메인을 추가할 때마다 정책도 갱신해야 했다. - 이제 정책이 호스트 이름이 아닌 Worker에 연결되므로, 해당 Worker에 연결된 새 도메인과 URL도 자동으로 보호된다. - 보호 범위는 다음 중에서 선택할 수 있다. - 프리뷰 URL만 보호 - 모든 호스트 이름 보호 - 기존 IdP를 연결하거나 특정 이메일 주소, 도메인, 그룹만 허용할 수 있으며, 에이전트에는 서비스 토큰을 사용할 수 있다. ## 계정 전체의 Worker를 기본적으로 비공개 처리 - 계정 수준에서 Access 정책을 설정하면 현재 및 향후 생성되는 모든 Worker가 기본적으로 비공개가 된다. - 정책 적용 범위는 다음과 같이 선택할 수 있다. - 프리뷰 트래픽만 - 프로덕션 트래픽만 - 프리뷰와 프로덕션 모두 - 프로덕션은 공개해야 하지만 개발 중인 배포는 노출되면 안 되는 경우, 프리뷰 전용 정책이 유용하다. - 특정 Worker를 공개해야 한다면 계정 전체 정책을 해당 Worker에서 우회할 수 있다. ## 개별 Worker 정책과 우선순위 - 계정 전체를 잠그지 않고 특정 애플리케이션만 보호하는 것도 가능하다. - Worker 화면의 새로운 Access 탭에서 해당 애플리케이션에 적용되는 정책을 확인할 수 있다. - 여러 정책이 겹칠 경우 우선순위는 다음과 같다. 1. 호스트 이름 정책 2. Worker 정책 3. 계정 정책 ## 코드에서 인증 사용자 정보 확인 - Access가 Worker를 보호하면 요청의 `ctx` 객체에 인증 사용자 정보가 포함된다. - `ctx.access.getIdentity()`를 호출해 다음 정보를 얻을 수 있다. - 이메일 - 이름 - 그룹 - 기존에는 JWT를 직접 파싱하고 서명을 검증한 뒤 클레임을 추출해야 했지만, 이제는 Worker에서 바로 identity 객체를 사용할 수 있다. ```js export default { async fetch(request, env, ctx) { if (!ctx.access) { return new Response("Access required", { status: 403 }); } const identity = await ctx.access.getIdentity(); const email = identity?.email ?? "unknown"; return new Response(`Hello, ${email}`); } }; ``` - 사용자별 화면 구성, 권한 검사, 사용자 단위 감사 로그 등에 활용할 수 있다. ## 로컬 개발 환경에서 인증 사용자 시뮬레이션 - 배포 전에 `wrangler dev`에서 Access 사용자 정보를 테스트할 수 있다. - `wrangler.jsonc`에 개발용 Access identity를 설정한다. ```json { "access": { "dev": { "aud": "my-app", "identity": { "email": "admin@company.com" } } } } ``` - 로컬 요청에서도 `ctx.access.getIdentity()`가 프로덕션과 유사한 identity 객체를 반환한다. - 이메일 주소를 바꿔가며 사용자별 콘텐츠와 권한 동작을 배포 없이 검증할 수 있다. ## 내부 애플리케이션 플랫폼 보호 - Workers for Platforms를 이용하면 여러 애플리케이션을 대규모로 배포할 수 있다. - 각 Worker가 네임스페이스에 배포되고, 모든 요청은 하나의 dispatch Worker를 거친다. - dispatch Worker에 Access 정책을 한 번만 설정하면 이를 통해 배포되는 모든 Worker가 기본적으로 비공개가 된다. - 내부 드래그 앤 드롭 배포 플랫폼처럼 직원용 애플리케이션 플랫폼을 구축할 때 유용하다. ## FL2 기반 요청 처리 구조 - Worker 단위 Access 적용은 Cloudflare의 Rust 기반 모듈형 프록시인 FL2를 기반으로 한다. - Access가 실행되기 전에 요청이 어느 Worker로 라우팅될지 알아야 하므로, Workers 라우팅과 실행 로직을 분리해야 했다. - 라우팅을 Access보다 앞 단계로 이동함으로써 호스트 이름이 아니라 개별 Worker를 기준으로 인증 정책을 적용할 수 있게 되었다. - 기존 NGINX·Lua 기반 FL1 구조에서는 요청 파이프라인의 로직을 앞 단계로 옮기는 작업이 복잡하고 위험할 수 있었지만, FL2가 이를 가능하게 했다. 개발 조직에서는 계정 수준에서 프리뷰 배포를 우선 보호하고, 공개가 필요한 Worker만 명시적으로 예외 처리하는 방식이 실용적이다. 내부 플랫폼을 운영한다면 dispatch Worker에 Access를 적용해 새로 배포되는 모든 애플리케이션을 비공개 상태로 시작하는 것이 안전하다.

google

동결된 멀티 토큰 예측으로 Pixel에서 Gemini Nano 모델 가속하기 (새 탭에서 열림)

기존 Gemini Nano v3 모델을 다시 학습하지 않고도 Multi-Token Prediction(MTP)을 추가해 Pixel 기기에서 온디바이스 추론을 가속하는 방법을 소개한다. 별도의 드래프터 모델 대신 본 모델에 가벼운 MTP 헤드를 붙이고, 기존 KV 캐시를 공유하는 zero-copy 구조를 사용해 메모리와 지연 시간을 줄였다. 그 결과 Pixel 9·10의 일부 기능에서 토큰 생성 속도가 50% 이상 향상되고, 인스턴스당 최대 130MB의 메모리를 절약했다. ## 모바일에서 자동회귀 생성이 느린 이유 - 기존 언어 모델은 한 번에 하나의 토큰만 생성하므로, N개 토큰을 만들려면 대형 모델의 추론을 N번 수행해야 한다. - 모바일 기기는 서버보다 RAM과 전력 예산이 제한적이다. - 토큰을 순차적으로 생성하는 과정은 연산 자원을 충분히 활용하지 못하고 메모리 대역폭과 배터리를 많이 소모한다. - 알림 요약, 메시지 교정처럼 짧은 응답도 빠르게 처리해야 하므로 추론 효율이 사용자 경험에 직접 영향을 준다. ## 별도 드래프터의 한계와 MTP - speculative decoding은 다음과 같은 두 단계로 동작한다. - **Draft:** 작은 드래프터 모델이 여러 후보 토큰을 빠르게 생성한다. - **Verify:** 대형 모델이 후보들을 병렬로 검증하고, 일치하는 토큰만 수용한다. - 별도 드래프터 모델은 추가 파라미터와 RAM을 필요로 한다. - 본 모델이 이미 계산한 풍부한 의미 정보를 활용하지 못하고, 텍스트 이력만으로 후보를 예측한다. - MTP는 별도 언어 모델 대신 본 모델의 마지막 층에 경량 Transformer 기반 MTP 헤드를 추가한다. - MTP 헤드는 본 모델의 hidden state를 이용해 여러 미래 토큰을 예측하고, 본 모델은 이를 병렬 검증한다. - 이러한 구조를 글에서는 본 모델의 깊은 지점에서 빠져나와 토큰을 예측하는 **“late exit” 전략**으로 설명한다. ## 동결된 백본에 MTP 헤드 추가 - 이미 배포된 Gemini Nano v3의 가중치는 그대로 동결한다. - 새로 학습하는 부분은 미래 토큰 예측을 담당하는 MTP 헤드뿐이다. - 기존 모델 전체를 다시 사전 학습하거나 별도 드래프터를 작업별로 미세 조정할 필요가 없다. - 백본을 동결하므로 기본 모델의 성능과 안전 정렬을 변경하지 않는다. - 잘못된 후보 토큰은 검증 단계에서 폐기되기 때문에 최종 출력은 기존 대형 모델과 비트 단위로 동일하다. - 따라서 기존 모델과의 하위 호환성을 유지하면서 추론 효율만 개선할 수 있다. ## KV 캐시를 공유하는 zero-copy 구조 - 일반적인 별도 드래프터는 자체 KV 캐시를 생성하고 유지해야 하므로 메모리를 중복 사용한다. - 제안된 MTP 헤드는 본 모델의 KV 캐시에 직접 cross-attention으로 접근한다. - 별도 프롬프트 처리(prefill)나 독립적인 과거 문맥 저장이 필요하지 않다. - 주요 효과는 다음과 같다. - 드래프터가 프롬프트를 다시 처리하지 않아 prefill 지연 감소 - 드래프터 전용 임베딩 테이블과 attention 구조 제거 - 애플리케이션별 튜닝 파라미터 및 중복 KV 캐시 절감 - standalone 드래프터와 비교해 인스턴스당 최대 130MB의 메모리를 절약했다. ## 풍부한 표현이 만드는 예측 정확도 향상 - MTP 헤드는 대형 백본이 이미 계산한 최종 hidden state를 활용하므로 별도 드래프터보다 정확한 후보를 생성한다. - Pixel 9에서 비슷한 규모의 standalone 드래프터보다 작업에 따라 50% 이상의 속도 향상을 보였다. - 복잡한 지시를 따르는 요약·재작성 작업에서 MTP가 크게 우수했다. - 스마트 답장처럼 문장 구조가 예측 가능한 작업에서는 본 모델의 구문 패턴을 잘 학습했다. - 이런 작업에서는 토큰 수용률이 최대 55% 향상됐다. ## Pixel 실사용 결과 - Gemini Nano MTP는 Pixel 9 및 Pixel 10 시리즈에 배포됐다. - 검증과 드래프팅 사이의 의존성을 처리하도록 온디바이스 추론 스택도 함께 재설계했다. - AI 알림 요약과 Proofread 같은 실제 작업에서 추론 한 번당 평균 약 2개의 추가 토큰을 정확히 예측했다. - 수용되는 토큰이 많아지면서 전체 검증 횟수가 감소했다. - 무거운 프로세서를 깨우는 횟수도 줄어들어 응답 시간이 짧아지고 배터리 사용량이 감소했다. ## 실용적인 결론 이미 배포된 온디바이스 모델을 유지해야 하는 경우, 별도 드래프터를 추가하는 것보다 동결된 백본에 MTP 헤드를 붙이고 KV 캐시를 공유하는 방식이 효율적이다. 특히 메모리와 전력이 제한된 모바일 환경에서 모델 출력의 동일성을 유지하면서 속도와 배터리 효율을 함께 개선할 수 있는 현실적인 최적화 전략이다.

toss

얼굴 인식의 역사와 페이스페이의 미래 (새 탭에서 열림)

얼굴인식은 1960년대 수작업 특징점 분석에서 출발해, PCA 기반 Eigenface와 LBP 같은 전통적 컴퓨터 비전 기술을 거쳐 딥러닝 기반 생체인증으로 발전했습니다. 대규모 데이터셋과 FaceNet·ArcFace 등의 학습 기법으로 인식 정확도가 인간 수준을 넘어섰고, 이제는 결제 서비스에도 적용되고 있습니다. 얼굴결제의 핵심 과제는 빠른 인식뿐 아니라 개인정보 보호, 위조 방지, 결제 오류 대응까지 함께 해결하는 것입니다. ## 수작업에서 시작된 얼굴인식 - 1960년대 Woodrow Wilson Bledsoe는 사진만으로 사람을 식별하는 비밀 프로젝트를 수행했습니다. - 연구원들이 눈 사이 거리, 코와 입술 사이 거리, 귀의 위치 등 얼굴 특징점의 좌표를 직접 기록했습니다. - 컴퓨터는 계산만 담당하고, 특징을 찾고 입력하는 작업은 사람이 수행했습니다. - 이 연구는 얼굴을 수치화해 비교한다는 초기 개념을 제시했지만, 당시에는 기밀로 분류되었습니다. ## 기계가 얼굴 특징을 찾기 시작하다 - 1973년 Takeo Kanade는 컴퓨터가 이미지에서 눈·코·입의 위치를 자동으로 검출하는 시스템을 발표했습니다. - 얼굴 요소 간의 기하학적 관계를 여러 파라미터로 추출해 사람의 수작업을 줄였습니다. - 얼굴 이미지에서 컴퓨터가 스스로 의미 있는 정보를 추출할 수 있다는 가능성을 열었습니다. ## Eigenface와 저차원 얼굴 표현 - 1991년 Matthew Turk와 Alex Pentland는 PCA를 활용한 Eigenface 방법을 제안했습니다. - 여러 얼굴 이미지의 평균 얼굴을 만든 뒤, 각 얼굴이 평균에서 얼마나 벗어나는지 분석했습니다. - 얼굴을 여러 Eigenface의 조합과 가중치로 표현해 비교했습니다. - 두 얼굴의 조합 비율이 비슷하면 동일 인물일 가능성이 높다고 판단합니다. - 고차원 이미지 데이터를 비교적 작은 수의 수학적 요소로 압축했다는 점에서 중요한 전환점이었습니다. ## 조명 문제와 전통적 특징 추출 - 같은 사람도 조명, 그림자, 촬영 장소에 따라 매우 다르게 보이는 문제가 있었습니다. - 얼굴 전체를 비교하는 대신 작은 영역의 질감과 패턴을 분석하는 국소 특징 기반 방법이 발전했습니다. - LBP(Local Binary Pattern)는 각 픽셀을 주변 픽셀과 비교해 밝고 어두운 관계를 이진 코드로 표현합니다. - 절대적인 밝기보다 얼굴의 질감에 집중해 조명 변화에 상대적으로 강한 특징을 얻었습니다. - SVM은 특징 공간에서 사람을 구분하는 경계면을 찾았고, AdaBoost는 여러 약한 분류기를 결합해 성능을 높였습니다. - 다만 특징을 어떤 방식으로 추출할지는 여전히 사람이 설계해야 했습니다. ## 딥러닝이 정확도를 끌어올리다 - 2014년 Facebook의 DeepFace는 LFW 데이터셋에서 97.35%의 정확도를 기록해 인간 수준에 근접했습니다. - 심층 신경망이 대규모 얼굴 이미지에서 사람이 직접 설계하지 않은 특징을 학습했습니다. - Google FaceNet은 Triplet Loss를 사용해 LFW에서 99.63%의 정확도를 달성했습니다. - 이후 SphereFace, CosFace, ArcFace 등이 얼굴 특징을 더 잘 분리하는 학습 방식을 제안했습니다. - 연구의 초점은 얼굴인식의 가능성 검증에서 더 높은 정확도와 안정성 확보로 이동했습니다. ## 대규모 데이터셋의 역할 - 딥러닝 모델의 성능은 데이터의 양과 다양성, 품질에 크게 좌우됩니다. - FERET은 1,199명, 14,126장의 이미지로 구성되어 얼굴인식 알고리즘을 객관적으로 비교할 기반을 마련했습니다. - LFW는 인터넷에서 수집한 5,749명, 13,233장의 사진으로 조명·각도·표정이 다양한 실제 환경을 반영했습니다. - VGGFace는 2,600명, 약 270만 장의 이미지로 딥러닝 시대의 데이터 규모 확대를 보여주었습니다. - MS-Celeb-1M은 대규모 데이터 구축의 가능성을 보였지만 개인정보 보호 문제로 공식 배포가 중단되었습니다. - WebFace260M은 2억 6천만 장의 원본 이미지에서 노이즈를 정제해 약 200만 명, 4,200만 장 규모의 데이터셋을 구축했습니다. - 데이터 규모뿐 아니라 잘못된 라벨과 중복·노이즈를 제거하는 정제 과정도 중요합니다. ## 얼굴이 결제 수단이 되다 - 얼굴인식은 스마트폰 잠금 해제, 출입국 심사, 출입 통제 등을 넘어 결제 영역으로 확장되었습니다. - 결제는 단순 인증보다 높은 보안성과 낮은 오인식률이 필요합니다. - 토스 페이스페이는 2025년 9월 한국에서 얼굴 결제 서비스를 시작했습니다. - 결제 수단은 동전·지폐·카드·스마트폰을 거쳐, 아무것도 소지하지 않는 방향으로 발전하고 있습니다. - 얼굴은 항상 지니고 있고, 손을 자유롭게 사용할 수 있으며, 지갑이나 앱을 꺼내는 과정이 없어 빠릅니다. ## 페이스페이의 결제 처리 흐름 - 단말기 카메라가 사용자의 얼굴을 촬영하고 등록된 고객인지 식별합니다. - 등록된 수백만 명 중에서 사용자를 빠르게 검색해야 하며, 미등록 사용자나 유사 얼굴에 대해서는 결제를 거부하거나 추가 인증을 요구할 수 있습니다. - 식별된 사용자에게 등록된 신용카드·체크카드 등 결제 수단을 연결합니다. - 사용자가 결제 수단을 직접 선택하도록 구성할 수도 있습니다. - 이후 기존 카드 결제처럼 승인 요청과 결제 완료 절차가 진행됩니다. ## Edge와 Cloud를 결합한 시스템 설계 - 단말기에서 처리하면 네트워크 지연이 적고 원본 이미지가 외부로 전송되지 않아 프라이버시에 유리합니다. - 반면 단말기의 하드웨어 제약으로 모델 크기와 정확도에 한계가 있고, 모델 업데이트와 고객 정보 동기화가 어렵습니다. - 서버에서 처리하면 강력한 GPU와 최신 모델을 사용할 수 있으며, 중앙에서 모델과 로그를 관리하기 쉽습니다. - 대신 이미지 전송 지연과 서버 통신 보안 문제가 발생합니다. - 페이스페이는 단말기에서 초기 처리를 수행한 뒤 서버에서 얼굴 특징 추출·인식·결제를 진행하는 혼합 구조를 사용합니다. - 이를 통해 단말기 처리의 속도와 서버 처리의 정확성·관리 편의성을 함께 확보합니다. ## 다층적인 개인정보 보호와 보안 - 단말기와 서버 간 통신은 TLS로 암호화하고, 이미지 자체에도 AES-256 암호화를 적용합니다. - Matrix Projection 기반의 취소 가능한 생체인증을 사용해 동일한 얼굴도 키에 따라 다른 벡터로 변환합니다. - 생체 벡터가 유출되더라도 키를 변경해 새로운 벡터를 발급할 수 있어 비밀번호 변경과 유사한 대응이 가능합니다. - 저장된 특징 정보는 원본 얼굴 이미지와 직접 대응하지 않으며, 해당 정보만으로 얼굴을 복원하기 어렵게 설계됩니다. - 생체정보 접근 권한을 제한하고 모든 접근을 기록·관리합니다. - 개인정보보호위원회의 사전 적정성 검토와 부정 결제 전액 보상 제도 등 기술 외 제도적 보호장치도 함께 활용합니다. ## 실용적인 결론 얼굴결제는 편리함만으로 완성되는 기술이 아니라, 정확한 얼굴인식 모델과 대규모·정제 데이터, Edge-Cloud 분산 구조, 암호화와 취소 가능한 생체인증, 제도적 보상 체계가 함께 작동해야 합니다. 사용자는 편리성을 누리되, 등록·이용 전 개인정보 처리 방식과 부정 결제 보상 정책, 추가 인증 수단을 확인하는 것이 좋습니다.

discord

Discord 음성을 엣지로 이전한 방법 (새 탭에서 열림)

Discord는 음성·영상 트래픽을 기존 약 30개 클라우드 리전에서 Cloudflare의 300개 이상 엣지 PoP로 이전해 사용자와 가까운 서버를 제공하려 했다. 그 결과 전체 트래픽의 80% 이상이 Cloudflare에서 처리되고, 프랑크푸르트에서는 평균 핑이 34%, 패킷 손실이 42% 감소했다. 그러나 단순히 가까운 PoP를 추가하는 것만으로는 충분하지 않았으며, 통화 호스트 배치와 ISP 간 네트워크 경로·피어링 상태가 품질을 좌우했다. ## 클라우드 리전에서 엣지 네트워크로 - 기존 인프라는 주요 클라우드 사업자의 데이터센터가 있는 약 30개 도시 중심으로 구성됐다. - Reykjavik, Auckland, Lagos 등 일부 지역은 가까운 음성 서버가 없어 수백 km 떨어진 리전으로 트래픽이 우회했다. - Cloudflare는 300개 이상의 도시에서 소규모 PoP를 운영하므로 사용자와 더 가까운 위치에 Discord의 음성·영상 서버를 배치할 수 있었다. - CDN은 주로 정적 콘텐츠 캐싱에 사용되지만, Discord는 Cloudflare 네트워크에서 실시간 UDP 패킷을 처리하는 방식을 적용했다. - 이전보다 지리적 커버리지는 크게 넓어졌지만, 각 PoP에 Discord 소프트웨어를 배포하고 운영해야 하는 부담은 남았다. ## 아이슬란드: 가까운 서버가 항상 최선은 아니다 - 2025년 2월, Reykjavik PoP에 음성 서버를 배치해 첫 실험을 진행했다. - 아이슬란드 사용자끼리 통화할 때는: - 핑 9% 감소 - 패킷 손실 11% 감소 - 그러나 아이슬란드와 독일처럼 여러 지역의 사용자가 섞인 통화에서는: - 비아이슬란드 사용자 핑이 2.7배 증가 - 패킷 손실 9% 증가 - Discord는 하나의 SFU가 통화 전체를 호스팅하고, 모든 참가자가 통화가 끝날 때까지 해당 SFU에 연결되는 구조다. - 따라서 독일 사용자 3명과 아이슬란드 사용자 1명의 통화가 Reykjavik에 배정되면, 독일 사용자들의 패킷이 아이슬란드까지 갔다가 돌아와야 했다. - 이 경험을 통해 새로운 PoP를 추가하는 것보다, 통화가 실제로 지역적으로 유지되도록 호스트 배치 로직을 개선하는 것이 중요하다는 점을 확인했다. ## 로테르담: ISP 피어링이 병목이 되다 - 2025년 4월, 기존 로테르담 트래픽을 Cloudflare의 암스테르담 PoP로 이전했다. - 대부분의 ISP에서는 문제가 없었지만, 프랑스 ISP Orange 사용자에게 심각한 품질 저하가 발생했다. - 피크 시간대 Orange 사용자의 통화 지연은 1초를 넘었고, 음성 프리즈 비율은 30% 악화됐다. - 원인은 Cloudflare 자체가 아니라 Orange와 암스테르담 사이의 네트워크 경로였다. - Orange와 Cloudflare의 연결은 Telia의 중계망을 거쳤으며, 피크 시간대 Telia와 Orange 간 인계 구간이 이미 포화 상태였다. - Cloudflare로 트래픽을 더 많이 옮길수록 해당 구간의 혼잡이 심해지는 구조였다. ## 롤백과 피어링 중심의 배포 전략 - Discord는 약 10일 후 암스테르담 이전을 되돌리고, 기존 공급자의 용량으로 Orange 트래픽을 처리했다. - 이후 Cloudflare는 Orange와 직접 피어링을 협상했다. - Orange 트래픽에 더 짧은 경로를 제공하기 위해 파리와 런던 PoP에 SFU를 배치했다. - 이 사건 이후 지역 이전 여부를 단순한 서버 용량이 아니라 ISP별 피어링 여유 공간을 기준으로 판단했다. - 주요 ISP와 Cloudflare 사이의 경로가 포화되어 있으면 해당 지역의 마이그레이션을 보류하는 방식으로 배포 절차를 변경했다. ## 마이그레이션에서 얻은 교훈 - 가까운 PoP는 일반적으로 지연 시간을 줄이지만, 통화 참가자가 여러 지역에 분산되어 있으면 전체 품질을 악화시킬 수 있다. - 최적의 서버 위치는 사용자와의 물리적 거리만으로 결정되지 않는다. - SFU 호스트 배치, 참가자 분포, ISP 간 라우팅, 트랜짓 사업자의 용량을 함께 고려해야 한다. - 초기에는 대규모 지역을 빠르게 이전하려 했지만, 아이슬란드와 로테르담 사례 이후 지역별·단계별 rollout으로 전환했다. - 결과적으로 배포 속도는 느려졌지만, 피어링 분석과 점진적인 트래픽 전환을 통해 장애 위험을 줄일 수 있었다. 실무적으로는 엣지 서버를 늘리는 것보다 먼저 통화·세션의 호스트 배치 정책과 ISP별 네트워크 경로를 분석해야 한다. 특히 글로벌 실시간 서비스는 서버 위치, 사용자 분포, 피어링 용량을 함께 검증한 뒤 소규모 트래픽으로 단계적으로 이전하는 전략이 안전하다.

aws

AWS 주간 요약: Amazon RDS for SQL Server의 BYOM, Swift용 AWS IoT Device SDK 등 (2026년 6월 8일) | Amazon Web Services (새 탭에서 열림)

AWS 이번 주 주요 소식은 Swift 기반 IoT 개발의 본격화와 기업용 AWS 서비스의 안정성·보안·AI 기능 강화에 초점이 맞춰져 있다. AWS IoT Device SDK for Swift가 정식 출시되어 MQTT 5, Device Shadow, Jobs, 플릿 프로비저닝을 macOS·iOS·tvOS·Linux에서 사용할 수 있게 됐다. 또한 RDS for SQL Server의 기존 라이선스 재사용, Cognito 멀티 리전 복제, Bedrock의 OpenAI 모델 지원 등 기업 환경을 겨냥한 기능도 확대됐다. ### Swift 기반 IoT와 엣지 컴퓨팅의 확장 - AWS IoT Device SDK for Swift가 정식 출시됐다. - 다음 기능을 제공한다. - 프로덕션 수준의 MQTT 5 연결 - Device Shadow를 통한 디바이스 상태 동기화 - Jobs를 이용한 원격 작업 및 업데이트 - 플릿 프로비저닝을 통한 대규모 디바이스 등록 - macOS, iOS, tvOS, Linux에서 Swift로 IoT 애플리케이션을 개발할 수 있다. - 서버 측 Swift, IoT, 엣지 컴퓨팅의 결합이 확대되고 있으며, WendyOS처럼 NVIDIA Jetson과 Raspberry Pi에서 Swift 애플리케이션 배포를 지원하는 프로젝트도 등장하고 있다. ### Amazon RDS for SQL Server의 BYOM 지원 - 온프레미스에서 SQL Server 애플리케이션을 이전하는 고객은 기존 Microsoft SQL Server 라이선스를 Amazon RDS에서 재사용할 수 있다. - Microsoft Software Assurance가 포함된 라이선스는 Microsoft License Mobility 프로그램을 통해 적용할 수 있다. - Bring Your Own Media(BYOM)는 AWS License Manager와 통합된다. - 이를 통해 라이선스 사용량을 추적하고 규정 준수 상태를 관리할 수 있다. - 기존 라이선스 투자를 활용할 수 있어 SQL Server 마이그레이션 비용 절감에 도움이 된다. ### Amazon Cognito 멀티 리전 복제 - Cognito 사용자 풀의 사용자 및 머신 ID 데이터를 보조 리전에 거의 실시간으로 동기화할 수 있다. - 복제 대상에는 다음 항목이 포함된다. - 자격 증명 - 사용자 풀 구성 - 연동 및 페더레이션 설정 - 기본 리전에 장애가 발생해도 로그인 상태의 사용자는 재인증 없이 애플리케이션을 계속 이용할 수 있다. - 등록 사용자는 기존 자격 증명으로 보조 리전에서 로그인할 수 있다. - Essentials 또는 Plus 기능 티어에서 애드온으로 제공되며, 16개 리전에서 지원된다. ### Amazon Bedrock의 OpenAI 모델 및 개발 도구 지원 - GPT-5.5, GPT-5.4, Codex가 Amazon Bedrock에서 정식 제공된다. - GPT-5.5는 에이전트 기반 코딩, 데이터 분석, 다단계 자율 작업에 강점을 가진다. - Codex는 다음 환경에서 사용할 수 있다. - Codex App - Codex CLI - Visual Studio Code - JetBrains IDE - Xcode - AWS의 기존 보안, 거버넌스, 운영 관리 체계 안에서 OpenAI 모델을 사용할 수 있다. - 가격은 OpenAI의 직접 제공 가격과 동일하며, 사용량은 기존 AWS 약정에 포함된다. ### Bedrock 관측성·콘솔·보안 기능 개선 - OpenAI 및 Anthropic 호환 API용 `bedrock-mantle` 엔드포인트에 CloudWatch 지표가 추가됐다. - 계정, 프로젝트, 모델, 프로젝트-모델 단위로 다음 정보를 모니터링할 수 있다. - 추론 요청 수 - 입력·출력 토큰 수 - 클라이언트 오류 수 - 호환 API에 최적화된 Bedrock 콘솔이 새롭게 개편됐다. - 모델 카탈로그 - 모델 나란히 비교 - 프로젝트 기반 구성 - 미리 채워진 코드 예제가 포함된 프로젝트별 문서 - Bedrock AgentCore Identity는 기존 AWS Secrets Manager 시크릿 ARN을 직접 참조할 수 있게 됐다. - 고객은 자체 KMS 키, 태깅 전략, 자동 로테이션 등 시크릿 관리 정책을 유지할 수 있다. ### 에이전트와 워크플로 자동화 - AWS Step Functions에 Bedrock AgentCore 기반의 에이전트 추론 단계가 추가됐다. - 워크플로에서 여러 AI 에이전트를 병렬 또는 순차적으로 실행할 수 있다. - 사람의 승인 단계를 삽입할 수 있어 자동화와 통제를 함께 구현할 수 있다. - 각 에이전트의 판단 과정을 추적할 수 있어 감사와 디버깅에 유리하다. ### 컨테이너 및 Kubernetes 기능 업데이트 - Amazon EKS와 EKS Distro가 Kubernetes 1.36을 지원한다. - 주요 변경 사항은 다음과 같다. - User Namespaces 정식 지원 - Mutating Admission Policies - Pod 단위 리소스의 인플레이스 수직 확장 - 리소스 상태 보고 기능 - ECS Managed Instances는 AWS Trainium과 Inferentia를 지원한다. - Inferentia2, Trainium1, Trainium2 인스턴스를 용량 공급자로 구성할 수 있다. - ECS가 워크로드에 필요한 가속기 리소스를 자동으로 할당한다. ### 네트워크 연결·비용 분석·위치 서비스 - Amazon Quick은 VPC를 통해 사설 MCP 서버에 연결할 수 있다. - 내부 애플리케이션과 도구를 인터넷에 노출하지 않고 Amazon Quick에서 사용할 수 있다. - AWS Cost and Usage Report 2.0은 Athena와 Redshift 통합을 지원한다. - 선택한 쿼리 엔진에 맞는 형식으로 비용 데이터를 전달하고, 테이블 정의와 데이터 로딩 지침도 제공한다. - Amazon Location Service Routes API에는 대중교통 및 복합 이동 경로가 추가됐다. - Transit과 Intermodal 모드를 통해 대중교통, 도보, 자동차, 택시, 렌터카를 조합한 경로를 계획할 수 있다. - 해당 기능은 13개 리전에서 제공된다. ### 실용적인 시사점 - SQL Server를 AWS로 이전한다면 기존 라이선스와 Software Assurance를 활용할 수 있는지 확인하는 것이 좋다. - 글로벌 서비스의 인증 연속성이 중요하다면 Cognito 멀티 리전 복제를 검토할 만하다. - Bedrock을 도입하는 팀은 CloudWatch 토큰·오류 지표와 Secrets Manager 연동을 함께 구성해 비용과 보안을 관리하는 것이 바람직하다. - IoT 제품을 Swift 생태계로 개발하거나 Apple 기기와 엣지 하드웨어를 함께 운영하려는 경우 AWS IoT Device SDK for Swift가 유력한 선택지가 될 수 있다.

cloudflare

Flagship을 소개합니다: AI 시대를 위해 구축된 피처 플래그 (새 탭에서 열림)

Cloudflare가 발표한 'Flagship'은 AI가 코드를 직접 작성하고 배포하는 시대에 대응하기 위해 설계된 네이티브 피처 플래그(Feature Flag) 서비스입니다. 이 서비스는 배포와 출시를 분리함으로써 AI 에이전트가 안전하게 기능을 테스트하고 롤아웃할 수 있는 환경을 제공하며, Cloudflare의 에지(Edge) 인프라를 활용해 지연 시간 없는 성능을 보장합니다. 결과적으로 Flagship은 개발자와 AI가 속도와 안전성을 동시에 확보하며 프로덕션 환경에 기여할 수 있도록 돕는 핵심 인프라 역할을 합니다. ### AI 자율 코딩 시대의 안전장치 * AI 에이전트가 코드를 작성, 검토, 병합, 배포하는 자동화된 워크플로우에서 피처 플래그는 필수적인 '안전 그물' 역할을 수행합니다. * AI가 작성한 신규 코드를 플래그 뒤에 숨겨 배포한 뒤, 에이전트가 프로덕션 환경에서 직접 기능을 테스트하고 지표에 따라 노출 범위를 조절하거나 즉시 비활성화할 수 있습니다. * 이를 통해 인간의 개입을 줄이면서도 배포로 인한 장애의 영향 범위를 최소화(Blast Radius Control)할 수 있습니다. ### 기존 방식의 성능 및 관리 문제 * **하드코딩의 한계:** 코드 내에 플래그 로직을 직접 작성하면 초기에는 빠르지만, 플래그 개수가 늘어날수록 중앙 집중적인 가시성이 사라지고 감사 추적(Audit Trail)이 어려워집니다. * **외부 서비스 호출의 지연:** 외부 피처 플래그 서비스를 API로 호출할 경우, 에지에서 동작하는 애플리케이션의 응답 속도가 외부 네트워크 지연 시간에 종속되는 문제가 발생합니다. * **서버리스 환경의 제약:** 기존의 '로컬 평가' SDK는 메모리에 규칙을 상주시켜야 하지만, Cloudflare Workers와 같은 서버리스 환경은 프로세스가 짧게 유지되므로 매번 SDK를 초기화해야 하는 비효율이 있습니다. ### Flagship의 동작 원리 및 아키텍처 * **네이티브 인프라 활용:** 외부 데이터베이스 없이 Cloudflare의 Durable Objects와 KV(Key-Value)를 기반으로 구축되었습니다. * **데이터 동기화:** 플래그 설정 변경 시 Durable Object에 원자적으로 기록되며, 수 초 이내에 전 세계 Cloudflare 에지의 KV 스토리지로 복제됩니다. * **에지 로컬 평가:** 플래그 평가 로직이 사용자의 요청을 처리하는 동일한 에지 위치(Worker Isolate)에서 실행되므로 외부 네트워크 호출이 발생하지 않습니다. ### 구현 및 표준 준수 * **Worker 바인딩:** `wrangler.jsonc`에 설정을 추가하면 HTTP 라운드트립 없이 Workers 런타임 내부에서 직접 플래그 값을 읽어올 수 있습니다. * **OpenFeature 표준 지원:** CNCF의 오픈 표준인 OpenFeature를 준수하여 Node.js, Bun, Deno 및 브라우저 환경에서도 일관된 방식으로 사용할 수 있으며 벤더 종속성을 줄였습니다. * **타입 안정성:** Boolean, String, Number, Object 등 다양한 타입의 접근자를 제공하며, 평가 결과와 함께 선택 이유(Reason) 등의 상세 정보도 함께 확인할 수 있습니다. 현재 Flagship은 클로즈 베타로 제공되고 있으며, Cloudflare Workers 생태계를 사용하는 팀에게 네트워크 지연 없는 고성능 피처 플래그 솔루션으로서 강력한 선택지가 될 것으로 보입니다. 특히 AI 기반의 자동화된 배포 파이프라인을 구축하려는 조직이라면 Flagship의 에지 기반 평가 모델이 제공하는 속도와 안정성을 적극적으로 검토해 볼 가치가 있습니다.

cloudflare

진정으로 프로그래밍 가능한 S (새 탭에서 열림)

Cloudflare는 단순한 설정 변경을 넘어 실시간 로직 주입이 가능한 진정한 의미의 프로그래밍 가능한 SASE(Secure Access Service Edge) 플랫폼을 지향합니다. Cloudflare One과 개발자 플랫폼(Workers)이 동일한 네트워크 인프라 위에서 기본적으로 통합되어 있어, 사용자는 대기 시간 없이 보안 이벤트를 가로채고 외부 컨텍스트를 결합하여 맞춤형 보안 결정을 내릴 수 있습니다. 이는 정적인 보안 정책의 한계를 극복하고 각 기업의 고유한 요구사항에 맞춘 유연한 보안 아키텍처 구축을 가능하게 합니다. **진정한 프로그래밍 가능성의 의미** - 업계에서 흔히 말하는 API 제공이나 Terraform 지원 같은 '기초적인 프로그래밍 가능성'을 넘어, 실시간으로 보안 이벤트를 가로채고 외부 데이터를 보충하여 즉각적인 조치를 취하는 능력을 의미합니다. - 예를 들어, 특정 앱 접속 시 사용자의 규정 준수 교육 이수 여부를 외부 시스템(LMS)에서 즉시 확인하여, 미이수자에게는 접속 차단 대신 교육 포털로 리다이렉트하는 동적인 정책 결정이 가능합니다. **SASE와 개발자 플랫폼의 결합** - Cloudflare One(SASE)과 Workers(개발자 플랫폼)는 동일한 전 세계 330개 이상의 도시 인프라 및 동일한 서버 자원 위에서 실행됩니다. - 별도의 외부 클라우드에서 자동화를 실행할 필요가 없어 불필요한 네트워크 왕복 지연(Latency)이 발생하지 않으며, 보안 정책 내에서 밀리초 단위로 커스텀 로직을 수행할 수 있습니다. - 웹 보호, 사용자 보안, 프라이빗 네트워크 보안 모두가 동일한 개발 도구와 기본 요소를 공유하므로 아키텍처의 일관성을 보장합니다. **확장된 보안 액션과 워크플로우** - 기존 보안 게이트웨이의 제한적인 옵션(허용, 차단, 격리 등)에서 벗어나, 사용자 정의 로직을 실행할 수 있는 '커스텀 액션' 기능을 제공합니다. - 사용자 ID 클레임에 기반한 동적 헤더 삽입, 외부 리스크 엔진의 실시간 판독 결과 반영, 근무 시간 및 위치에 따른 정교한 접근 제어 등을 구현할 수 있습니다. - '관리형 액션(템플릿)'을 통해 ITSM 통합이나 규정 준수 자동화를 쉽게 설정하거나, '커스텀 액션'을 통해 Cloudflare Worker를 직접 호출하여 정교한 코드를 실행할 수 있습니다. **실제 활용 사례: 자동화된 세션 관리** - 특정 고객은 정해진 시간 동안 활동이 없는 기기의 세션을 강제로 종료해야 하는 보안 요건을 Cloudflare Workers를 통해 해결하고 있습니다. - 'Scheduled Worker'가 주기적으로 실행되어 기기 API(Devices API)를 쿼리하고, 비활성 임계값을 초과한 기기의 등록을 자동으로 취소하여 사용자가 ID 공급자를 통해 다시 인증하도록 강제합니다. - 이는 표준 기능으로 제공되지 않는 복잡한 보안 요구사항도 프로그래밍을 통해 즉시 해결할 수 있음을 보여줍니다. 보안 요구사항이 복잡해질수록 단순한 설정 중심의 솔루션은 한계에 부딪힙니다. Cloudflare One의 프로그래밍 가능성을 활용하여 기업 고유의 비즈니스 로직을 보안 스택에 직접 통합하면, 성능 저하 없이도 가장 강력하고 유연한 제로 트러스트 환경을 구축할 수 있습니다.

cloudflare

애자일 SASE를 통한 현대 (새 탭에서 열림)

현대 기업 네트워크 환경이 재택근무의 일상화와 AI 에이전트의 등장으로 경계가 없는 시대로 진입함에 따라, 기존의 파편화된 보안 솔루션과 레거시 VPN은 더 이상 유효하지 않은 기술 부채가 되었습니다. 클라우드플레어는 이러한 복잡성을 해결하고 비즈니스 성장을 가속화하기 위해 가볍고 유연한 '애자일 SASE(Agile SASE)' 플랫폼인 Cloudflare One을 제시합니다. 이는 네트워킹과 보안을 단일 글로벌 연결 클라우드로 통합하여 성능 저하 없이 실시간 대응력을 극대화하는 현대적 보안 아키텍처를 지향합니다. ## 기존 SASE의 한계와 애자일 SASE의 정의 * 과거의 보안 방식은 하드웨어 박스와 VPN 농축기에 의존하여 수천 개의 방화벽 규칙과 수동 패치 등 관리하기 어려운 기술 부채를 야기해 왔습니다. * 1세대 SASE 제공업체들은 단순히 기존의 파편화된 구조를 클라우드로 옮겨놓은 것에 불과하여, 데이터 센터 간의 운영 사일로(Silo) 문제를 해결하지 못했습니다. * 애자일 SASE는 전 세계 300개 이상의 도시에 구축된 글로벌 네트워크를 기반으로, 모든 보안 검사를 모든 서버에서 동시에 실행하는 구조를 가집니다. * 데이터가 여러 도구를 순차적으로 거치는 '서비스 체이닝(Service-chaining)' 방식에서 벗어나 '싱글 패스(Single-pass)' 아키텍처를 채택함으로써 보안 프로세스가 비즈니스의 병목이 아닌 추진력이 되도록 설계되었습니다. ## 프로그래밍 가능한 보안 및 통합 가시성 * Cloudflare One은 단순한 보안 솔루션을 넘어 개발자 플랫폼인 Cloudflare Workers와 결합되어 기업이 보안 이벤트를 실시간으로 가로채고 코드로 제어할 수 있는 구성 가능성(Composability)을 제공합니다. * 단순한 '허용/차단' 규칙을 넘어 정교한 자동화 운영이 가능하며, 이는 블랙박스 형태의 기존 레거시 벤더들과 차별화되는 지점입니다. * AI 기술을 역으로 활용해 대량의 보안 데이터에서 유의미한 신호를 추출하고, 사람이 읽을 수 있는 실시간 조치로 전환하는 'AI를 대항하는 AI' 전략을 사용합니다. * 신원 확인 체계 역시 단순 패스워드를 넘어 인간과 장치에 대한 포괄적인 검증 시스템으로 진화시키고 있습니다. ## SASE 전환을 위한 단계별 실행 전략 * **원격 접속 현대화:** 유지보수 비용이 높은 VPN을 대체하여 더 빠르고 안전한 클라이언트리스(Clientless) 제로 트러스트 접속 환경을 구축합니다. * **이메일 및 DNS 보호:** AI 기반 플랫폼으로 비즈니스 이메일 침해(BEC)를 차단하고, 세계에서 가장 빠른 1.1.1.1 리졸버를 활용해 악성 사이트 접속을 원천 차단합니다. * **안전한 AI 도입:** 기업 내에서 몰래 사용되는 섀도우 AI(Shadow AI)를 파악하고, 생성형 AI 프롬프트로 유입되는 민감 데이터를 관리하는 거버넌스를 수립합니다. * **지점 네트워크 단순화:** 무거운 하드웨어 장비 없이도 모든 사무실을 원격지처럼 취급하여 지점 네트워크 구성을 간소화합니다. 향후 10년의 인터넷 환경은 AI와 양자 수준의 리스크가 공존할 것이며, 느린 마이그레이션 일정은 비즈니스의 장애물이 될 것입니다. 클라우드플레어는 최대 50인까지 무료로 제공되는 Cloudflare One을 통해 기업들이 리스크 없이 제로 트러스트 현대화를 시작하고, 비즈니스 규모에 맞춘 유연한 보안 체계를 구축할 것을 권장합니다.

cloudflare

2026년 (새 탭에서 열림)

2026년 2월 20일, Cloudflare는 사용자 지정 IP(BYOIP) 서비스 관리 방식의 변경 과정에서 발생한 소프트웨어 오류로 인해 약 6시간 동안 서비스 장애를 겪었습니다. 이번 장애는 내부 자동화 시스템이 유효한 IP 접두사(Prefix)들을 실수로 인터넷 경로(BGP)에서 철회하면서 발생했으며, 이로 인해 일부 고객 서비스와 Cloudflare의 1.1.1.1 웹사이트 접속이 불가능해졌습니다. Cloudflare는 즉각적인 롤백과 수동 복구 작업을 통해 문제를 해결했으며, 향후 자동화 배포의 안전성을 강화하기 위한 체계적인 개선을 약속했습니다. ### Addressing API와 자동화 프로세스의 결함 * **Addressing API의 역할**: Cloudflare 네트워크에 존재하는 주소 데이터의 단일 진실 공급원(Source of Truth)으로, 여기서 발생한 변경 사항은 즉시 전 세계 에지(Edge) 네트워크로 전파됩니다. * **위험한 수동 작업의 자동화**: 기존에 수동으로 이루어지던 BYOIP 접두사 삭제 작업을 자동화하기 위해 '정기 정리 하위 태스크'를 도입했습니다. 이는 배포 규모를 작게 유지하고 안전성을 높이려는 'Code Orange: Fail Small' 프로젝트의 일환이었습니다. * **API 쿼리 버그**: 정리 태스크가 API를 호출할 때 `pending_delete` 매개변수를 처리하는 로직에 버그가 있었습니다. 삭제 대기 중인 객체만 불러와야 했으나, 코드상에서 매개변수의 존재 여부만 체크하는 오류로 인해 정상적인 접두사들까지 삭제 대상에 포함되는 결과를 초래했습니다. ### 고객 서비스 영향 및 BGP 경로 탐색 현상 * **IP 접두사 철회**: 전체 BYOIP 접두사 중 약 25%에 해당하는 1,100개의 접두사가 인터넷 광고에서 제외되었습니다. 이로 인해 해당 IP를 사용하는 서비스는 외부에서 접근할 수 없는 상태가 되었습니다. * **BGP 경로 탐색(Path Hunting)**: 접두사가 철회되자 사용자 연결은 목적지를 찾기 위해 여러 네트워크를 헤매는 '경로 탐색' 현상을 겪었으며, 결국 연결 타임아웃과 실패로 이어졌습니다. * **특정 서비스 오류**: Cloudflare의 재귀 DNS 리졸버 웹사이트(1.1.1.1) 접속 시 403 오류("Edge IP Restricted")가 발생했습니다. 다만, 실제 DNS 질의 서비스와 DoH(DNS over HTTPS)는 이번 장애의 영향을 받지 않았습니다. ### 복구 과정에서의 기술적 난관 * **단계적 복구**: 엔지니어들이 변경 사항을 감지하고 롤백을 시작하면서 약 800개의 접두사가 먼저 복구되었습니다. 일부 고객은 대시보드를 통해 직접 IP를 재광고함으로써 자가 복구를 수행하기도 했습니다. * **소프트웨어 버그로 인한 지연**: 나머지 300여 개의 접두사는 단순한 경로 철회를 넘어 에지 서버에서 서비스 구성 정보 자체가 삭제되는 추가적인 소프트웨어 버그가 발생했습니다. 이로 인해 대시보드 설정만으로는 복구가 불가능했습니다. * **수동 상태 전파**: 엔지니어들은 삭제된 설정 상태를 에지 서버에 다시 강제로 전파하는 수동 작업을 수행해야 했으며, 장애 발생 6시간 7분 만인 23:03 UTC에 모든 서비스가 정상화되었습니다. Cloudflare는 이번 사고를 계기로 모든 주소 관리 워크플로우에서 수동 개입을 완전히 배제하고, 자동화된 헬스 체크 기능을 강화할 계획입니다. BYOIP를 사용하는 기업 고객은 유사한 장애 발생 시 Cloudflare 대시보드를 통해 IP 광고 상태를 직접 제어함으로써 복구 시간을 단축할 수 있는 운영 매뉴얼을 숙지해 두는 것이 권장됩니다.