ð»ââïžãïŸïœ«ïŸïœ«ããäž»ïŒä»åºŠã¯çŸå®çãªè©±ãããã®ãããçæ³è«ã§ã¯ãªãããªãœãŒã¹ã®å¶çŽãããäžã§ã©ããã£ãŠè³¢ãAIããŒã«ã䜿ãåãããã®å®è·µè¡ããããïŒã
ð§žãããããŸã¡ãããAPIå¶éãšãæéã®ããšãèãããšã1ã€ã®ããŒã«ã ãããå¿é ãªã®ããã
ð»ââïžããã®éãããïŒãããæ£®ã®é£ã¹ç©ãäžè¶³ããæã®ããã«ãè€æ°ã®èª¿éã«ãŒãã確ä¿ããŠããã®ããããAIããŒã«ãåãã§ãè³¢ãåãæ¿ãæŠç¥ãå¿ èŠãªã®ããïŒïŸïœ«ïŸïœ«ã
ð¯ ããŒã«éžæã®çŸå®ïŒå¶çŽãçè§£ãã
ð åããŒã«ã®ãªãœãŒã¹å¶çŽäžèЧ
ð»ââïžããŸãã¯æµãç¥ãããšããå§ããã®ãããåããŒã«ã®éçãæ£ç¢ºã«ææ¡ããŠãããã
Claude Code ã®å¶çŽ â¡
- æé䜿çšéå¶é: ãã©ã³ã«ãã£ãŠç°ãªãïŒPro: é«é »åºŠå©çšå¯èœïŒ
- 1åã®ã³ã³ããã¹ãå¶é: çŽ200,000ããŒã¯ã³
- ç¶ç¶ã»ãã·ã§ã³: é·æéã®å¯Ÿè©±ã§ã¯èšæ¶ãèããå¯èœæ§
- ã³ã¹ã: åŸé課éãŸãã¯ãµãã¹ã¯ãªãã·ã§ã³
Gemini CLI ã®å¶çŽ ð
- Vertex AI ã¯ã©ãŒã¿: ãããžã§ã¯ãåäœã§ã®APIåŒã³åºãå¶é
- ç¡ææ : æéäžå®éãŸã§ç¡æå©çšå¯èœ
- ã¬ã¹ãã³ã¹é床: Claudeæ¯ã§ããé«é
- Google Cloudçµ±å: ãã€ãã£ããªé£æºã匷ã¿
ð§žãå¶çŽããããããããŸã䜿ãåããªããšãããªãã®ãã
ð»ââïžãããããïŒã ãããããç¶æ³ã«å¿ããŠãã¹ããªããŒã«ãéžã¶ãã¹ã€ããã³ã°æŠç¥ããéèŠãªã®ãããã
ð ã¹ããŒãã¹ã€ããã³ã°æŠç¥
ðª åºæ¬çãªäœ¿ãåãã«ãŒã«
ð»ââïžããããèãããå¹ççãªäœ¿ãåãã®åºæ¬ã«ãŒã«ãæããŠããããïŒã
ð¥ 第äžéžæïŒClaude Code
- 䜿çšå Žé¢: è€éãªåæã詳现ãªã³ãŒã解説ãé«åºŠãªæšè«ãå¿ èŠãªæ
- å€æåºæº: æé䜿çšéã«äœè£ããããé«å質ãªåçãå¿ èŠ
- å ·äœäŸ: Infrastructure-as-Code倿ãã»ãã¥ãªãã£ç£æ»ãçœå®³åŸ©æ§èšç»
ð¥ 第äºéžæïŒGemini CLI
- 䜿çšå Žé¢: åºæ¬çãªã³ãã³ãçæãç°¡åãªåæãGoogle Cloudç¹åã¿ã¹ã¯
- å€æåºæº: Claude䜿çšéãäžéè¿ããGoogle Cloudå ã§å®çµããã
- å ·äœäŸ: VMäœæã³ãã³ãããªãœãŒã¹äžèЧååŸãåºæ¬çãªãã©ãã«ã·ã¥ãŒãã£ã³ã°
ðš ç·æ¥æéžæïŒæåïŒããã¥ã¡ã³ã
- 䜿çšå Žé¢: äž¡æ¹ã®AIãå©çšã§ããªãæ
- æºå: ãã䜿ãã³ãã³ãã®ããŒãã·ãŒããäºåäœæ
ð® å®è·µçåãæ¿ããã¿ãŒã³
ãã¿ãŒã³1ïŒæåãã®é«åè³ªäœæ¥ ð
æåïŒäœ¿çšéãªã»ããåŸïŒ
â
Claude Code ã§è€éãªã¿ã¹ã¯éäžåŠç
- Infrastructure-as-Codeäœæ
- ã»ãã¥ãªãã£ç£æ»ã¬ããŒãäœæ
- å
æ¬çãªã¢ãŒããã¯ãã£åæãã¿ãŒã³2ïŒææ«ã®å¶éå¯Ÿå¿ â ïž
ææ«ïŒClaude䜿çšéãäžéè¿ãïŒ
â
Gemini CLI ã§ã«ãŒãã£ã³äœæ¥
- æ¥åžžçãªVMæäœ
- åºæ¬çãªãªãœãŒã¹ç¢ºèª
- ã·ã³ãã«ãªã³ãã³ãçæð§žããªãã»ã©ïŒäœ¿çšéãèŠãªããæŠç¥çã«åãæ¿ããã®ãã
ð ïž å®è·µäŸ1ïŒæåãã®é«å質åæïŒClaude Code掻çšïŒ
ã·ããªãªïŒå æ¬çãªã»ãã¥ãªãã£ç£æ»
ð»ââïžãæåãã§Claude䜿çšéã«äœè£ãããæã¯ãé«åºŠãªåæäœæ¥ããŸãšããŠãã£ãŠããŸãã®ããïŒã
Step 1: ããŒã¿åéïŒgcloud CLIïŒ
# å
šäœçãªã»ãã¥ãªãã£ç¶æ³ãåé
gcloud compute instances list --format=json > instances_security.json
gcloud compute firewall-rules list --format=json > firewall_audit.json
gcloud iam service-accounts list --format=json > service_accounts.json
gcloud projects get-iam-policy $PROJECT_ID --format=json > iam_bindings.json
gcloud storage buckets list --format=json > storage_buckets.jsonStep 2: Claude Code ãžã®é«åºŠãªåæäŸé Œ
ææ¬¡ã»ãã¥ãªãã£ç£æ»ã宿œããããšæããŸãã
以äžã®èгç¹ã§å
æ¬çãªåæãšã¬ããŒããäœæããŠãã ããïŒ
åæèгç¹ïŒ
1. é床ã«åºç¯å²ãªãã¡ã€ã¢ãŠã©ãŒã«ã«ãŒã«ïŒ0.0.0.0/0ïŒã®ç¹å®
2. éå°ãªæš©éãæã€ãµãŒãã¹ã¢ã«ãŠã³ãã®çºèŠ
3. ãããªãã¯ã¢ã¯ã»ã¹å¯èœãªã¹ãã¬ãŒãžãªãœãŒã¹ã®ç¢ºèª
4. ã»ãã¥ãªãã£ãã¹ããã©ã¯ãã£ã¹ããã®éžè±
åºå圢åŒïŒ
- ãšã°ãŒã¯ãã£ããµããªãŒ
- éèŠåºŠå¥ã®çºèŠäºé
äžèЧ
- å
·äœçãªä¿®æ£ã³ãã³ã
- åçºé²æ¢çã®ææ¡
[åJSONãã¡ã€ã«ã®å
å®¹ãæ·»ä»]Step 3: Claude ããã®é«å質ã¬ããŒãäŸ
# ææ¬¡ã»ãã¥ãªãã£ç£æ»ã¬ããŒã
## ãšã°ãŒã¯ãã£ããµããªãŒ
- ðŽ éèŠåºŠé«: 3ä»¶ïŒå³åº§ã®å¯Ÿå¿ãå¿
èŠïŒ
- ð¡ éèŠåºŠäž: 7ä»¶ïŒ1é±é以å
ã®å¯Ÿå¿æšå¥šïŒ
- ð¢ éèŠåºŠäœ: 2ä»¶ïŒæå
察å¿ã§å¯ïŒ
## éèŠåºŠé«ã®çºèŠäºé
### 1. é床ã«åºç¯å²ãªãã¡ã€ã¢ãŠã©ãŒã«ã«ãŒã«
**åé¡**: 'allow-web-global' ã«ãŒã«ã 0.0.0.0/0 ããã®æ¥ç¶ãèš±å¯
**ãªã¹ã¯**: å
šäžçããã®ç¡å¶éã¢ã¯ã»ã¹
**ä¿®æ£ã³ãã³ã**:
```bash
gcloud compute firewall-rules update allow-web-global \
--source-ranges="10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"2. éå°æš©éã®ãµãŒãã¹ã¢ã«ãŠã³ã
åé¡: ‘[email protected]‘ ã« Editor ããŒã«ãä»äž ä¿®æ£æ¡: æå°æš©éã®ååã«åŸããå¿ èŠæå°éã®ããŒã«ã«å€æŽ
gcloud projects remove-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:[email protected]" \
--role="roles/editor"
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:[email protected]" \
--role="roles/compute.instanceAdmin.v1"
ð§žãããã詳ããã¬ããŒããã§ããã®ãïŒã§ããããã£ãŠClaude䜿çšéãããªãæ¶è²»ãããã
ð»ââïžããã®éãããïŒã ããããæåãã®äœè£ãããæã«ãããããéèŠã§è€éãªäœæ¥ããŸãšããŠçä»ããã®ãè³¢ãæŠç¥ãªã®ãããïŒã
## â¡ å®è·µäŸ2ïŒææ«ã®å¹çéèŠïŒGemini CLI掻çšïŒ
### ã·ããªãªïŒæ¥åžžçãªVM管çäœæ¥
ð»ââïžãææ«ã§Claude䜿çšéãå¿é
ãªæã¯ãGemini CLIã§è»œå¿«ã«äœæ¥ããã®ããïŒã
**Step 1: Gemini CLI ã®ã»ããã¢ãã確èª**
```bash
# Gemini CLI ã䜿çšå¯èœã確èª
gcloud auth list
gcloud config get-value project
# Vertex AI API ãæå¹ã確èª
gcloud services list --enabled | grep aiplatformStep 2: Gemini ãžã®ç°¡æœãªäŸé Œ
# Gemini CLI ã§ã®å®è¡äŸïŒç°¡æœãªããã³ããïŒ
gemini generate "Create gcloud command to list all VMs with high CPU usage"Step 3: Gemini ããã®ã¬ã¹ãã³ã¹äŸ
# çæãããã³ãã³ãäŸ
gcloud compute instances list \
--filter="status=RUNNING" \
--format="table(name,zone,machineType,status)"
# CPU䜿çšçã®é«ãVMãç¹å®ããããã®ã¢ãã¿ãªã³ã°ã³ãã³ã
gcloud monitoring metrics list \
--filter="metric.type=compute.googleapis.com/instance/cpu/utilization"Step 4: ç¶ããŠå¿ èŠãªäœæ¥ãå¹ççã«
# Gemini ã«ã¹ã±ãŒã«ããŠã³ã³ãã³ããäŸé Œ
gemini generate "gcloud command to change VM machine type from n1-standard-4 to e2-medium"
# çæãããã³ãã³ã
gcloud compute instances stop VM_NAME --zone=ZONE
gcloud compute instances set-machine-type VM_NAME \
--machine-type=e2-medium \
--zone=ZONE
gcloud compute instances start VM_NAME --zone=ZONEð§žãGemini ã ãšçãããã³ããã§ããµã¯ãµã¯å¿ èŠãªã³ãã³ããäœããã®ãã
ð»ââïžãããããïŒè€éãªåæã¯å¿ èŠãªãããæ£ç¢ºãªã³ãã³ããæ¬²ããæã¯ Gemini ãå¹ççãªã®ãããã
ð å®è·µäŸ3ïŒãªãœãŒã¹ç£èŠãšèªååãæ¿ã
ã¹ããŒããªäœ¿çšé管ç
ð»ââïžãäžçŽè åãã®æãšããŠã䜿çšéãç£èŠããŠèªåã§åãæ¿ããä»çµã¿ãäœããã®ããïŒã
Step 1: 䜿çšç¶æ³ãã§ãã¯é¢æ°
#!/bin/bash
# ai_tool_selector.sh
check_claude_usage() {
# Claude API ã®äœ¿çšéããã§ãã¯ïŒæ¬äŒŒçãªå®è£
ïŒ
local usage=$(curl -s "https://api.anthropic.com/v1/usage" \
-H "Authorization: Bearer $CLAUDE_API_KEY" | \
jq '.usage_percentage')
echo $usage
}
check_gemini_quota() {
# Vertex AI ã®æ®ãã¯ã©ãŒã¿ããã§ãã¯
gcloud logging read "resource.type=vertex_ai_endpoint" \
--limit=1 --format="value(timestamp)" > /dev/null
echo $?
}
select_ai_tool() {
local claude_usage=$(check_claude_usage)
local gemini_available=$(check_gemini_quota)
if [ "$claude_usage" -lt 80 ]; then
echo "claude"
elif [ "$gemini_available" -eq 0 ]; then
echo "gemini"
else
echo "manual"
fi
}Step 2: çµ±äžã€ã³ã¿ãŒãã§ãŒã¹é¢æ°
ai_assist() {
local prompt="$1"
local tool=$(select_ai_tool)
case $tool in
"claude")
echo "ð€ Claude Code ã䜿çšããŸã"
# Claude API åŒã³åºãåŠç
call_claude_api "$prompt"
;;
"gemini")
echo "ð Gemini CLI ã䜿çšããŸã"
gemini generate "$prompt"
;;
"manual")
echo "â ïž AIå©çšå¶éã«éããŠããŸããæå察å¿ãå¿
èŠã§ã"
echo "ããã³ãã: $prompt"
;;
esac
}Step 3: å®éã®äœ¿çšäŸ
# çµ±äžã€ã³ã¿ãŒãã§ãŒã¹ã§AIæ¯æŽãåãã
ai_assist "Create secure VM with private IP only"
# åºåäŸïŒClaude䜿çšéãå°ãªãå ŽåïŒ
# ð€ Claude Code ã䜿çšããŸã
# 以äžãçæãããã»ãã¥ã¢ãªVMã³ãã³ãã§ãïŒ
# gcloud compute instances create secure-vm \
# --no-address \
# [email protected] \
# --scopes=logging-write...ð§žããããããã°ãã©ã®AIã䜿ããæ©ãŸãªããŠæžããïŒã
ð å®è·µäŸ4ïŒæéãªãœãŒã¹ç®¡çã«ã¬ã³ããŒ
æŠç¥çãªäœæ¥ã¹ã±ãžã¥ãŒãªã³ã°
ð»ââïžãæåŸã«ãæéãéããŠå¹ççã«AIãªãœãŒã¹ã䜿ãã¹ã±ãžã¥ãŒãªã³ã°è¡ãæããããïŒã
ðïž æéAI掻çšã«ã¬ã³ããŒäŸ
第1é±ïŒæåïŒ: Claude Codeéäžæ ð
- ææ: ã€ã³ãã©ã¢ãŒããã¯ãã£ã¬ãã¥ãŒ
- ç«æ: ã»ãã¥ãªãã£ç£æ»å®æœ
- æ°Žæ: Infrastructure-as-Codeå€æäœæ¥
- æšæ: çœå®³åŸ©æ§èšç»çå®
- éæ: ææ¬¡ã¬ããŒãäœæ
第2é±: ãã©ã³ã¹æŽ»çšæ âïž
- éèŠäœæ¥: Claude Code
- ã«ãŒãã£ã³äœæ¥: Gemini CLI
第3é±: Gemini CLIéç¹æ ð
- æ¥åžžçãªVM管ç: Gemini
- ãªãœãŒã¹ç£èŠ: Gemini
- åºæ¬çãªãã©ãã«ã·ã¥ãŒãã£ã³ã°: Gemini
第4é±: å¹çéèŠæ â¡
- ç·æ¥å¯Ÿå¿ã®ã¿: æ®ããªãœãŒã¹ã§å¯Ÿå¿
- èšç»çäœæ¥: ç¿æã«å éã
Step: 鱿¬¡ãªãœãŒã¹ãã§ãã¯
#!/bin/bash
# weekly_ai_resource_check.sh
echo "=== 鱿¬¡AIãªãœãŒã¹ç¢ºèª ==="
echo "Claude 䜿çšç¶æ³: $(check_claude_usage)%"
echo "Gemini ã¯ã©ãŒã¿æ®ã: $(check_gemini_quota)"
echo ""
# 䜿çšç¶æ³ã«åºã¥ãæšå¥šã¢ã¯ã·ã§ã³
claude_usage=$(check_claude_usage)
if [ "$claude_usage" -gt 90 ]; then
echo "ðŽ Claude 䜿çšéãäžéè¿ãã§ã"
echo " â Gemini CLI ãžã®åãæ¿ããæšå¥š"
elif [ "$claude_usage" -gt 70 ]; then
echo "ð¡ Claude 䜿çšéãå€ãã§ã"
echo " â éèŠãªã¿ã¹ã¯ã®ã¿Claudeã䜿çš"
else
echo "ð¢ Claude 䜿çšéã«äœè£ããããŸã"
echo " â é«åºŠãªåæäœæ¥ãå¯èœ"
fið§žãèšç»çã«ãªãœãŒã¹ã䜿ãã°ãææ«ã«AIã䜿ããªããŠå°ãããšããªããªãããïŒã
ð¯ ãŸãšãïŒè³¢ãåãæ¿ãæŠç¥ã®æ¥µæ
ð»ââïžãæåŸã«ã仿¥åŠãã ã¹ããŒãåãæ¿ãè¡ã®èŠç¹ããŸãšããããïŒã
ð æåã®5ã€ã®ãã€ã³ã
1. å¶çŽã峿¹ã«ãã ðª åããŒã«ã®å¶çŽãçè§£ãããããåæãšããæŠç¥ãç«ãŠã
2. çšéã«å¿ãã䜿ãåã ð¯
- é«å質ãå¿ èŠ â Claude Code
- å¹çéèŠ â Gemini CLI
- ç·æ¥æ â æå + ããŒãã·ãŒã
3. æéèšç»ã®éèŠæ§ ð ãªãœãŒã¹äœ¿çšéãäºæž¬ããéèŠäœæ¥ãæåãã«éäžããã
4. èªååã®æŽ»çš ð€ 䜿çšéç£èŠãšèªååãæ¿ãã§ãå€æã®æéãåæž
5. ãã©ãŒã«ããã¯æºå ð¡ïž AIã䜿ããªãæã®ããã®æå察å¿çãæºåããŠãã
ð ä»ããã§ããå®è·µã¢ã¯ã·ã§ã³
- çŸåšã®äœ¿çšé確èª: Claudeã»Gemini ã®æé䜿çšç¶æ³ããã§ãã¯
- åãæ¿ãã«ãŒã«èšå®: 䜿çšéã«å¿ããåãæ¿ãåºæºã決ãã
- ããŒãã·ãŒãäœæ: ãã䜿ãã³ãã³ãã®æåãªã¹ããæºå
- æéèšç»ç«æ¡: éèŠãªAI掻çšäœæ¥ãæåãã«ã¹ã±ãžã¥ãŒã«
- ç£èŠã¹ã¯ãªããèšå®: 宿çãªäœ¿çšéãã§ãã¯ãèªåå
ð§žãããã§å®å¿ããŠAIããŒã«ã䜿ãç¶ãããããïŒã
ð»ââïžããã®éãããïŒãªãœãŒã¹å¶çŽã¯æµã§ã¯ãªããè³¢ã䜿ãããªãããã®ã²ãŒã ã«ãŒã«ãªã®ãããããäž»ããã®åãæ¿ãè¡ããã¹ã¿ãŒããŠãæç¶å¯èœãªAI掻çšã©ã€ããéã£ãŠã»ããã®ããïŒïŸïœ«ïŸïœ«âšã
ç·æ¥æå¯Ÿå¿ããŒãã·ãŒã ð
# AI ã䜿ããªãæã®åºæ¬ã³ãã³ãé
# VM äœæ
gcloud compute instances create INSTANCE_NAME \
--machine-type=e2-medium \
--zone=us-central1-a
# VM äžèЧ
gcloud compute instances list
# ãã¡ã€ã¢ãŠã©ãŒã«ç¢ºèª
gcloud compute firewall-rules list
# ãããžã§ã¯ãåãæ¿ã
gcloud config set project PROJECT_ID
# èªèšŒç¢ºèª
gcloud auth listð»ââïžãå°ã£ãæã¯ãã®ããŒãã·ãŒããèŠãã®ãããïœïŒå ±ã«è³¢ãã¯ã©ãŠãéçšãå®çŸããŠãããããïŒð»ââïžã£ïŸïŸïœŒïœ¯ã
ð ãPRãAIã®åãæè³ã«æŽ»ããïŒææ°FXã·ã°ãã«é ä¿¡ãšã¯ïŒ
AIã®äºæž¬ç²ŸåºŠãé£èºçã«åäžããŠããä»ãªããFXã¯AIãšäººéå¿çãé¬ãåã£ãŠããŸããçžå Žäºæž¬ã®ææ°æ å ±ããã§ãã¯ããŠã¿ãŸãããïŒ
- ð¥ äžåºŠãã3,980åïœããã·ã°ãã«ãæ°žä¹ ååŸïŒ
- ð è²·ãåãäŸ¡æ Œã ããå®å¿ïŒè¿œå æéäžåãªã
- ð¯ æé¡ãããªãããè§£çŽã®å¿é ãŒãïŒ
ð é¢é£èšäºïŒææ°AIçŽã·ã°ãã«é ä¿¡ãµãŒãã¹å®å šæ¯èŒã¬ã€ã â€