New Relic SLM ハンズオンプロジェクト カリキュラム概要 - ハンズオンシナリオ、アプリケーションアーキテクチャ、New Relic監視統合の全体像

GitHub Codespacesの起動

※起動に時間がかかるため、先に実施します

Codespacesの起動には数分かかります

起動を開始したら、次の座学セクションに進んでください。Codespacesの準備が完了する頃には座学が終わっています。

開発環境の選択肢

  • GitHub Codespaces(推奨): ブラウザ上で完結する開発環境
  • ローカル環境: Docker Desktop導入済みの場合

手順: GitHub Codespacesで起動

  1. GitHubリポジトリ にアクセス
  2. 緑色の「Code」ボタンをクリック
  3. 「Codespaces」タブを選択
  4. 「Create codespace on main」をクリック
  5. 起動が始まったら、次の座学セクションに進んでください

起動完了の確認

VS Codeのような画面がブラウザ上に表示され、ターミナルが使えるようになれば準備完了です。

← 目次へ戻る 次へ: 座学(起動中に進めます) →

座学: Service Level Management基礎

推奨時間: 20分

NRUG-SRE マスコットキャラクター

AI時代におけるService Level Management

プロダクトオーナー、PM、SRE、開発者のための

実践的SLI/SLO設計ガイド

1 / 16
← 前へ: Codespacesの起動 次へ: 環境セットアップ →

環境セットアップ

推奨時間: 30分

SLMハンズオンアーキテクチャ図 - フロントエンド(Next.js)、バックエンドAPI(Go)、負荷生成(Playwright)、New Relic Service Level Management

1. New Relic設定

手順1: APM用 License Keyの作成

  1. New Relic にログイン
  2. 左下のユーザーアイコン → 「API Keys」をクリック
  3. 「Create a key」ボタンをクリック
  4. 「Key type」で Ingest - License を選択
  5. 「Create a key」ボタンをクリックしてキーを作成
  6. 表示されたAPI Keyの「Copy key」をクリックしてコピー

⚠️ 重要: この画面を閉じるとキーを再表示できません

作成したキーは必ずこの時点でコピーしてください。画面を閉じた後は再度表示することができません。閉じてしまった場合は、再度キーを作成してください。

手順2: RUM用設定(Browser Key、Account ID、Application ID)の取得

  1. New Relic UI → 左メニューから「Browser」を選択
  2. 「Add your first browser app」をクリック
  3. 「Browser monitoring」→「Place a JavaScript snippet in frontend code」を選択
  4. アプリ名を入力(例:slm-handson-frontend)して「Save and continue」
  5. 「Configure the browser agent」では、そのまま「Save and continue」
  6. 生成されたJavaScriptスニペットから以下の値を抽出

スニペットから抽出する値

// スニペット内の NREUM.loader_config から抽出
NREUM.loader_config={
  accountID:"9999999",        // ← NEXT_PUBLIC_NEW_RELIC_ACCOUNT_ID
  applicationID:"111111111",  // ← NEXT_PUBLIC_NEW_RELIC_APPLICATION_ID
  licenseKey:"NRBR-*****"     // ← NEXT_PUBLIC_NEW_RELIC_BROWSER_KEY
}

手順3: .envファイルへの設定

プロジェクトルートに.envファイルを作成し、取得した値を設定:

# .envファイルを作成
cp .env.example .env

# エディタで.envファイルを開き、以下を設定

# APM用(手順1で取得)
NEW_RELIC_API_KEY=your-license-key-here

# RUM用(手順2で取得)
NEXT_PUBLIC_NEW_RELIC_BROWSER_KEY=NRBR-xxxxx
NEXT_PUBLIC_NEW_RELIC_ACCOUNT_ID=9999999
NEXT_PUBLIC_NEW_RELIC_APPLICATION_ID=111111111

⚠️ 注意

License Keyは秘密情報です。Gitにコミットしないよう注意してください(.gitignoreに.envが登録済み)

💡 RUM設定が必要な理由

RUM(Real User Monitoring)を有効にすることで、フロントエンドのページビュー、Ajax、エラー、Core Web Vitalsを計測し、APMと統合したエンドツーエンドの監視が可能になります。

2. アプリケーションの起動

Docker Composeでアプリケーション全体を起動します。

起動コマンド

docker compose up -d --build

💡 コマンドの説明

  • up -d: バックグラウンドでコンテナ起動
  • --build: イメージを再ビルドしてから起動

起動確認

# コンテナの起動状態を確認
docker compose ps

全てのコンテナが「Up」状態になっていることを確認してください。

3. デモECサイトへのアクセス

GitHub Codespacesの場合

VS Codeの下部にある「PORTS」タブからアクセスします。

  1. VS Code下部の「PORTS」タブをクリック
  2. ポート 3000(フロントエンド)または 8080(API)の行を確認
  3. 「Forwarded Address」列の地球儀アイコン(🌐)をクリック
  4. ブラウザの新しいタブでアプリケーションが開きます

ローカル環境の場合

フロントエンド

http://localhost:3000

Next.js製のECサイト画面

バックエンドAPI

http://localhost:8080/api/docs

Go API + Swagger UI

デモECサイトの操作フロー

  1. TOPページ: 商品一覧を表示
  2. 商品詳細ページ: 気になる商品をクリック
  3. カート追加: 「カートに追加」ボタンをクリック(数量を選択)
  4. カートページ: ヘッダーのカートアイコンから確認
  5. 決済ページ: 「レジに進む」ボタンをクリック
  6. 注文確定: 「注文を確定する」ボタンをクリック

✅ 動作確認のポイント

複数回操作することで、New Relicに十分なデータが蓄積されます。いろいろな商品を閲覧・カート追加してみましょう!

4. New RelicでAPM/RUMデータを確認

アプリケーションを操作した後、New Relicでデータを確認します。

APM(Application Performance Monitoring)の確認

  1. New Relic にアクセス
  2. 左メニューから「APM & Services」を選択
  3. 「slm-handson-api」(バックエンドアプリケーション)をクリック
  4. 確認ポイント:
    • トランザクション: APIエンドポイントごとのレスポンスタイム
    • エラー: エラー発生率と詳細
    • スループット: 単位時間あたりのリクエスト数
    • データベース: データベースクエリのパフォーマンス(該当する場合)

RUM(Real User Monitoring / Browser)の確認

  1. 左メニューから「Browser」を選択
  2. 「slm-handson-frontend」(フロントエンドアプリケーション)をクリック
  3. 確認ポイント:
    • Page views: ページごとのアクセス数とロード時間
    • Ajax: APIリクエストのレスポンスタイムと成功/失敗
    • JavaScript errors: フロントエンドで発生したエラー
    • Core Web Vitals: LCP、FID、CLSなどのUX指標
    • Session traces: ユーザーのページ遷移とアクション履歴

💡 Distributed Tracingで連携確認

「Distributed tracing」メニューから、フロントエンド(Browser)→ バックエンド(API)の完全なリクエストフローを可視化できます。

⏱️ データ反映までの時間

New Relicへのデータ送信には数分かかる場合があります。データが表示されない場合は、少し待ってからリロードしてください。

5. トラブルシューティング

エラーが発生した場合は、以下のコマンドでログを確認してください。

コンテナログの確認

各サービスのログを確認することで、エラーの原因を特定できます。

APIサーバーのログ確認

# APIサーバーのログを表示
docker compose logs api-server

# リアルタイムでログを追跡
docker compose logs -f api-server

# 最新100行のログを表示
docker compose logs --tail 100 api-server

フロントエンドのログ確認

# フロントエンドのログを表示
docker compose logs frontend

# リアルタイムでログを追跡
docker compose logs -f frontend

全サービスのログ確認

# 全サービスのログを表示
docker compose logs

# リアルタイムで全サービスのログを追跡
docker compose logs -f

コンテナの再起動

エラーが解消しない場合は、コンテナを再起動してください。

# 全サービスを再起動
docker compose restart

# 特定のサービスのみ再起動
docker compose restart api-server
docker compose restart frontend

コンテナの完全な再構築

環境変数の変更が反映されない場合や、イメージに問題がある場合は完全に再構築します。

# 全コンテナを停止して削除
docker compose down

# イメージを再ビルドして起動
docker compose up -d --build

⚠️ よくあるエラーと対処法

  • ポート競合エラー: すでに3000番や8080番ポートが使用されている場合、他のアプリケーションを停止してください
  • New Relicにデータが表示されない: .envファイルのLicense Keyが正しいか確認してください(数分のタイムラグがある場合もあります)
  • コンテナが起動しない: docker compose psでステータスを確認し、ログで詳細を確認してください
← 前へ: 座学

休憩時間

10分

次へ: SLO設定・管理 →

SLO設定・管理

推奨時間: 30分

このセクションでは、実際のアプリケーションでSLOを設計・設定・管理する実技を体験します。

1. ユーザージャーニーの特定

SLO設計の第一歩は、ユーザーにとって最も重要な機能フローを特定することです。

💡 ディスカッション

問: このECサイトで、最も重要なユーザージャーニーは何でしょうか?

例: 商品購入フロー(TOPページ → 商品詳細 → カート追加 → カート確認 → 決済完了)

デモECサイトのユーザージャーニー

1. TOPページ

商品一覧表示

GET /api/products

2. 商品詳細

商品情報確認

GET /api/products/{"{id}"}

3. カート追加

商品をカートに追加

POST /api/cart/items

4. カート確認

カート内容確認

GET /api/cart

5. 決済完了

注文確定

POST /api/orders

✅ 重要なポイント

このユーザージャーニーは、ECサイトにおける最も重要なコンバージョン経路です。この経路の可用性とパフォーマンスがビジネスに直結します。

2. SLI設計ワークフロー

ユーザージャーニーを特定したら、各ステップのSLIを設計します。

SLI設計の3つのアプローチ

📊 成功率ベースのSLI(APM)

計算式: 成功したリクエスト数 / 全リクエスト数

対象: APIエンドポイント(バックエンド)

例: 商品詳細APIの成功率

  • SLI: HTTPステータス200のリクエスト数 / 全リクエスト数
  • SLO目標: 成功率 >= 99.9%
  • 意味: 1000回のアクセスのうち、999回は成功する必要がある

⏱️ レスポンスタイムベースのSLI(APM)

計算式: 指定時間内に完了したリクエスト数 / 全リクエスト数

対象: APIエンドポイント(バックエンド)

例: カート追加APIのレスポンスタイム

  • SLI: 300ms以内に完了したリクエスト数 / 全リクエスト数
  • SLO目標: 95パーセンタイル < 300ms
  • 意味: 100回のリクエストのうち、95回は300ms以内に完了する必要がある

🖼️ Core Web VitalsベースのSLI(RUM / Browser)

計算式: 基準値内のページビュー数 / 全ページビュー数

対象: フロントエンドのユーザー体験(ブラウザ側)

例: 商品一覧ページのLCP(Largest Contentful Paint)

  • SLI: LCP 2.5秒以内のページビュー数 / 全ページビュー数
  • SLO目標: 90%のページビューがLCP 2.5秒以内
  • 意味: 商品画像が2.5秒以内に表示され、ユーザーがストレスなく閲覧できる

💡 APMとの違い: APMはサーバー側の処理時間を計測しますが、RUMはブラウザ側の実際のユーザー体験(ネットワーク遅延、レンダリング時間含む)を計測します。

🎯 SLI設計の3ステップ

  1. ユーザー視点で重要な指標を選択: エラー率?レスポンスタイム?表示速度?
  2. 測定可能な指標に変換: 成功率?95パーセンタイル?LCP?
  3. 現実的な目標値を設定: 過去のデータと組織の能力を考慮

3. New Relic Service Level ManagementでSLOを作成

設計したSLIをNew Relic UIで実装しましょう。

手順: SLOの作成

  1. New Relic にアクセス
  2. 左メニューから「Service levels」を選択
  3. 右上の「+ Add a service level」ボタンをクリック
  4. エンティティを選択:
    • APMの場合: 「slm-handson-api」を選択
    • Browserの場合: 「slm-handson-frontend」を選択
  5. SLIを設定:
    • 「Success」タイプ: 成功率ベースのSLI
    • 「Latency」タイプ: レスポンスタイムベースのSLI
  6. SLO目標値を設定:
    • Target: 99.9%(推奨)
    • Time window: 7 days または 28 days
  7. 「Create」ボタンをクリックして保存

実践例: CUJ(購入フロー全体)の可用性SLO

🎯 推奨アプローチ: ユーザージャーニー全体を1つのSLOで管理

個別のエンドポイントごとではなく、購入フロー全体を1つのSLOとして設定することで、 ビジネス価値と直結した可用性を測定できます。

対象エンドポイント: 商品一覧 → 商品詳細 → カート追加 → カート確認 → 注文確定

📊 購入フロー可用性SLO(推奨)

エンティティ: slm-handson-api (APM)

SLIタイプ: Success(成功率ベース)

SLO目標: 99.9%

Time window: 28 days(推奨)

Valid events(全リクエスト):

FROM Transaction
SELECT count(*) as 'Valid'
WHERE
  request.uri = '/api/products'
  OR request.uri LIKE '/api/products/%'
  OR request.uri = '/api/cart/items'
  OR request.uri = '/api/cart'
  OR request.uri = '/api/orders'

Good events(成功リクエスト):

FROM Transaction
SELECT count(*) as 'Good'
WHERE
  (request.uri = '/api/products'
   OR request.uri LIKE '/api/products/%'
   OR request.uri = '/api/cart/items'
   OR request.uri = '/api/cart'
   OR request.uri = '/api/orders')
AND httpResponseCode < 500
AND error IS false

💡 このSLOの意味

  • 99.9%の可用性目標: 1000回のリクエストのうち999回は成功する
  • 成功の定義: 5xxエラーでない、かつAPMエラーでない
  • 4xxエラーは成功扱い: クライアント側の問題はサーバー可用性に含めない
  • ビジネス価値: 購入フロー全体の信頼性をダイレクトに測定

実践例: 購入フローレイテンシSLO

⏱️ エンドポイント特性に応じた条件付き閾値

APIの特性によって許容できるレスポンスタイムは異なります。参照系(GET)は高速であるべきですが、 更新系(POST)は処理が重いため、より長い時間を許容します。 これらを1つのSLOで統合的に管理します。

分類 対象API 閾値
参照系 GET /api/products, GET /api/products/{id}, GET /api/cart 300ms
更新系 POST /api/cart/items, POST /api/orders 1000ms

⏱️ 購入フローレイテンシSLO

エンティティ: slm-handson-api (APM)

SLIタイプ: Latency(レスポンスタイムベース)

SLO目標: 95%

Time window: 28 days(推奨)

Valid events(購入フロー全リクエスト):

FROM Transaction
SELECT count(*) as 'Valid'
WHERE
  request.uri = '/api/products'
  OR request.uri LIKE '/api/products/%'
  OR request.uri = '/api/cart'
  OR request.uri = '/api/cart/items'
  OR request.uri = '/api/orders'

Good events(閾値内に完了 - 条件付き):

FROM Transaction
SELECT count(*) as 'Good'
WHERE
  -- 参照系: 300ms以内
  ((request.uri = '/api/products'
    OR request.uri LIKE '/api/products/%'
    OR request.uri = '/api/cart')
   AND duration < 0.3)
  OR
  -- 更新系: 1000ms以内
  ((request.uri = '/api/cart/items'
    OR request.uri = '/api/orders')
   AND duration < 1.0)

💡 このSLOの意味

  • 統合的なレイテンシ管理: 購入フロー全体を1つのSLOで可視化
  • 参照系は300ms以内: 商品一覧・詳細・カート確認など(サクサク感)
  • 更新系は1秒以内: カート追加・決済など(処理時間を許容)
  • ユーザー体験: 各APIの特性に応じた適切な閾値でUXを保証

実践例: フロントエンド表示速度SLO(LCP)

🖼️ LCP (Largest Contentful Paint) とは

ページ内で最も大きなコンテンツ(商品画像など)が表示されるまでの時間です。 ECサイトでは商品画像の表示速度が第一印象を決め、離脱率に直結します。

Googleの推奨基準

評価 LCP時間
Good 2.5秒以内
Needs Improvement 2.5〜4秒
Poor 4秒超

🖼️ フロントエンド表示速度SLO(LCP)

エンティティ: slm-handson-frontend (Browser)

SLIタイプ: Latency(Core Web Vitals - LCP)

SLO目標: 90%

Time window: 28 days(推奨)

Valid events(購入フローのページビュー):

FROM PageViewTiming
SELECT count(*) as 'Valid'
WHERE
  pageUrl LIKE '%/products%'
  OR pageUrl LIKE '%/cart%'
  OR pageUrl LIKE '%/checkout%'
  OR pageUrl RLIKE '^https?://[^/]+/?$'

※ 最後の行はTOPページ(ドメイン直下)にマッチ。localhost でも Codespaces でも動作します。

Good events(LCP 2.5秒以内):

FROM PageViewTiming
SELECT count(*) as 'Good'
WHERE
  (pageUrl LIKE '%/products%'
   OR pageUrl LIKE '%/cart%'
   OR pageUrl LIKE '%/checkout%'
   OR pageUrl RLIKE '^https?://[^/]+/?$')
AND largestContentfulPaint < 2500

💡 このSLOの意味

  • 90%のページビューがLCP 2.5秒以内: Googleの「Good」基準を満たす
  • フロントエンド視点: APMでは見えないブラウザ側のUXを測定
  • 商品画像の表示速度: ECサイトの第一印象に直結
  • 離脱率への影響: LCP改善は離脱率低下に最も効果的

📋 ハンズオンで作成するSLOまとめ

SLO名 タイプ 目標 対象
購入フロー可用性 Success 99.9% APM: 全購入フローAPI
購入フローレイテンシ Latency 95% APM: 参照系 < 300ms / 更新系 < 1000ms
フロントエンド表示速度 Latency (LCP) 90% Browser: LCP < 2.5秒

📝 ワークショップTips

今回は3つのSLOを作成します(APM 2つ + Browser 1つ)。実運用でも1〜3つのSLOから始めることをお勧めします。多すぎるSLOは管理が困難になり、本質的な改善活動から遠ざかる原因になります。

4. パフォーマンス劣化シミュレーションとSLO違反体験

環境変数を変更して、意図的にパフォーマンスを劣化させ、SLO違反を体験しましょう。

手順: パフォーマンス劣化のシミュレーション

⚠️ 環境変数の変更

プロジェクトルートの.envファイルを編集します。

# エラー率を30%に上昇(デフォルト: 10%)
ERROR_RATE=0.3

# 最大レスポンスタイムを2000msに増加(デフォルト: 500ms)
RESPONSE_TIME_MAX=2000

# 最小レスポンスタイムを500msに増加(デフォルト: 50ms)
RESPONSE_TIME_MIN=500

APIサーバーの再起動

環境変数を変更したら、APIサーバーを再起動して反映させます。

# APIサーバーのみ再起動
docker compose up -d api-server

# 起動確認
docker compose ps api-server

自動ユーザージャーニー負荷生成の開始

Playwrightベースの自動ユーザージャーニー負荷生成を開始し、継続的なアクセスを生成します。

# 2段階起動でネットワークエラー回避
docker compose up -d
docker compose --profile playwright up playwright-generator

# カスタム設定での実行(短時間テスト: 5分間、10秒間隔)
DURATION=300 ACCESS_INTERVAL=10 docker compose --profile playwright up playwright-generator

💡 負荷生成スクリプトの動作

Playwrightスクリプトは、リアルなブラウザ操作を自動実行します:

  • TOPページ訪問 → 商品詳細表示 → カート追加 → カート確認 → 決済完了
  • 各ステップ間で1-5秒のランダム思考時間
  • 完全なRUM/APMデータ生成(Page views, Ajax, エラー、トレース)

New RelicダッシュボードでSLO違反を確認

  1. New Relic にアクセス
  2. 左メニューから「Service levels」を選択
  3. 作成したSLOをクリック
  4. 確認ポイント:
    • SLO達成率: 目標値(99.9%)を下回っているか確認
    • エラーバジェット残量: 消費状況を確認
    • グラフ: 成功率やレスポンスタイムの推移を確認
    • 違反期間: いつからSLOを下回り始めたか確認

✅ 体験のポイント

パフォーマンス劣化により、実際にSLOが違反される様子を観察できます。これにより、SLO管理の重要性と、リアルタイム監視の価値を体感できます。

5. エラーバジェット運用とアラート設定

エラーバジェットを理解し、SLO違反時のアラート設定と意思決定プロセスを学びましょう。

エラーバジェットとは

📊 エラーバジェットの定義

エラーバジェットとは、SLO目標値を達成するために許容される「失敗の余地」です。

計算例: SLO 99.9%の場合

  • 目標: 1000回のリクエストのうち、999回は成功する
  • エラーバジェット: 1000回のリクエストのうち、1回は失敗しても良い(0.1%)
  • 月間エラーバジェット: 約43分のダウンタイム許容

New Relicでのエラーバジェット確認

  1. New Relic → 「Service levels」
  2. 作成したSLOをクリック
  3. エラーバジェット表示:
    • Remaining error budget: 残りのエラーバジェット(%表示)
    • Error budget consumed: 消費したエラーバジェット
    • Time window: 計測期間(7日間 or 28日間)

SLO違反時のアラート設定

エラーバジェットが枯渇する前にアラートを設定し、事前に対応できるようにします。

  1. Service Levelページで「Alert conditions」タブを選択
  2. 「+ Add alert condition」をクリック
  3. アラート条件の設定:
    • Condition type: Error budget consumption
    • Threshold: 80%(エラーバジェットの80%を消費したら警告)
    • Time window: 1 hour(1時間以内に80%消費)
  4. 通知先(Slack、Email等)を設定
  5. 「Create」ボタンをクリックして保存

エラーバジェット枯渇時の意思決定シナリオ

🤔 ディスカッション: エラーバジェットが枯渇したら?

シナリオA: 機能凍結(Feature Freeze)

  • 新機能のリリースを一時停止
  • 全リソースを信頼性向上に集中
  • エラーバジェットが回復するまで待機

シナリオB: リスクを取る

  • ビジネス上の緊急性が高い場合、リスクを承知で新機能をリリース
  • リスクと利益のトレードオフを経営層と共有
  • 追加の監視とロールバック準備を強化

シナリオC: SLO目標の再評価

  • SLO目標が厳しすぎる場合、現実的な値に調整
  • ユーザー影響とビジネス影響を再分析
  • 組織の成熟度に応じた目標設定

💡 SLM運用のベストプラクティス

  • エラーバジェットは「リスクを取るための資本」として活用する
  • ゼロエラーを目指すのではなく、ユーザーにとって適切な信頼性を目指す
  • エラーバジェットの消費状況をチーム全体で共有する
  • 定期的にSLOを見直し、ビジネスとユーザーニーズに合わせて調整する

6. Next Steps: SLOは設定してからが本番

NRUG-SRE マスコットキャラクター

おめでとうございます!🎉

SLOの設定が完了しました。でも、ここからが本当のスタートです。

SLOは「設定して終わり」ではなく「設定してからが本番」です。 継続的な改善と運用の中で、SLOの真価が発揮されます。

ワークショップ後に取り組むべきこと

📈 SLOの継続的改善

  • 実データに基づくSLO目標値の調整
  • 新機能追加時のSLI/SLO見直し
  • ユーザーフィードバックを反映した指標の追加
  • 定期的なSLOレビュー会議の実施

💰 エラーバジェット活用の最適化

  • エラーバジェットポリシーの策定
  • バジェット消費時の意思決定フロー確立
  • チーム間でのエラーバジェット共有
  • バジェットを活用した「攻めの開発」

🔥 バーンレートアラートの設定

  • Fast burn / Slow burn アラートの設定
  • エラーバジェット消費速度の監視
  • 予測に基づく早期警告システム
  • オンコール体制との連携

🏢 組織への展開

  • 他サービスへのSLO導入
  • ステークホルダーへのダッシュボード共有
  • SLOを活用した振り返り文化の醸成
  • SREプラクティスの段階的導入

🎯 覚えておいてほしいこと

  • 完璧を目指さない: 最初のSLOは仮説。運用しながら改善していく
  • 少ないSLOから始める: 3つ以下のSLOでスタートし、必要に応じて追加
  • チーム全員で所有する: SLOはSREだけのものではなく、プロダクトチーム全体の指標
  • 定期的に振り返る: 月次/四半期でSLOの妥当性を評価し、調整する

🚀 SLOの旅は始まったばかり

今日学んだことを活かして、ユーザーに価値を届け続けるサービスを目指しましょう。
SLOは、そのための強力な羅針盤になります。

7. 後片付け

ハンズオン終了後は、以下の手順でリソースを削除してください。

🗑️ GitHub Codespacesの削除

Codespacesは停止していてもストレージの無料枠を消費します。不要になったら削除しましょう。

  1. GitHub Codespaces管理ページ にアクセス
  2. 削除したいCodespaceの右側にある「...」メニューをクリック
  3. 「Delete」を選択
  4. 確認ダイアログで「Delete」をクリック

💡 Tip: 無料枠(月間15GBストレージ・120コア時間)を節約するため、使わないCodespacesは早めに削除することをお勧めします。

🔑 New Relic API Keyの削除

ハンズオン用に作成したAPI Keyは、不要になったら削除してセキュリティリスクを軽減しましょう。

  1. New Relic にログイン
  2. 左下のユーザーアイコン → 「API Keys」をクリック
  3. 削除したいキーの右側にある「...」メニューをクリック
  4. 「Delete」を選択
  5. 確認ダイアログで削除を確定

⚠️ 注意: 本番環境で使用しているキーは削除しないでください。ハンズオン用に作成したキーのみを削除します。

💡 作成したSLOについて

New Relicで作成したSLOは、そのまま残しておいても課金に影響はありません。学習のために残しておくか、不要であれば「Service levels」から削除できます。

← 前へ: 環境セットアップ 目次へ戻る