GitHubを頻繁に利用している方の中には、GitHubにアクセス出来ない、リモートリポジトリからローカルへのクローンが出来ないなどの経験をしたことがある方も多いのではないでしょうか。
本記事では、GitHubで障害が起きているかを確認する方法からこれまで障害事例を合わせてご紹介していきます。
GitHubの障害情報が確認出来るサービス
GitHubにアクセス出来ない、ログイン出来ないなどの現象が起きた際、まず確認して頂きたいサービスをピックアップしてご紹介していきます。
GitHub Status
GitHub Statusは、GitHubの稼働状況を表示してくれているサイトで、障害かなと感じたら真っ先に確認しておきたいサイトです。
全体を通しての稼働状況はもちろん、下記のカテゴリで個別の稼働状況まで掲載してくれています。
- Git Operations
- API Requests
- Webhooks
- Issues
- Pull Requests
- GitHub Actions
- GitHub Packages
- GitHub Pages
- Codespaces
GitHub StatusではTwitter上でも情報発信しているため、フォローしておくとより迅速に情報を掴むことが出来ます。
GitHub障害情報
Twitter非公式アカウントの「GitHub障害情報」では、アカウント名の通りGitHubの障害情報をツイートしてくれています。
上述した GitHub Statusの情報を元に、日本語で情報を発信してくれているようです。
Twitterトレンド
上記でご紹介したような専用のアカウントをフォローしておくことも効果的ですが、近年ではGitHubを利用する企業やユーザーが増えたことにより、障害が起きた場合にはTwitterのトレンドに掲載されることも少なくありません。
Twitterのトレンドだけを頼りには出来ませんが、障害かなと感じる場合には確認してみるのも良いでしょう。
Downdetector
DowndetectorはSNSの書き込みを利用することで、GitHubを含めた各種Webサービスの障害発生状況をリアルタイムに確認することが出来るサービスです。
GitHubだけでなく各種サービスの障害状況が発信されているので、GitHub以外でも不具合か気になるサービスがあれば積極的に利用してみましょう。
GitHubの障害事例
GitHubで起きた過去の比較的大きな障害事例について紹介しておきます。
2021年9月2日の障害
記事執筆時点から直近の障害ニュースとしては、2021年9月2日に GitHubにアクセスしにくくなる問題が発生しました。
アメリカGitHubは今回の事例の原因を公表はしていません。
AWS Direct Connectが同日に大規模障害を起こしていましたが、関連性については不明となっています。
2021年6月8日の障害
2021年の大規模障害としては、6月8日に起きたCDN(Content Delivery Network)サービス「fastly」の障害により様々なサービスが影響を受けた事例が挙げられます。
fastlyの障害により、GitHubだけでなく「Spotify」や「Stack Overflow」「Hulu」「PayPal」などのWebサービスをはじめ、「The New York Times」や「CNN」などのニュースサイトなどfastlyを利用している各社のサービスがダウンするなどの影響を受けました。
この事例ではAWSのサービスにまで影響を与え、世界規模での大規模障害となりました。
2018年10月21日の障害
過去のGitHub障害としてよく挙げられる事例には、2018年10月21日の約24時間にも及ぶ大規模障害が挙げられます。
原因となったのはネットワーク機器の部品交換時に生じた43秒間のネットワーク切断で、これによりメタデータを管理するデータベースに不整合が発生し、復旧に時間を要する結果となってしまったようです。
GitHubの障害情報が出ていない場合
GitHubでは過去に障害事例もいくつかありますが、自分自身の環境や単純ミスによりGitHubにアクセス出来ていないだけの可能性も考えられます。
上述したようなサービスで障害情報が確認出来ない場合には、以下のような観点から環境的な問題がないかや接続情報に間違いがないかを確認していきましょう。
IPアドレスの許可設定
新しい端末や企業で作業を実施している場合、GitHubのIPアドレスがアクセス許可されているかを確認するようにしましょう。
他の端末や外部環境からはGitHubにアクセス出来るようなケースでは、IPアドレスの許可設定が無効となっている可能性があります。
ネットワーク環境の確認
企業や組織で作業を実施している場合、ネットワーク管理者により特定のトラフィックに制限を掛けるルールが設定されている可能性があります。
この場合、自分自身ではどうすることも出来ないため、ネットワーク管理者に連絡を取り、GitHubのトラフィックを許可するように依頼する必要があります。
またGitHubへの接続自体は出来ていそうだけど、全くページが開けないなどの問題はネットワークの混雑が影響している可能性もあるため、インターネットサービス・プロバイダに確認を取ることも検討してみてください。
クローン方法の変更
GitHubからリポジトリをローカルにクローンする際の方法はいくつかあり、SSHによるクローンからHTTPSに変更することにより接続状況が改善されるケースがあります。
SSHベースの接続でタイムアウトなどが起きる場合には「エラー: Bad file number」も参考にしてみてください。
パスワード認証の廃止
GitHubでは2021年8月13日以降、パスワード認証でGit操作を禁止し、トークンベースの認証を必須とする対応が適用されました。
HTTPSでパスワード認証を実施している方も多かったと思いますので、しばらくGitHubに触っておらず8月13日以降にGit操作しようとした方は少し戸惑ってしまうかも知れません。
あくまでGitHubの障害ではなく、認証方法の変更となるため設定を変更した上で利用するようにしましょう。
トークンベースの認証についてはGitHub Docsをはじめ、各種サイトが解説してくれているので参考にしながら設定してみてください。
GitHub Debugのテストを実行
上述してきた内容を確認してみて、どうしても解決出来ない場合にはGitHubサポートに連絡する前に「GitHub Debug」に記載の指示に従ってテストを実施し報告するようにしましょう。
さいごに: GitHubの障害情報を確認して原因を切り分けよう
本記事では、GitHubの障害情報を確認する方法から実際の障害事例、その他個別環境が原因の確認方法についてご紹介してきました。
GitHubに接続出来ない場合には、GitHub自体に障害が起きているのかご自身の環境に問題があるのかを切り分けた上で調査を進めることが大切です。
GitHub自体のサービスが停止してしまっている場合、ユーザー側としては復旧を待つしかないので、まずは今回ご紹介したような情報からGitHubのサービスが稼働しているかの確認を行ってみましょう。
GitHub Statusは英語での情報発信となっています。