Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4eecf91
docs(redis): Azure Cache for Redis → Managed Redis 마이그레이션 가이드 추가
hellices Aug 26, 2026
35c2c7b
docs(redis): GB 규모 실측으로 마이그레이션 가이드 전면 재작성
hellices Aug 26, 2026
c0c15c4
docs(redis): 용량 산정 절을 실측 지표로 교체하고 근거 없는 수치 제거
hellices Aug 26, 2026
21f0268
docs(redis): clusteringPolicy 절의 과장된 결론과 누락된 정책 수정
hellices Aug 26, 2026
03eac42
docs(redis): 정책×클라이언트 명령 호환성 실측으로 문서 주장 3건 정정
hellices Aug 27, 2026
cc6ed81
docs(redis): 1.1절을 마이그레이션 표에서 기능 비교표로 교체
hellices Aug 27, 2026
850860d
docs(redis): MS Learn 대조 — 오류 2건 수정, 공식 가이드 기준으로 재배치
hellices Aug 27, 2026
e556ce2
docs(redis): Option 1을 기본 정책으로 명시, 정책 변경 오류를 nodejs 문서까지 수정
hellices Aug 27, 2026
ce26a73
docs(redis): 마이그레이션 가이드를 핵심 문서 + 상세 3개로 분리
hellices Aug 27, 2026
db266a8
docs(redis): 상세 문서를 migration-guide/로 옮기고 레포 문서 스타일에 맞춤
hellices Aug 27, 2026
098dbd9
docs: 문서 규칙을 AGENTS.md로 모으고 루트 README 인덱스를 자동 생성으로 전환
hellices Aug 27, 2026
46f57bf
docs(redis): 리뷰 반영 — 샤드 수 조건 명시, 노드 IP 마스킹, 랩 스크립트 연결 보안
hellices Aug 27, 2026
19a5c11
docs(redis): 관리명령 실측에서 서버 거부와 클라이언트 사정을 구분
hellices Aug 27, 2026
13d61d2
docs(redis): 설명 방식을 서술형으로 재작성
hellices Aug 27, 2026
72322aa
docs(redis): 문체를 한다체로, 절 제목을 명사구로 통일
hellices Aug 28, 2026
5c0489e
docs(redis): 3절을 책의 리듬으로 — 예고 문장 뒤에 명명된 불릿
hellices Aug 28, 2026
179d37c
docs(redis): 3절 제목을 기술 서술로 — 요구 인용 프레이밍 제거
hellices Aug 28, 2026
2d896c0
docs(redis): 1절에서 면책 문장 제거 — 공식 방법론을 그대로 서술
hellices Aug 28, 2026
913fdc3
docs(redis): 절 제목을 문서가 아닌 주제로 돌리기
hellices Aug 28, 2026
68c43b5
docs(redis): 마이그레이션 문서 5종 한글 문체 다듬기
hellices Aug 28, 2026
1fae347
docs(redis): 절 번호 체계와 상호참조 라벨 정리
hellices Aug 29, 2026
279aa64
docs(redis): 문체 윤문 — 개수 예고 열거와 연결어미 뒤 쉼표 정리
hellices Aug 29, 2026
33ac478
docs: 볼드 리드-인 경계 규칙 신설(AGENTS.md 4.3)과 redis 5종 적용
hellices Aug 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: docs

on:
push:
branches: [main]
paths: ['**.md', 'scripts/**', '.github/workflows/docs.yml']
pull_request:
paths: ['**.md', 'scripts/**', '.github/workflows/docs.yml']

permissions:
contents: write

jobs:
# main에 머지되면 루트 README의 인덱스를 다시 만들어 자동 커밋한다.
# 문서를 추가한 사람이 README를 손으로 고칠 필요가 없다.
index:
if: github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: 인덱스 재생성
run: python3 scripts/gen_index.py

- name: 바뀌었으면 커밋
run: |
if git diff --quiet -- README.md; then
echo "README.md 인덱스가 최신입니다."
exit 0
fi
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add README.md
git commit -m "docs: README 인덱스 자동 갱신"
git push

# PR에서는 이번에 바뀐 문서만 본다. 과거 문서의 문제로 새 PR이 막히지 않게.
check:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

# 인덱스는 여기서 검사하지 않는다. 머지되면 index 잡이 알아서 갱신한다.
- name: 바뀐 문서 검사
run: |
base="origin/${{ github.base_ref }}"
git fetch --no-tags --depth=1 origin "${{ github.base_ref }}"
changed=$(git diff --name-only --diff-filter=ACMR "$base"...HEAD -- '*.md')
if [ -z "$changed" ]; then
echo "검사할 문서 변경이 없습니다."
exit 0
fi
echo "$changed"
# shellcheck disable=SC2086
python3 scripts/check_docs.py $changed
398 changes: 398 additions & 0 deletions AGENTS.md

Large diffs are not rendered by default.

28 changes: 28 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# CLAUDE.md

문서 작성 규칙은 **[AGENTS.md](AGENTS.md)** 한 곳에 있습니다. 이 저장소에서 문서를 만들거나 고치기 전에 먼저 읽으세요.

가장 자주 어기는 것만 다시 적으면 이렇습니다.

- **설명이 표를 데려옵니다** — 절을 표로 시작하지 않고, 그 표가 답하는 질문을 먼저 문장으로 놓음
- **왜 그런지는 표에 넣지 않음** — 표를 지웠을 때 결론이 같이 사라지면 논증을 칸 속에 숨긴 것
- **`이름 | 설명` 2열 표는 `**이름**: 설명 문장.` 불릿으로** — 조회용 매트릭스만 표로 남김
- 불릿 앞머리 볼드는 **이름 자리에만** — 문장 전체를 볼드로 감싸지 않음. 한 목록의 불릿이 전부 볼드면 볼드가 아무것도 가리키지 않음
- 문서 하나에 문체 하나 — 실습·런북은 합니다체, 리서치·비교·실측 가이드는 한다체
- 절 제목은 명사구로 (`용량 산정 — 두 번의 착시`, `용량 산정 — 두 번 속습니다` 아님). 의문형 제목은 예외
- 절 제목은 **주제를 가리킴** — 문서 자체를 가리키지 않음 (`이 문서가 측정하지 않은 것`, `…와 이 묶음의 대응` 아님)
- 문서 구성·읽는 순서는 번호 절 안이 아니라 **앞머리에 H2로**
- 공식 문서와의 관계는 사실로 적고 **면책 문장으로 쓰지 않음** (`대체하지 않는다`, `보조 자료다` 아님)
- 표 셀은 명사구로 끝냄 (`HA 복제본이 합산됨`, `HA 복제본이 합산됩니다` 아님)
- 루트 `README.md`의 문서 목록과 실습 랩 표는 **자동 생성**이므로 손으로 고치지 않음
- 절 번호는 문서마다 1부터, 다른 문서를 가리킬 때는 문서 이름을 함께
- 제목을 고치면 그 제목을 가리키는 링크도 같이 고침 — 다른 카테고리에서 들어오는 링크까지
- 측정값에는 규모·리전·날짜를 붙이고, 고객 규모로 잼
- 이 저장소는 **공개**이므로 자격 증명·고객 식별 정보 금지

문서를 올리기 전에 두 가지를 돌립니다.

```bash
python3 scripts/gen_index.py # 루트 README 인덱스 갱신
python3 scripts/check_docs.py --strict <경로> # 새로 쓴 문서는 경고까지 0건
```
94 changes: 52 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,50 @@

이 저장소는 한국 지역에서 발생하는 다양한 Azure 관련 기술 이슈와 솔루션을 체계적으로 정리하고 공유하기 위한 목적으로 만들어졌습니다. Microsoft CSA 팀이 고객 지원 과정에서 경험한 실제 사례와 베스트 프랙티스를 문서화하여, 팀원들 간의 지식 공유와 빠른 문제 해결을 돕습니다.

## 📚 문서 목록

아래 표는 저장소 구조에서 자동으로 생성됩니다. **문서를 추가할 때 이 표를 직접 고치지 마세요.**
생성 규칙과 갱신 방법은 [문서 작성 규칙](AGENTS.md)에 있습니다.

<!-- BEGIN:categories -->
| 카테고리 | 문서 | 들어가는 곳 |
|---|---:|---|
| [`aifoundry`](aifoundry/) | 3 | — |
| [`aisearch`](aisearch/) | 7 | [Azure AI Search Custom Web API를 활용한 외부 임베딩 모델 통합 벡터화 가이드](aisearch/custom_vectorization/02_custom_vectorization.md) |
| [`aisearch-v2`](aisearch-v2/) | 1 | [Azure AI Search 한국어 분석기(Analyzer) 비교 가이드](aisearch-v2/README.md) |
| [`aks`](aks/) | 14 | — |
| [`appgw`](appgw/) | 2 | — |
| [`architect`](architect/) | 1 | — |
| [`automation`](automation/) | 1 | — |
| [`azureblob`](azureblob/) | 1 | — |
| [`cosmosdb`](cosmosdb/) | 3 | — |
| [`develop`](develop/) | 1 | — |
| [`hdinsight`](hdinsight/) | 1 | — |
| [`loadtest`](loadtest/) | 1 | — |
| [`memory`](memory/) | 9 | [Agent Memory 가이드 모음](memory/README.md) |
| [`monitor`](monitor/) | 19 | [Azure SRE Agent 소개](monitor/azure-sre-agent.md) |
| [`mysql`](mysql/) | 2 | — |
| [`ptu_lb`](ptu_lb/) | 2 | [PTU LB Test Docs](ptu_lb/README.md) |
| [`redis`](redis/) | 7 | [Azure Cache for Redis → Azure Managed Redis 마이그레이션](redis/azure-cache-to-managed-redis-migration.md) |
<!-- END:categories -->

"들어가는 곳"은 그 카테고리의 `README.md`이거나, 같은 카테고리의 다른 문서를 여럿 링크하는 문서입니다.
`—`는 아직 낱개 문서만 있다는 뜻이므로, 각 디렉터리를 직접 열어 보세요.

## 🧪 실습 랩

문서만 읽는 가이드와 달리, 실제 Azure 리소스를 배포해 직접 돌려 보는 실습입니다. 각 랩은 자체 `azure.yaml`을 가지고 있어 `azd up` 한 번으로 환경이 만들어집니다.

<!-- BEGIN:labs -->
| 랩 | 무엇을 확인하나 |
|---|---|
| [Azure SRE Agent 이벤트 기반 장애 분석 실습](monitor/sre-agent-event-lab/README.md) | Azure Container Apps에 장애를 세 번 주입하고, Azure Monitor 경고를 받은 Azure SRE Agent가 실제로 조사·결론까지 도달하는지 확인합니다 |
<!-- END:labs -->

각 랩의 README가 사전 조건, 배포, 정리 절차를 안내합니다. **실습을 마치면 반드시 각 랩의 정리 절차를 따라 리소스를 삭제하세요.**

새 랩은 `azure.yaml`과 `README.md`를 갖춘 디렉터리를 만들면 위 표에 자동으로 들어갑니다.

## 🎯 활용 플랜

### 1. 지식 베이스로 활용
Expand All @@ -23,47 +67,16 @@
- 코드 예제와 함께 상세한 설명 제공
- 한국 고객 환경에 특화된 가이드 작성

## 🧪 실습 랩

문서만 읽는 가이드와 달리, 실제 Azure 리소스를 배포해 직접 돌려 보는 실습입니다. 각 랩은 자체 `azure.yaml`을 가지고 있어 `azd up` 한 번으로 환경이 만들어집니다.

| 랩 | 무엇을 확인하나 | 소요 시간 | 과금 |
|---|---|---|---|
| [Azure SRE Agent 이벤트 기반 장애 분석](monitor/sre-agent-event-lab/README.md) | 장애를 세 번 주입하고 Azure Monitor 경고를 받은 SRE Agent가 원인을 짚어내는지 | 배포 5분 + 시나리오당 30~40분 | 있음 (Container Apps, Log Analytics, Storage 등) |

각 랩의 README가 사전 조건, 배포, 정리 절차를 안내합니다. **실습을 마치면 반드시 각 랩의 정리 절차를 따라 리소스를 삭제하세요.**

새 랩을 추가할 때는 `azure.yaml`과 README를 갖춘 디렉터리를 만들고 위 표에 행을 추가합니다.

## 📝 기여 방법

### 새로운 가이드 추가하기

1. 적절한 카테고리 폴더 선택 (aks, automation, cosmosdb, mysql, develop, architect)
2. 필요시 하위 폴더 생성 (예: `nodejs/`, `python/` 등)
3. Markdown 파일 작성 시 다음 항목 포함 권장:
- 문제 상황 설명
- 원인 분석
- 해결 방법 (코드 예제 포함)
- 참고 링크

### 가이드 작성 예시 구조
문서를 어디에 두고, 제목·문체·표·링크를 어떻게 쓰는지는 **[AGENTS.md](AGENTS.md)** 한 곳에 정리돼 있습니다.
사람이 쓸 때도 AI 에이전트에게 시킬 때도 같은 파일을 봅니다.

```markdown
# [제목]: 문제 및 해결 방법 간략 설명
새 문서를 올리기 전에 다음 두 가지만 확인하세요.

## 문제 상황
실제 발생한 이슈에 대한 설명

## 원인 분석
문제의 근본 원인 파악

## 해결 방법
상세한 해결 단계 및 코드 예제

## 참고 링크
- 관련 Microsoft Learn 문서
- Kubernetes/Azure 공식 문서
```bash
python3 scripts/gen_index.py # README 인덱스 갱신
python3 scripts/check_docs.py # 링크·앵커·표·문체 검사
```

## 🎓 대상 독자
Expand All @@ -76,10 +89,7 @@
## 🔗 관련 리소스

- [Microsoft Learn](https://learn.microsoft.com/ko-kr/)
- [Azure Documentation](https://docs.microsoft.com/ko-kr/azure/)
- [Azure Documentation](https://learn.microsoft.com/ko-kr/azure/)
- [Azure Architecture Center](https://learn.microsoft.com/ko-kr/azure/architecture/)
이 저장소의 내용은 Microsoft CSA 팀 내부 지식 공유를 목적으로 합니다.

---

**Last Updated**: 2025-11-17
이 저장소의 내용은 Microsoft CSA 팀 내부 지식 공유를 목적으로 합니다.
4 changes: 2 additions & 2 deletions aisearch/custom_vectorization/01_custom_embedding_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ AI Search의 [Push API](https://learn.microsoft.com/en-us/azure/search/search-wh

#### 아키텍처 비교

![Indexer vs Push API](indexer_vs_pushapi.png)
![Indexer vs Push API](images/indexer_vs_pushapi.png)

#### Push API 성능이 높은 이유

Expand Down Expand Up @@ -268,7 +268,7 @@ TEI / vLLM (추론 서버)
(어댑터 필요: 쿼리 시점)
```

> 어댑터 구현 예시: [tei-adapter](tei-adapter/) 디렉토리 참고
> 어댑터 구현 예시: [tei-adapter](tei-adapter/) 디렉터리 참고

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -279,8 +279,8 @@ Alibaba Qwen 팀에서 개발한 경량 임베딩 모델. Instruction-tuned 방

#### "S펜 지원 플래그십 모델" (키워드) + "S펜을 지원하는 삼성 최상위 플래그십 스마트폰" (벡터)

| 순위 | BGE-M3 | Qwen3 | 문서 |
|------|--------|-------|------|
| 순위 | BGE-M3 | Qwen3 |
|------|--------|-------|
| 1 | S24 FE ❌ | **S25 Ultra** ✅ |
| 2 | S25 | S25 |
| 3 | S25 Ultra | S24 FE |
Expand Down
2 changes: 1 addition & 1 deletion aks/argocd_image_updater.md
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ level=warning msg="skipping app 'argocd/test-app' of type 'Directory' because it

**원인**: ArgoCD Application의 소스가 plain directory.

**해결**: 소스 디렉토리에 `kustomization.yaml`을 추가하여 Kustomize 소스로 전환.
**해결**: 소스 디렉터리에 `kustomization.yaml`을 추가하여 Kustomize 소스로 전환.

```yaml
# kustomization.yaml
Expand Down
4 changes: 2 additions & 2 deletions memory/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# memory
# Agent Memory 가이드 모음

에이전트 메모리 관련 가이드 모음.
Azure 위에서 에이전트 메모리를 설계·운영하기 위한 리서치와 가이드다.

## 구성

Expand Down
Loading
Loading