このドキュメントでは、従量課金制(PAYG)の SUSE Linux Enterprise Server(SLES)を実行している Compute Engine 仮想マシン(VM)インスタンスを SUSE サブスクリプション管理ツール(SMT)リポジトリに接続するときに発生する可能性のある問題を解決する方法について説明します。
始める前に
- VM にサービス アカウントが関連付けられていることを確認します。
- VM から Service Metadata API にアクセスできることを確認します。
- VM からそれぞれのリージョン サーバーと SMT サーバーへのネットワーク接続を確認します。
- sc-repocheck ツールを使用すると、問題を自動的にトラブルシューティングできます。
- SUSE PAYG のトラブルシューティングガイドで説明されている手順を確認します。
-
まだ設定していない場合は、認証を設定します。認証では、 Google Cloud サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
- Set a default region and zone.
ネットワークに関する問題
解決できないドメイン名
VM が
smt-gce.susecloud.netSMT サーバーに接続できない場合、次の問題が発生することがあります。SUSEConnect error: SocketError: getaddrinfo: Name or service not knownping: unknown host smt-gce.susecloud.netこれらの問題は、一般に、SMT サーバーのドメイン名
smt-gce.susecloud.netが正しく解決されないことが原因で起こります。このドメインはグローバルに解決できないため、VM リージョンに沿って IP アドレスを設定する必要があります。手順は次のとおりです。/etc/hostsファイルを調べて、smt-gce.susecloud.netドメインのエントリが含まれていることを確認します。cat /etc/hosts | grep -i smt出力は次のようになりますが、IP アドレスは異なる場合があります。
# Added by SMT registration do not remove, retain comment as well 108.59.80.221 smt-gce.susecloud.net smt-gce/etc/hostsファイルに前述の例と同じ行が含まれていない場合は、次のようにします。SUSE SMT の IP アドレスのリストで、VM のリージョンに対応する IP アドレスを探します。
ファイルを編集して、SUSE SMT の IP アドレスとその他の情報を追加します。
ネットワークが利用できない
VM が Compute Engine 更新サーバーのドメイン名を解決できる場合でも、ネットワークが利用できないために、次のエラーが発生することがあります。
Unexpected exception. Not ready to read within timeout.Repository 'SLE-Module-Adv-Systems-Management12-Pool' is invalid. Repository 'SLE-Module-Adv-Systems-Management12-Updates' is invalid.調査中に
/var/log/cloudregisterログファイルで見つかることがあるエラーの例を次に示します。WARNING:Unable to remove client registration from server WARNING:HTTPSConnectionPool(host='smt-gce.susecloud.net', port=443): Max retries exceeded with url: /connect/systems (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 110] Connection timed out',)) INFO:Region server arguments: ?regionHint=europe-central2 ERROR:No response from: [('34.118.112.80', None), ('34.116.251.218', None), ('34.116.224.144', None)]問題の原因を詳しく調べるには、ネットワーク接続テストを行います。次の例は、
cURLを使用して HTTPS 接続をテストする方法を示しています。curl -sSI -m 5 -o /dev/null \ -w 'Response code (>0 is OK): %{http_code}\n' \ 'https://smt-gce.susecloud.net'コマンドの出力には、HTTP レスポンス コードまたはエラー メッセージが含まれます。一般的なレスポンスとエラーは次のとおりです。
正常なレスポンス:
Response code (>0 is OK): 200リクエスト タイムアウト エラー:
Response code (>0 is OK): 000 curl: (28) Connection timed out after 5001 milliseconds解決できないドメインエラー:
Response code (>0 is OK): 000 curl: (6) Could not resolve host: smt-gce.susecloud.net
厳格なホスト ファイアウォール ルールなどの特定のシナリオでは、
smt-gce.susecloud.netドメインに関連付けられたデフォルトの IP アドレスを使用できない場合があります。問題が現在の IP アドレスのみに関連していることを確認するには、代替リージョン サーバーでネットワーク接続テストを実行します。次の手順でリージョン サーバーのリストを取得してください。SUSE WebUI に移動して、リージョン アップデート サーバーのリストを取得します。
pintツールを使用して、CLI でリージョン アップデート サーバーのリストを取得します。必要なパッケージをインストールします
sudo zypper install python3-susepubliccloudinfo特定のリージョンで次のコマンドを使用します。
pint google servers --region us-central1成功の出力には、XML 形式のエントリのリストが含まれます。
<?xml version='1.0' encoding='UTF-8'?> <servers> <server ip="146.148.73.14" name="" region="us-central1" type="regionserver-sles"/> <server ip="162.222.182.90" name="" region="us-central1" type="regionserver-sap"/> <server ip="108.59.80.221" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> <server ip="108.59.85.41" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> <server ip="108.59.80.58" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> </servers>
Google Cloudの SUSE サーバー IP の全リストを確認するには、次のドキュメントを確認します。
VM の構成ミスが原因で、ネットワークが利用できない可能性があります。問題が発生した場合は、ネットワーク診断を実行して根本原因を特定します。
登録エラー
Cloud NAT にプライベート IP アドレスを持つ VM がある場合、次のエラーが発生することがあります。
ERROR: Registration failed: Registering system to registration proxy https://smt-gce.susecloud.net command '/usr/bin/zypper --non-interactive refs Python_3_Module_x86_64' failed Error: zypper returned 4 with 'Problem retrieving the repository index file for service 'Python_3_Module_x86_64': Timeout exceeded when accessing 'https://smt-gce.susecloud.net/services/2045/repo/repoindex.xml?credentials=Python_3_Module_x86_64'.この問題を解決するには、Cloud NAT の構成を調べて、VM インスタンスあたりの最小ポート数のパラメータが 256 以上に設定されていることを確認します。
詳細については、SUSE のサポートに関する公開情報で、Cloud NAT の背後にある Compute Engine インスタンスの登録と zypper の失敗をご覧ください。
応答がない
VM で更新サーバーやリージョン サーバーとの通信に問題が発生すると、次のエラーが表示されることがあります。
SUSEConnectエラー:SUSEConnect error: Errno::ETIMEDOUT: Connection timed out - connect(2) for "smt-gce.susecloud.net" port 443zypperエラー:Error retrieving metadata for 'SLE-Module-Adv-Systems-Management12-Pool': Not ready to read within timeout. ...
これらのエラーは、更新サーバーとリージョン サーバーが応答しない場合に発生します。これを確認するには、
/var/log/cloudregisterログで同様の内容を探します。INFO:Region server arguments: ?regionHint=europe-central2 INFO:Using API: regionInfo INFO:Region server arguments: ?regionHint=europe-central2 INFO:Getting update server information, attempt 1 INFO: Using region server: 130.211.242.136 ERROR: No response from: 130.211.242.136 INFO: Using region server: 35.187.193.56 ERROR: No response from: 35.187.193.56 INFO: Using region server: 162.222.182.90 ERROR: No response from: 162.222.182.90 INFO: Using region server: 130.211.88.88 ERROR: No response from: 130.211.88.88 ERROR: None of the servers responded ERROR: Attempted: [IPv4Address('130.211.242.136'), IPv4Address('35.187.193.56'), IPv4Address('162.222.182.90'), IPv4Address('130.211.88.88')] ... ... ... ERROR:Request not answered by any server after 3 attempts ERROR:Exiting without registrationこの問題を解決するには、次の対処方法をいくつか試してください。
VM に外部 IP アドレスがあること、または Virtual Private Cloud サブネットが NAT(Cloud NAT またはカスタム ソリューション)を使用していることを確認します。
公共のインターネット アクセスを制限する、オンプレミス ネットワーク経由でトラフィックをルーティングするなど、デフォルトのネットワーク ルーティング ルールを変更した場合は、Compute Engine のデフォルト ゲートウェイ経由で SMT IP のルートを手動で追加します。手順は次のとおりです。
Google Cloud コンソールの [ルート] ページに移動します。
[ルート管理] タブで、SUSE SMT の IP アドレスを含むルートを探し、Compute Engine のデフォルト ゲートウェイがネクストホップとして設定されていることを確認します。
ルートが表示されない場合は、[ルートの作成] をクリックし、必要な情報を入力して追加します。
追加の中間ネットワーク ソフトウェア(ファイアウォールやカスタム NAT など)で内部パススルー ネットワーク ロードバランサを使用している場合は、ロードバランサが VM トラフィックのネクストホップであることを確認します。手順は次のとおりです。
Google Cloud コンソールの [VM インスタンス] ページに移動します。
確認する VM の名前をクリックします。[VM の詳細] ページが開きます。
[ネットワーク インターフェース] セクションで、[詳細を表示] をクリックします。
[ファイアウォールとルートの詳細] セクションで、選択した IP アドレス範囲へのパスを定義するルートを見つけます。
ルートの名前をクリックし、内部パススルー ネットワーク ロードバランサまたはその IP アドレスがネクストホップであることを確認します。
選択した IP アドレス範囲へのパスを定義するルートがない場合、またはルートのネクストホップが内部パススルー ネットワーク ロードバランサと異なる場合は、内部パススルー ネットワーク ロードバランサをネクストホップとして設定します。
内部パススルー ネットワーク ロードバランサを使用している場合は、VM と同じリージョンにあることを確認します。
Google Cloud コンソールの [VM インスタンス] ページに移動します。
確認する VM を見つけて、リージョンをメモします。
Google Cloud コンソールで [ロード バランシング] ページに移動します。
使用されている内部パススルー ネットワーク ロードバランサを見つけて、VM と同じリージョンにあるかどうかを確認します。
VM と内部パススルー ネットワーク ロードバランサが同じリージョンにない場合は、グローバル アクセスを有効にします。
プロキシ経由の登録
VM で非透過プロキシまたは中間者(PITM)検査を行う他のソフトウェア(Barracuda CloudGen Firewall、Palo Alto など)が使用されている場合、問題が発生することがあります。次の例は、HTTP プロキシを使用して SLES を登録する方法を示しています。
ERROR: Baseproduct registration failed ERROR: Registering system to registration proxy https://smt-gce.susecloud.net Announcing system to https://smt-gce.susecloud.net ... SUSEConnect error: Net::HTTPFatalError: 503 "Service Unavailable"
SUSE は、Compute Engine の PITM(Person-in-the-Middle)プロキシおよび非透過プロキシの背後にある SLES 登録を公式にサポートしていません。証明書のピニングが原因で、登録中に PITM プロキシ構成が失敗します。
Cloud NAT 構成を使用するか、カスタム SMT サーバーを設定することをおすすめします。
VPC Service Controls の違反
組織で VPC Service Controls(VPC-SC)を使用している場合、登録が失敗し、
Request is prohibited by organization's policyエラー メッセージが表示されることがあります。VPC-SC ポリシーで SUSE Update Infrastructure の例外を構成していない場合、上り(内向き)または下り(外向き)の違反が原因でこのエラーが発生する可能性があります。この問題を解決するには、VPC-SC ポリシーの許可リストに次のコンポーネントを追加して、VM が SUSE Update Infrastructure と通信できるようにします。
- インフラストラクチャ プロジェクトの更新:
Suse-gce-smt(プロジェクト番号: 778092048372) - サービス アカウント:
778092048372@project.gserviceaccount.com - 必要なメソッド:
compute.alpha.InstancesService.GetLicenses
OS の構成に関する問題
登録ステータスが不明
従量課金制(PAYG)の SUSE Linux Enterprise Server(SLES)が登録されているかどうかがわからない場合は、次のコマンドを実行します。
sudo SUSEConnect --status-text出力には、SUSE Linux Enterprise Server などの SUSE プロダクトのバージョンと登録ステータスが含まれます。
Installed Products: ------------------------------------------ SUSE Linux Enterprise Server 12 SP5 (SLES/12.5/x86_64) Registered ------------------------------------------ ...ステータスが
Not Registeredの場合は、VM を再登録して問題を解決します。sudo registercloudguest --force-newベース プロダクト シンボリック リンクが正しくない
ベース プロダクト リンクが誤った商品ファイルを指している場合、次のエラーが発生することがあります。
2020-06-17 12:03:56,124 ERROR:Unable to obtain product information from server "108.59.85.41,None" Unprocessable Entity {"type":"error","error":"Unmet product dependencies, activate one of these products first: SUSE Linux Enterprise Server 12 x86_64, SUSE Linux Enterprise Server for SAP Applications 12 x86_64, SUSE Linux Enterprise Server 12 SP1 x86_64, ...","localized_error":"..."} Unable to register modules, exiting.このエラーは、シンボリック リンク
/etc/products.d/baseproductが誤ったプロダクト ファイル(sle-module-toolchain.prodなど)を指している場合に発生します。この問題を解決するには、次のようにして、適切なベース プロダクト ファイルを指すように
/etc/products.d/baseproductのシンボリック リンクを更新します。/etc/products.dディレクトリに移動します。cd /etc/products.dSLES for SAP をインストールした場合は、
SLES.prodをSLES_SAP.prodに置き換えて、次のコマンドを実行します。sudo ln -sf SLES.prod baseproduct
インスタンス ID 情報が利用できない
VM のインスタンス ID 情報が利用できない場合、次のエラーが発生することがあります。この問題は、サービス アカウントがインスタンスに関連付けられていない場合や、関連付けられているサービス アカウントが無効になっている場合に発生することがあります。
ERROR:Data collected from stderr for instance data collection "b'Unable to access instance identity information\n'"
ID トークンのインスタンス メタデータにアクセスするには、すべての VM に関連付けられたサービス アカウントが必要です。
詳しくは、Public Cloud Infrastructure Update をご覧ください。
VM のサービス アカウントのステータスを確認するには、VM で次のコマンドを実行します。
curl -s -H 'Metadata-Flavor: Google' \ 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=test'ID トークンを含む正常なレスポンスの例:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjkzOTd0MDQxSHQ2NDNxNzkzUjY1MDIwNzEyMjZPNnppaTdqNTl3eTciLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJ0ZXN0IiwiYXpwIjoiMjY1MDIwMDUyMzgzMjYyNTk0ODU2IiwiZXhwIjoxNjgzNzEyNTQzLCJpYXQiOjE2ODM3MTI4NjQsImlzcyI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbSIsInN1YiI6IjQ1NjA2MzQ5MDg5Mzc0Njg3ODI5NyJ9.EpzQ3NZ8mKStdpH10fL34qsKG0rjQEflzvLJLm2tVNX4xBJAkMhi8lcs5InUEY-QMK3njgbzdzNtD1fXoIfKoeWsqkA8vG3NkBz5zqRrtaB2STcO14H5tjIdTBsrCtET447tRXlGG5cvgMcWnRDZG92-jUZEpWki_Ri4T69X5-bBWkfE2Thm3oSUW4fScdeVOEmOgWnzD2jeVqQ_2YniywvpkT-rLzKfN-5AgN66zgBfXqJVTC90KFMebfiaOoL7z6ZSM9AjZGf45QEMZjxjd-Xzyee6ZWK8s0RE3hJlytb3zYcLt3tJwQ1WhnrC2ToJ-ZmKxxK3xKDLCvCQ6Ny5to
VM が影響を受けない場合は、トークンが返されます。VM が影響を受ける場合、返されるメタデータは次のようなエラー メッセージです。
{ "error": "invalid_request", "error_description": "Service account not enabled on this instance" }この問題を解決するには、次の操作を行います。
VM を停止します。
gcloud compute instances stop VM_NAMEVM にサービス アカウントを追加します。
gcloud compute instances set-service-account VM_NAME \ --service account SERVICE_ACCOUNT \ --no-scopesVM を起動します。
gcloud compute instances start VM_NAME不足しているサービス アカウントを追加した後、VM から次のコマンドを実行して SLES を再登録します。
sudo registercloudguest --force-new
必要なパッケージが不足している
VM に
cloud-regionsrv-client、regionServiceClientConfigGCE、cloud-netconfig-gce、suseconnect-ngなどの必須パッケージがない場合、登録が失敗することがあります。この問題を解決するには、必要なパッケージをインストールし、登録ファイルをクリーンアップして、VM を再登録します。
不足しているパッケージをインストールします。
sudo zypper install PACKAGE_NAMEPACKAGE_NAMEは、不足しているパッケージの名前に置き換えます。古い登録ファイルをクリーンアップします。
sudo registercloudguest --clean sudo SUSEConnect --cleanup sudo rm -f /etc/zypp/credentials.d/* sudo rm -f /etc/zypp/repos.d/* sudo rm -f /etc/zypp/services.d/*VM を再登録します。
sudo registercloudguest --force-new
python3 シンボリック リンクが間違っている
registercloudguestを実行してModuleNotFoundError: No module named 'requests'エラーが表示された場合は、/usr/bin/python3シンボリック リンクが正しくないことが原因である可能性があります(手動で上書きした場合など)。Traceback (most recent call last): File "/usr/sbin/registercloudguest", line 34, in <module> import requests ModuleNotFoundError: No module named 'requests'
この問題を解決するには、正しい Python バージョンを指すようにシンボリック リンクを再作成します。
インスタンスにインストールされている Python のバージョンを確認します。
sudo zypper info python3python3シンボリック リンクを確認します。ls -ll /usr/bin | grep -i python3リンクが正しくない場合は、リンクを削除して、正しい Python バージョン(
python3.6など)を指す新しいリンクを作成します。sudo rm /usr/bin/python3 sudo ln -sf /usr/bin/python3.6 /usr/bin/python3
SSL 証明書の検証に失敗する
/etc/pki/trust/anchorsディレクトリに証明書ファイルがない場合は、Curl error 60やssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED]などのエラーが表示されることがあります。/var/log/cloudregisterに表示される可能性のあるエラーのより詳細な例を次に示します。Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 677, in urlopen ... File "/usr/lib64/python3.6/ssl.py", line 689, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)
次のコマンドを実行して出力が空であることを確認することで、証明書ファイルがないことを確認できます。
ls -lart /etc/pki/trust/anchors証明書がない場合、出力は空になります。
total 0この問題を解決するには、以下のいずれかを試します。
オプション 1: クリーンアップして再登録する
登録に関連付けられているすべてのファイルをクリーンアップし、強制的に新しい登録行います。登録プロセスでは、必要な証明書がリージョン サーバーからダウンロードされます。
sudo registercloudguest --clean && \ sudo SUSEConnect --cleanup && \ sudo rm -f /etc/zypp/credentials.d/* && \ sudo rm -f /etc/zypp/repos.d/* && \ sudo rm -f /etc/zypp/services.d/* && \ sudo rm -f /etc/pki/trust/anchors/* && \ sudo sed -i '/^# Added by SMT reg/,+1d' /etc/hosts && \ sudo registercloudguest --force-newオプション 2: 動作中のインスタンスから証明書をコピーする
クリーンアップと再登録で問題が解決しない場合は、
gcloud compute scpを使用して、または動作中のインスタンスのブートディスクを失敗したインスタンスにアタッチして、動作中のインスタンスから証明書ファイルをコピーできます。動作中のインスタンスのディスクを
MOUNT_PATHにアタッチしてマウントする場合は、次のコマンドを実行します。sudo cp MOUNT_PATH/etc/pki/trust/anchors/* /etc/pki/trust/anchors/ sudo update-ca-certificates sudo cp -pr MOUNT_PATH/usr/lib/regionService /usr/lib/regionService sudo registercloudguest --force-new
libzypp パッケージの非互換性
SLES for SAP 15 を使用する従量課金制の SUSE VM が、次のようなエラーで登録に失敗することがあります。
ERROR:Baseproduct registration failed Registering system to registration proxy https://smt-gce.susecloud.net ... command '/usr/bin/zypper --non-interactive refs SUSE_Linux_Enterprise_Server_for_SAP_Applications_x86_64' failed Error: zypper returned 1 with 'Error occurred while setting download (curl) options for 'https://smt-gce.susecloud.net/services/2294?credentials=SUSE_Linux_Enterprise_Server_for_SAP_Applications_x86_64': Unexpected exception. Unknown error reading from 'plugin:/susecloud?credentials=SUSE_Linux_Enterprise_Server_for_SAP_Applications_x86_64&path=/services/2294' ... - Error occurred while setting download (curl) options for 'https://smt-gce.susecloud.net/services/2294?credentials=SUSE_Linux_Enterprise_Server_for_SAP_Applications_x86_64':
この問題は、
libzyppパッケージの更新によって、互換性のないバージョンのlibcurl4パッケージが残った場合に発生することがあります。libzyppが自己更新を試みると、libcurl4を使用してパッケージの場所へのリクエストを行うことができなくなります。この問題を解決するには、
libzyppパッケージを手動で更新します。次のコマンドは例です。バージョン番号の調整が必要になることがあります。sudo rpm -i libzypp-17.31.31-150400.3.52.2.x86_64.rpmサポートされていない OS バージョンまたは古いパッケージ
ジェネラル サポート期間外の OS バージョン(たとえば、一般サポートが 2020 年 6 月 30 日に終了した SLES 12 SP4)を実行している場合、登録が失敗することがあります。このエラーは、VM 上の古いパッケージが SUSE 更新インフラストラクチャと通信できないために発生することがあります。ネットワーク接続が部分的に成功しているように見える場合でも(たとえば、
telnetを使用して SMT サーバーに接続すると403 Forbiddenエラーが返される場合など)、/var/log/cloudregisterログファイルに到達不能な IP に関するエラーが表示されることがあります。パッケージが古いかどうかを確認するには、インストール日を確認します。1 年以上更新されていないパッケージは、古い可能性があります。パッケージの最終更新時刻を確認するには、次のコマンドを使用します。
rpm -qa --qf '%{NAME}-%{VERSION} : %{INSTALLTIME:date}\n' | grep PACKAGE_NAMEこの問題を解決するには、サポートされている SLES バージョンにアップグレードしてください。SUSE の技術情報ドキュメント(TID)の説明に沿って、特定のパッケージを更新する必要がある場合もあります。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-11-05 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-11-05 UTC。"],[],[]] -