Skip Navigation
Show nav
Heroku Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • コマンドライン
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリー
    • 継続的統合
  • 言語サポート
    • Node.js
    • Ruby
      • Bundler の使用
      • Rails のサポート
    • Python
      • Python でのバックグランドジョブ
      • Django の使用
    • Java
      • Maven の使用
      • Java でのデータベース操作
      • Play Framework の使用
      • Spring Boot の使用
      • Java の高度なトピック
    • PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
    • Heroku Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
    • コンプライアンス
  • Heroku Enterprise
    • Private Space
      • インフラストラクチャネットワーキング
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
    • シングルサインオン (SSO)
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • モニタリングとメトリクス
  • Production Check

Production Check

日本語 — Switch to English

Last updated 21 October 2019

Table of Contents

  • アプリをチェックする方法
  • dyno の冗長性
  • DNS と SSL
  • Heroku Postgres
  • 可視性と監視

Production Check は、アプリの設定を一連のオプションの (ただし、強く推奨される) 基準に対してテストします。これにより、アプリの設定を最大の稼働時間が実現されやすいものにすることが簡単になります。さらに、稼働時間に寄与する要因を理解したり、監視したりするために使用できるツールが確実に手に入ります。

アプリをチェックする方法

Production Check を実行するには、Heroku Dashboard でアプリに移動し、右上隅にあるアクションメニューをクリックしてから、Production Check​ をクリックします。

Production Check により、アプリに対して一連のテストが実行されます。これらのテストは、可用性を維持および監視するために推奨されます。各チェックには、関連するリソースへの役立つリンクが含まれています。

dyno の冗長性

ミッションクリティカルなアプリに対して少なくとも 2 つの Web dyno​ を実行すると、致命的なイベントが発生しても、そのアプリが使用可能な状態な状態を維持できる確率が高くなります。複数の dyno が異なる物理インフラストラクチャ (個別の AWS アベイラビリティ―ゾーンなど) で実行される可能性も高く、さらに冗長性が増します。

アプリで現在実行されている各タイプの dyno の数を確認するには、heroku ps​ コマンドを使用します。アプリで実行されている dyno の数をスケーリング​するには、heroku ps:scale​ を使用します。

$ heroku ps -a ha-app
=== web:
web.1: up for 17m

$ heroku ps:scale web+2
Scaling web processes... done, now running 3

これは、web​ dyno だけでなく、バックグラウンドまたは Worker​ dyno にも適用されます。

DNS と SSL

Cedar スタック上のアプリには、app-name.herokuapp.com​ を指している CNAME レコード​があります。SSL が必要になった場合は、SSL エンドポイント​をプロビジョニングします。さらに、US アプリの場合は、CNAME レコードが endpoint-name.herokussl.com​ を指すようにします (この変更は EU アプリには不要)。他のどの設定を行っても、可用性が低下します。

Apex ドメイン (他にはベアドメイン、ルートドメイン、ネイキッドドメインと呼ばれる) を A レコードを使用して設定するべきではありません。CNAME のような機能またはサブドメインリダイレクションを使用して、ルートドメインの DNS を正しく設定​してください。

DNS レコードが正しく設定されているかどうかは、host​ コマンドラインユーティリティを使用してすばやく判定できます。

$ host www.example.com
www.example.com is an alias for nara-1234.herokussl.com.
nara-1234.herokussl.com is an alias for elb002776-242519199.us-east-1.elb.amazonaws.com.
elb002776-242519199.us-east-1.elb.amazonaws.com has address 107.21.240.226
…

www.example.com​ から app-name.herokuapp.com​ または endpoint-name.herokussl.com​ のどちらかへのエイリアスマッピングが表示されます。

Heroku Postgres

本番プランのデータベース

Heroku でビジネスを実行する場合は、本番グレードの Heroku Postgres データベース​を使用する必要があります。詳細は、「Choosing the Right Heroku Postgres Plan​」(適切な Heroku Postgres プランの選択) を参照してください。

Heroku Postgres 本番プランには、Standard、Premium、Private、Shield があります。Hobby-Dev および Hobby-Basic プランは本番データベースではありません​。

本番プランのサービスでは最も長い予測稼働時間が実現され、自動ヘルスチェック、データスナップショットのほか、フォークやフォローなどの高度な機能が含まれています。

$ heroku pg:info -a ha-app
=== HEROKU_POSTGRESQL_CYAN_URL (DATABASE_URL)
Plan:               Standard 0
Status:             Available
Data Size:          6.4 MB
Tables:             0
PG Version:         9.4.1
Connections:        2/120
Fork/Follow:        Available
Rollback:           earliest from 2015-04-24 22:16 UTC
Created:            2015-04-24 22:14 UTC
Maintenance:        not required
Maintenance window: Mondays 20:30 to Tuesdays 00:30 UTC

アプリケーションに非リレーショナルデータストアが必要な場合は、Amazon DynamoDB​ が、可用性の高いデータストレージのための別の優れた候補になります。

高可用性

Premium、Private、および Shield 層の Heroku Postgres データベースには、アプリケーションの稼働時間のための追加のメリット (自動フェイルオーバーによる高可用性​を含む) があります。

可視性と監視

アプリの可用性を向上させるには、アプリの状態を適切に認識し、それに迅速に対応することが役立ちます。これは、さまざまなツールを使用して実現できます。

アプリの監視

New Relic​ を使用すると、時間の経過に伴うアプリのパフォーマンスを監視し、それを詳細に分析できます。可用性が低くなる前にサービスの低下が現れるケースが多く存在します。

New Relic

観察のための適度な期間が経過したら、アプリケーションの正常な動作境界を確立し、システムがその境界から逸脱し始めた場合に通知を受け取るためのアラートを設定します。

New Relic の豊富なグラフ作成およびパフォーマンス分析機能を使用して、アプリケーションが特定の状況でどのように動作するか、および最も脆弱な部分はどこかをより適切に把握します。これらの観察は、不安定な期間での低下を診断し、それを回避するのに役立ちます。

ログの監視

Heroku のアドオンマーケットプレイス​には、アプリケーションのログストリーム​に対するインスツルメンテーションを消費、保存、および提供する多くのサービスが含まれています。関心のあるイベント (クレジットカードのサインアップの成功など) をログに記録することにより、これらのログサービスを使用して、例外的なアクティビティに対するアラートを受け取ることができます。問題が発生した場合は、ログイベントの履歴を検索できるため、そのデバッグも簡略化されます。

Papertrail​ は、ログデータ内のパターンに基づいてアラートを提供するサービスの例です。アプリ内のエラーやイベントの検索アラートを設定し、Librato、PagerDuty、Campfire と統合します。検索アラートは、Heroku のエラーコードまたはアプリ内の関心のあるイベント用に設定できます。

Papertrail

関連カテゴリー

  • モニタリングとメトリクス
アプリケーション関連の指標 言語ランタイムメトリクス

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Podcasts
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing

Subscribe to our monthly newsletter

Your email address:

  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Heroku Podcasts
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Facebook
  • Instagram
  • Github
  • LinkedIn
  • YouTube
Heroku is acompany

 © Salesforce.com

  • heroku.com
  • Terms of Service
  • Privacy
  • Cookies