external-urls について
External URLs は、Hypera のマルチクラスター GitOps インフラを扱うチーム向けのリファレンススキルです。環境別にサービス、クラスター API、リポジトリ、SMTP のエンドポイントを整理し、ヘルスチェックコマンドとトラブルシューティングも掲載しています。
主な機能
- 01環境別のサービス URL 検索
- 02クラスター API エンドポイントの参照
- 03Git・Helm リポジトリ URL の一覧
- 04URL とクラスター接続の確認
- 05DNS・証明書の問題の調査
活用シーン
- 01環境ごとのサービスエンドポイントの特定
- 02VPN が必要なクラスター接続の確認
- 03アプリケーション URL の状態確認
- 04DNS や証明書の問題の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill external-urlsインストール後、Claude Code で/external-urlsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/urls-detail.mdscripts/check-urls.shlist-urls.sh詳細
外部 URL スキル
Hypera のマルチクラスター GitOps インフラストラクチャで使用するすべての外部 URL とエンドポイントのクイックリファレンスです。
URL のクイック検索
環境別アプリケーション URL
ハブ(共有サービス)
| サービス | URL | 用途 |
|---|---|---|
| ArgoCD | https://argocd.cafehyna.com.br | GitOps UI と API |
| Sentry | https://sentry-hub.cafehyna.hypera.com.br | エラー追跡 |
| SonarQube | https://sonarqube-hub.cafehyna.com.br | コード品質 |
| phpMyAdmin | https://dba.cafehyna.com.br | MySQL 管理 |
| Adminer | https://dba2.cafehyna.com.br | マルチ DB 管理 |
| Mimir | https://mimir-hub.cafehyna.com.br | メトリクスストレージ |
開発
| サービス | URL | 用途 |
|---|---|---|
| Sentry | https://sentry.adocyl.com.br | エラー追跡 |
| SonarQube | https://sonarqube.hypera.com.br | コード品質 |
| Grafana OnCall | https://oncall-dev.cafehyna.com | オンコール管理 |
| phpMyAdmin | https://dev-dba.cafehyna.com.br | MySQL 管理 |
| RabbitMQ | https://rabbitmq-painelclientes-dev.cafehyna.com.br | メッセージキュー |
本番
| サービス | URL | 用途 |
|---|---|---|
| Sentry | https://sentry.cafehyna.hypera.com.br | エラー追跡 |
クラスター API エンドポイント
すべてのクラスターで Azure Private Link を使用します(VPN が必要です)。
| クラスター | API サーバー | リージョン |
|---|---|---|
| cafehyna-hub | https://aks-cafehyna-default-b2ie56p8.5bbf1042-d320-432c-bd11-cea99f009c29.privatelink.eastus.azmk8s.io:443 | East US |
| cafehyna-dev | https://aks-cafehyna-dev-hlg-q3oga63c.30041054-9b14-4852-9bd5-114d2fac4590.privatelink.eastus.azmk8s.io:443 | East US |
| cafehyna-prd | https://aks-cafehyna-prd-hsr83z2k.c7d864af-cbd7-481b-866b-8559e0d1c1ea.privatelink.eastus.azmk8s.io:443 | East US |
| painelclientes-dev | https://akspainelclientedev-dns-vjs3nd48.hcp.eastus2.azmk8s.io:443 | East US 2 |
| painelclientes-prd | https://akspainelclientesprd-dns-kezy4skd.hcp.eastus2.azmk8s.io:443 | East US 2 |
| loyalty-dev | https://loyaltyaks-qas-dns-d330cafe.hcp.eastus.azmk8s.io:443 | East US |
リポジトリ URL
Git リポジトリ(Azure DevOps)
| リポジトリ | URL |
|---|---|
| infra-team | https://[email protected]/hypera/Cafehyna%20-%20Desenvolvimento%20Web/_git/infra-team |
| argo-cd-helm-values | https://[email protected]/hypera/Cafehyna%20-%20Desenvolvimento%20Web/_git/argo-cd-helm-values |
| kubernetes-configuration | https://[email protected]/hypera/Cafehyna%20-%20Desenvolvimento%20Web/_git/kubernetes-configuration |
Helm リポジトリ
| リポジトリ | URL | チャート |
|---|---|---|
| ingress-nginx | https://kubernetes.github.io/ingress-nginx | ingress-nginx |
| jetstack | https://charts.jetstack.io | cert-manager |
| bitnami | https://charts.bitnami.com/bitnami | external-dns, phpmyadmin, rabbitmq |
| prometheus-community | https://prometheus-community.github.io/helm-charts | kube-prometheus-stack |
| robusta | https://robusta-charts.storage.googleapis.com | robusta |
| cetic | https://cetic.github.io/helm-charts | adminer |
| defectdojo | https://raw.githubusercontent.com/DefectDojo/django-DefectDojo/helm-charts | defectdojo |
ドメインリファレンス
| ドメイン | 用途 | 環境 |
|---|---|---|
*.cafehyna.com.br | 主要アプリケーション | すべて |
*.cafehyna.hypera.com.br | Hypera ブランドのサービス | ハブ/本番 |
*.adocyl.com.br | 開発サービス | 開発 |
*.hypera.com.br | 企業サービス | すべて |
証明書と DNS
- 証明書発行者: Let's Encrypt
- DNS プロバイダー: Cloudflare
- ClusterIssuers:
letsencrypt-prod、letsencrypt-staging - 連絡先:
[email protected]
SMTP サービス
| サービス | ホスト | 環境 |
|---|---|---|
| Office 365 | smtp.office365.com | ハブ |
| SendGrid | smtp.sendgrid.net | 本番 |
クイックコマンド
アプリケーション URL の健全性を確認
# Check ArgoCD
curl -sI https://argocd.cafehyna.com.br | head -1
# Check all hub services
for url in argocd.cafehyna.com.br sentry-hub.cafehyna.hypera.com.br sonarqube-hub.cafehyna.com.br dba.cafehyna.com.br; do
echo -n "$url: "; curl -sI "https://$url" -o /dev/null -w "%{http_code}\n" --connect-timeout 5 2>/dev/null || echo "FAILED"
done
クラスターの接続性を確認する
# Test cluster API (requires VPN)
curl -sk https://aks-cafehyna-default-b2ie56p8.5bbf1042-d320-432c-bd11-cea99f009c29.privatelink.eastus.azmk8s.io:443/healthz
# Using kubectl
kubectl --kubeconfig ~/.kube/aks-rg-hypera-cafehyna-hub-config cluster-info
Helm リポジトリを確認する
# Add and update
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update ingress-nginx
# Search charts
helm search repo ingress-nginx
設定ファイルの場所
URL は以下の設定ファイルで定義されています。
| カテゴリ | パスのパターン |
|---|---|
| アプリケーションの Ingress | argo-cd-helm-values/kube-addons/<service>/<cluster>/values.yaml |
| クラスターのエンドポイント | infra-team/argocd-clusters/<cluster>.yaml |
| Git リポジトリ | infra-team/argocd-repos/base/git-repositories/*.yaml |
| Helm リポジトリ | infra-team/argocd-repos/base/helm-repositories/*.yaml |
トラブルシューティング
| 問題 | 解決方法 |
|---|---|
| アプリケーション URL に到達できない | ingress-nginx ポッドを確認し、Cloudflare の DNS を確認します |
| クラスター API がタイムアウトする | VPN 接続を確認し、Azure AKS の状態を確認します |
| 証明書エラー | cert-manager の ClusterIssuer を確認し、Let's Encrypt のレート制限を確認します |
| DNS が解決されない | external-dns のログを確認し、Cloudflare API トークンを確認します |
スクリプト
scripts/check-urls.sh- すべてのアプリケーション URL のヘルスチェックscripts/list-urls.sh- 環境またはカテゴリ別に URL を一覧表示
詳細リファレンス
URL の全一覧とソースファイルの場所については、以下を参照してください。
- references/urls-detail.md - URL の完全なリファレンス
- docs/external-urls-reference.md - ドキュメント全文
注意事項
- Private Link API エンドポイントには kubeconfig だけでなく VPN が必要です: すべての
privatelink.eastus.azmk8s.ioURL は、社内ネットワーク内でのみ解決されます。VPN が切断されると、kubectlは明確な DNS エラーを返さずに 30 秒間ハングした後、タイムアウトします。 cafehyna.com.brとcafehyna.hypera.com.brは異なるゾーンです: 誤ったゾーンに追加されたレコードは正常に伝播し、ブラウザーでも正常に解決されますが、ACME バリデーターがゾーンの頂点にある NS レコードを照会するため、cert-manager の DNS-01 チャレンジは失敗します。レコードを追加する前に、dig NS <domain>でゾーンを確認してください。adocyl.com.brは開発専用ドメインです。ハブでは再利用しないでください: 環境をまたいでホスト名を再利用すると、Let's Encrypt のステージング用と本番用の issuer のスコープが崩れます。また、SonarQube と Sentry のセッション Cookie を同じ頂点ドメインで共有すると、環境間で漏えいします。- Azure DevOps の Git URL ではプロジェクト名を URL エンコードする必要があります:
Cafehyna%20-%20Desenvolvimento%20Webのエンコードは維持する必要があります。スペースをそのまま使うと、git cloneが判読しにくい 404 エラーで失敗します。Azure DevOps の UI ではこの点が分かりにくいため、SSH タブからコピーするか、エンコードされた形式を使用してください。 smtp.office365.comでは 2022 年 10 月以降、モダン認証(OAuth2)が必要です: ポート 587 での基本認証はテナント全体で無効になっています。ユーザー名とパスワードを設定したままのアプリは、535 5.7.139を返してもエラーが表示されずに失敗します。SendGrid、または MFA をバイパスしたアプリパスワードを使用してください。- East US と East US 2 のクラスターが混在すると、リージョン間のポッド通信に問題が発生します: painelclientes(EUS2)クラスターと cafehyna(EUS)クラスターは、明示的な VNet ピアリングがないとプライベート DNS ゾーンを共有できません。Ingress のホスト名は解決されても、ポッド間通信は失敗します。接続性を前提とする前に、リージョン列を確認してください。
コメント
Markdown 対応