このデプロイメント ガイドでは、SAP Adaptive Server Enterprise(ASE)をインストールする準備ができている Compute Engine 仮想マシン(VM)を Linux オペレーティング システムにデプロイして接続する方法について説明します。
このガイドでは、Cloud Deployment Manager を使用して、SAP ASE に必要な VM、Linux オペレーティング システム、ディスク ボリュームのデプロイと構成を行います。
Terraform を使用して、Linux システム上の SAP ASE 用の Google Cloud リソースを自動的にデプロイするには、Terraform: Linux の SAP ASE 用 VM の自動デプロイをご覧ください。
デプロイの計画については、SAP ASE プランニング ガイドをご覧ください。
前提条件
データ所在地、アクセス制御、サポート担当者、規制要件に準拠しながら SAP ワークロードを実行する必要がある場合は、必要な Assured Workloads フォルダを作成する必要があります。詳細については、Google Cloud 上の SAP のコンプライアンスと主権管理をご覧ください。
課金が有効になっている Google Cloud プロジェクトがまだない場合は、SAP ASE インストール用に VM をデプロイする前に、プロジェクトを作成する必要があります。
プロジェクトを作成するには:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
gcloud
コマンド環境の構成
この手順では、Google Cloud リソースをデプロイまたは構成するための gcloud
コマンドを、Cloud Shell を使用して入力します。Cloud Shell には、ブラウザの Google Cloud コンソールからアクセスします。
Cloud Shell は、Cloud Shell を起動するたびに Google Cloud がプロビジョニングする VM 上で動作します。初めて Cloud Shell を使用するときには、Google Cloud は永続的な $HOME
ディレクトリも作成します。このディレクトリは、Cloud Shell を開くたびに復元されます。
プロビジョニングされた VM には、最新の Google Cloud CLI が含まれています。したがって、Cloud Shell で使用する gcloud
コマンドは、gcloud CLI のローカルにインストールされたインスタンスで使用するコマンドと同じです。
gcloud CLI がインストールされている場合は、以下の手順の中で使用されている gcloud
コマンドをローカルマシンから発行できます。ただし、ローカルにインストールされた gcloud CLI を使用する場合は、常に最新バージョンの gcloud CLI を使用していることを確認する必要があります。
Cloud Shell または gcloud CLI のいずれを使用する場合でも、gcloud
コマンド環境のプロパティを設定または変更して、それらのプロパティを 1 つの構成として保存できます。構成は、gcloud
コマンドの動作に影響を与える Key-Value ペアのコレクションです。
Cloud Shell の構成で実行できる基本的な操作は次のとおりです。
構成を初期化する。
gcloud init
現在の gcloud 構成の設定を確認する。
gcloud config list
必要な Google Cloud プロジェクトに切り替える。
PROJECT_ID
は、実際の Google Cloud プロジェクト ID に置き換えます。gcloud config set project PROJECT_ID
デフォルト リージョンを設定する。
REGION
は、Google Cloud リージョンに置き換えます。gcloud config set compute/region REGION
デフォルト ゾーンを設定する。
ZONE
は、Google Cloud ゾーンに置き換えます。gcloud config set compute/zone ZONE
新しい構成を作成する。
NAME
は、構成の名前に置き換えます。gcloud config configurations create NAME
構成に対する操作について詳しくは、gcloud CLI 構成の管理をご覧ください。
ネットワークの作成
セキュリティ上の理由から、新しいネットワークを作成します。アクセスできるユーザーを制御するには、ファイアウォール ルールを追加するか、別のアクセス制御方法を使用します。
プロジェクトにデフォルトの VPC ネットワークがある場合、デフォルトは使用せず、明示的に作成したファイアウォール ルールが唯一の有効なルールとなるように、独自の VPC ネットワークを作成してください。
デプロイ中、VM インスタンスは通常、Google Cloud の SAP 用エージェントをダウンロードするためにインターネットにアクセスする必要があります。Google Cloud から入手できる SAP 認定の Linux イメージのいずれかを使用している場合も、ライセンスを登録して OS ベンダーのリポジトリにアクセスするために、VM インスタンスからインターネットにアクセスする必要があります。このアクセスをサポートするために、NAT ゲートウェイを配置し、VM ネットワーク タグを使用して構成します。ターゲット VM に外部 IP がない場合でもこの構成が可能です。
ネットワークを設定するには:
コンソール
- Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。
- [VPC ネットワークを作成] をクリックします。
- ネットワークの名前を入力します。
命名規則に従って名前を付けてください。VPC ネットワークは、Compute Engine の命名規則を使用します。
- [サブネット作成モード] で [カスタム] をクリックします。
- [新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。
- サブネットの名前を入力します。
- [リージョン] で、サブネットを作成する Compute Engine のリージョンを選択します。
- [IP スタックタイプ] で [IPv4(シングルスタック)] を選択し、CIDR 形式で IP アドレス範囲を入力します。(
10.1.0.0/24
など)これはサブネットのプライマリ IPv4 範囲です。複数のサブネットワークを追加する場合は、ネットワーク内の各サブネットワークに重複しない CIDR IP 範囲を割り当ててください。各サブネットワークとその内部 IP 範囲は、単一のリージョンにマッピングされることに注意してください。
- [完了] をクリックします。
- さらにサブネットを追加するには、[サブネットを追加] をクリックして前の手順を繰り返します。ネットワークを作成した後で、ネットワークにさらにサブネットを追加できます。
- [作成] をクリックします。
gcloud
- Cloud Shell に移動します。
- カスタム サブネットワーク モードで新しいネットワークを作成するには、次のコマンドを実行します。
gcloud compute networks create NETWORK_NAME --subnet-mode custom
NETWORK_NAME
は、新しいネットワークの名前に置き換えます。命名規則に従って名前を付けてください。VPC ネットワークは、Compute Engine の命名規則を使用します。デフォルトの自動モードでは、各 Compute Engine リージョンにサブネットが自動的に作成されます。この自動モードを使用しないようにするには、
--subnet-mode custom
を指定します。詳しくは、サブネット作成モードをご覧ください。 - サブネットワークを作成し、リージョンと IP 範囲を指定します。
gcloud compute networks subnets create SUBNETWORK_NAME \ --network NETWORK_NAME --region REGION --range RANGE
次のように置き換えます。
SUBNETWORK_NAME
: 新しいサブネットワークの名前NETWORK_NAME
: 前の手順で作成したサービスの名前REGION
: サブネットワークを配置するリージョン。SAP NetWeaver で SAP ASE を使用している場合は、SAP NetWeaver に対してサポートされているリージョンを使用してください。RANGE
: CIDR 形式で指定された IP アドレス範囲(例:10.1.0.0/24
)。複数のサブネットワークを追加する場合は、ネットワーク内の各サブネットワークに重複しない CIDR IP 範囲を割り当ててください。各サブネットワークとその内部 IP 範囲は、単一のリージョンにマッピングされることに注意してください。
- 必要に応じて前の手順を繰り返し、サブネットワークを追加します。
NAT ゲートウェイの設定
パブリック IP アドレスなしで 1 台以上の VM を作成する必要がある場合は、ネットワーク アドレス変換(NAT)を使用して、VM がインターネットにアクセスできるようにする必要があります。Cloud NAT は Google Cloud の分散ソフトウェア定義マネージド サービスであり、VM からインターネットへのパケットの送信と、それに対応するパケットの受信を可能にします。また、別個の VM を NAT ゲートウェイとして設定することもできます。
プロジェクトに Cloud NAT インスタンスを作成する方法については、Cloud NAT の使用をご覧ください。
プロジェクトに Cloud NAT を構成すると、VM インスタンスはパブリック IP アドレスなしでインターネットに安全にアクセスできるようになります。
ファイアウォール ルールの追加
デフォルトでは、暗黙のファイアウォール ルールにより、Virtual Private Cloud(VPC)ネットワークの外部からの受信接続がブロックされます。受信側の接続を許可するには、VM にファイアウォール ルールを設定します。VM との受信接続が確立されると、トラフィックはその接続を介して双方向に許可されます。
特定のポートへの外部アクセスを許可するファイアウォール ルールや、同じネットワーク上の VM 間のアクセスを制限するファイアウォール ルールも作成できます。VPC ネットワーク タイプとして default
が使用されている場合は、default-allow-internal
ルールなどの追加のデフォルト ルールも適用されます。追加のデフォルト ルールは、同じネットワークであれば、すべてのポートで VM 間の接続を許可します。
ご使用の環境に適用可能な IT ポリシーによっては、データベース ホストへの接続を分離するか制限しなければならない場合があります。これを行うには、ファイアウォール ルールを作成します。
目的のシナリオに応じて、次の対象にアクセスを許可するファイアウォール ルールを作成できます。
- クライアント接続用の ASE ネットワーク リスナー。デフォルトの ASE ポート番号は
5000
です。 - SAP ASE Cockpit で必要とされるポート。ASE Cockpit が使用するポートの一覧については、SAP ヘルプポータルの SAP ASE Cockpit のドキュメントをご覧ください。
- すべての SAP プロダクトの TCP/IP にリストされているデフォルトの SAP ポート。
- パソコンまたは企業のネットワーク環境から Compute Engine VM インスタンスへの接続。使用すべき IP アドレスがわからない場合は、社内のネットワーク管理者に確認してください。
- SAP HANA ネットワークの VM 間の通信(SAP HANA スケールアウト システムのノード間の通信や、3 層アーキテクチャのデータベース サーバーとアプリケーション サーバー間の通信など)。VM 間の通信を有効にするには、サブネットワーク内から発信されるトラフィックを許可するファイアウォール ルールを作成する必要があります。
- VM インスタンスへの SSH 接続(ブラウザでの SSH を含む)。
- Linux のサードパーティ製ツールを使用した VM への接続。ファイアウォール ルールを作成して、ツールのアクセスを許可します。
ファイアウォール ルールを作成するには:
コンソール
Google Cloud コンソールで、VPC ネットワークの [ファイアウォール] ページに移動します。
ページ上部の [ファイアウォール ルールを作成] をクリックします。
- [ネットワーク] フィールドで、VM が配置されているネットワークを選択します。
- [ターゲット] フィールドで、このルールが適用される Google Cloud 上のリソースを指定します。たとえば、[ネットワーク上のすべてのインスタンス] を指定します。Google Cloud 上の特定のインスタンスにルールを制限するには、[指定されたターゲットタグ] にタグを入力してください。
- [ソースフィルタ] フィールドで、次のいずれかを選択します。
- 特定の IP アドレスからの受信トラフィックを許可する場合は、[IP 範囲] を選択します。[ソース IP の範囲] フィールドで IP アドレスの範囲を指定します。
- サブネット: 特定のサブネットワークからの受信トラフィックを許可する場合に使用します。次の [サブネット] フィールドにサブネットワーク名を指定します。このオプションを使用すると、3 層構成またはスケールアウト構成で VM 間のアクセスを許可できます。
- [プロトコルとポート] セクションで、[指定したプロトコルとポート] を選択して
tcp:PORT_NUMBER
を指定します。
[作成] をクリックしてファイアウォール ルールを作成します。
gcloud
次のコマンドを使用してファイアウォール ルールを作成します。
$
gcloud compute firewall-rules create FIREWALL_NAME
--direction=INGRESS --priority=1000 \
--network=NETWORK_NAME --action=ALLOW --rules=PROTOCOL:PORT \
--source-ranges IP_RANGE --target-tags=NETWORK_TAGS
Deployment Manager を使用した SAP ASE 用 Linux VM のデプロイ
次の手順では、Deployment Manager を使用して、Linux および、SAP ASE に必要なすべての永続ディスクを含む VM インスタンスをデプロイします。インストールの設定値は、Deployment Manager 構成ファイルのテンプレートで定義します。
Deployment Manager では、SAP ASE システム用に作成されたすべてのリソースがデプロイメントと呼ばれる単一のエンティティとして扱われます。Google Cloud コンソールの [デプロイメント] ページで、Google Cloud プロジェクトのすべてのデプロイメントを表示できます。
以下の手順では Cloud Shell を使用していますが、代わりにローカル ターミナルで Google Cloud CLI を使用することもできます。
Cloud Shell を開きます。
Cloud Shell で次のコマンドを入力して、
template.yaml
構成ファイルのテンプレートを作業ディレクトリにダウンロードします。wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_ase/template.yaml
必要に応じて
template.yaml
のファイル名を変更し、このファイルで定義する構成がわかるようにします。template.yaml
ファイルを Cloud Shell コードエディタで開きます。Cloud Shell コードエディタを開くには、Cloud Shell ターミナル ウィンドウの右上にある鉛筆アイコンをクリックします。
template.yaml
ファイルで、以下のプロパティ値のかっことその内容をご使用のインストール環境の値に置き換えて更新します。プロパティ データ型 説明 type
String デプロイ中に使用する Deployment Manager テンプレートの場所、タイプ、バージョンを指定します。
YAML ファイルには 2 つの
type
仕様が含まれており、そのうちの 1 つがコメントアウトされています。デフォルトで有効なtype
仕様では、テンプレート バージョンをlatest
として指定します。コメントアウトされているtype
仕様では、タイムスタンプを使用して特定のテンプレート バージョンを指定します。すべてのデプロイで同じテンプレート バージョンを使用する必要がある場合は、タイムスタンプを含む
type
仕様を使用します。instanceName
String SAP ASE がインストールされる VM インスタンスの名前。名前は 13 文字以下で、小文字、数字、またはハイフンで指定する必要があります。 instanceType
String SAP ASE がインストールされる Compute Engine 仮想マシンのタイプ。同一の VM 上で SAP ASE を SAP NetWeaver とともに実行する場合は、両方のシステムをサポートするのに十分な CPU とメモリを含むマシンタイプを選択します。SAP NetWeaver プランニング ガイドをご覧ください。 zone
String SAP ASE をデプロイするゾーン。サブネットワーク用に選択したのと同じリージョンにある必要があります。 subnetwork
文字列 前のステップで作成したサブネットワークの名前。共有 VPC にデプロイする場合は、この値を SHARED_VPC_PROJECT/SUBNETWORK
の形式で指定します。例:myproject/network1
linuxImage
String SAP ASE で使用している Linux オペレーティング システム イメージまたはイメージ ファミリーの名前。イメージ ファミリーを指定するには、ファミリー名に接頭辞 family/
を追加します。例:family/rhel-7
またはfamily/sles-12-sp2-sap
。特定のイメージを指定するには、イメージ名のみを指定します。利用可能なイメージ ファミリーの一覧については、Cloud Console の [イメージ] ページをご覧ください。linuxImageProject
String 使用するイメージを含む Google Cloud プロジェクト。このプロジェクトは独自のプロジェクトか、 rhel-sap-cloud
やsuse-sap-cloud
のような Google Cloud イメージ プロジェクトです。Google Cloud イメージ プロジェクトの一覧については、Compute Engine ドキュメントのイメージのページをご覧ください。aseSID
String データベースのインスタンス ID。 asesidSize
Integer データベース インスタンスのルート ディレクトリである /sybase/DBSID
のサイズ(GB 単位)。デプロイされた VM では、このボリュームにはASE
というラベルが付きます。asediagSize
Integer SAPTOOLS の診断テーブル スペースを保持する /sybase/DBSID/sapdiag
のサイズ。asesaptempSize
Integer データベースの一時テーブル スペースを保持する /sybase/DBSID/saptmp
のサイズ。asesapdataSize
Integer データベースのデータファイルを保持する /sybase/DBSID/sapdata
のサイズ。aselogSize
Integer データベースのトランザクション ログを保持する /sybase/DBSIDlogdir
のサイズ。asebackupSize
Integer /sybasebackup
ボリュームのサイズ。0
に設定するか省略した場合、ディスクは作成されません。asesapdataSSD
boolean データドライブの SSD への切り替え。 true
に設定した場合、データディスクは SSD になります。aselogSSD
boolean ログドライブの SSD への切り替え。 true
に設定した場合、ログディスクは SSD になります。usrsapSize
Integer 同じ VM インスタンス上で SAP NetWeaver とともに SAP ASE をインストールして実行する場合にのみ必要です。 sapmntSize
Integer 同じ VM インスタンス上で SAP NetWeaver とともに SAP ASE をインストールして実行する場合にのみ必要です。 swapSize
Integer 同じ VM インスタンス上で SAP NetWeaver とともに SAP ASE をインストールして実行する場合にのみ必要です。 次の構成ファイルは、SAP ASE データベース サーバーと SAP NetWeaver の両方を実行するように構成された VM を作成します。この構成ファイルは、SLES 12 SP2 オペレーティング システムを実行している
n1-standard-16
VM をデプロイするよう Deployment Manager に指示します。VM には、SAP NetWeaver とともに SAP ASE を実行するために必要なすべてのディレクトリが含まれています。resources: - name: sap_ase type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_ase/sap_ase.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_ase/sap_ase.py # properties: instanceName: ex-vm-ase-lin instanceType: n1-standard-16 zone: us-central1-f subnetwork: example-sub-network linuxImage: family/sles-12-sp2-sap linuxImageProject: suse-sap-cloud aseSID: AS1 asesidSize: 10 asediagSize: 15 asesaptempSize: 20 asesapdataSize: 50 aselogSize: 30 asebackupSize: 100 asesapdataSSD: Yes aselogSSD: Yes usrsapSize: 15 sapmntSize: 15 swapSize: 24
VM インスタンスを作成します。
gcloud deployment-manager deployments create DEPLOYMENT_NAME --config TEMPLATE_NAME.yaml
上記のコマンドによって Deployment Manager が起動され、
template.yaml
ファイルの仕様に従って VM がデプロイされます。処理には数分かかる場合があります。デプロイの進行状況を確認するには、次のセクションの手順を実施してください。
デプロイの確認
デプロイを確認するには、Cloud Logging でデプロイログを確認し、VM の設定を確認します。
ログを調べる
Google Cloud コンソールで Cloud Logging を開き、インストールの進行状況をモニタリングして、エラーを確認します。
ログをフィルタします。
ログ エクスプローラ
[ログ エクスプローラ] ページで、[クエリ] ペインに移動します。
[リソース] プルダウン メニューから [グローバル] を選択し、[追加] をクリックします。
[グローバル] オプションが表示されない場合は、クエリエディタに次のクエリを入力します。
resource.type="global" "Deployment"
[クエリを実行] をクリックします。
以前のログビューア
- [以前のログビューア] ページの基本的なセレクタ メニューから、ロギング リソースとして [グローバル] を選択します。
フィルタされたログを分析します。
"--- Finished"
が表示されている場合、デプロイメントは完了しています。次の手順に進んでください。割り当てエラーが発生した場合:
[IAM と管理] の [割り当て] ページで、SAP ASE プランニング ガイドに記載されている SAP ASE の要件を満たしていない割り当てを増やします。
Deployment Manager の [デプロイ] ページでデプロイメントを削除し、失敗したインストールから VM と永続ディスクをクリーンアップします。
デプロイを再実行します。
VM の構成を確認する
SAP ASE システムがデプロイされたら、SSH を使用して VM に接続します。Compute Engine の [VM インスタンス] のページで、VM インスタンスの SSH ボタンをクリックするか、お好みの SSH メソッドを使用します。
root ユーザーに切り替えます。
sudo su -
コマンド プロンプトで
df -h
を実行します。//sybase/DBSID/sapdata
ディレクトリなど、次のような出力が表示されていることを確認します。次のコマンドを入力して、スワップ ディレクトリが作成されたことを確認します。
cat /proc/meminfo | grep Swap
次の例のような結果が表示されます。
確認ステップの途中でインストールに失敗したことが示された場合、次の手順を行います。
- エラーを修正します。
- [デプロイ] ページでデプロイメントを削除し、失敗したインストールから VM と永続ディスクをクリーンアップします。
- デプロイを再実行します。
データベースのインストール
オペレーティング システムが構成されたら、SAP ASE データベースをインストールできます。
VM に SAP ASE をインストールするには:
- Linux ベースの VM への SSH 接続を確立します。
- SAP から VM に SAP ASE インストール メディアをダウンロードするかコピーします。
- インストールに使用する SAP ASE SySAM ライセンス ファイルまたはライセンス サーバーを準備します。
- SAP ASE データベースをインストールします。詳しくは、SAP ASE installation and upgrade guide for Linux をご覧ください。
Google Cloud の SAP 用エージェントのインストールを検証する
VM をデプロイして SAP システムをインストールしたら、Google Cloud の SAP 用エージェントが正常に機能していることを確認します。
Google Cloud の SAP 用エージェントが実行されていることを確認する
エージェントの動作確認の手順は次のとおりです。
Compute Engine インスタンスと SSH 接続を確立します。
次のコマンドを実行します。
systemctl status google-cloud-sap-agent
エージェントが正常に機能している場合、出力には
active (running)
が含まれます。例:google-cloud-sap-agent.service - Google Cloud Agent for SAP Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-12-02 07:21:42 UTC; 4 days ago Main PID: 1337673 (google-cloud-sa) Tasks: 9 (limit: 100427) Memory: 22.4 M (max: 1.0G limit: 1.0G) CGroup: /system.slice/google-cloud-sap-agent.service └─1337673 /usr/bin/google-cloud-sap-agent
エージェントが実行されていない場合は、エージェントを再起動します。
SAP Host Agent が指標を受信していることを確認する
Google Cloud の SAP 用エージェントによってインフラストラクチャの指標が収集され、SAP Host Agent に正しく送信されていることを確認するには、次の操作を行います。
- SAP システムで、トランザクションとして「
ST06
」を入力します。 概要ウィンドウで可用性と以下のフィールドの内容を確認し、SAP と Google モニタリング インフラストラクチャのエンドツーエンドの設定が正しいか調べます。
- クラウド プロバイダ:
Google Cloud Platform
- Enhanced Monitoring Access:
TRUE
- Enhanced Monitoring Details:
ACTIVE
- クラウド プロバイダ:
デプロイ後のタスクの実行
SAP ASE インスタンスを使用する前に、次のデプロイ後の手順を実行することをおすすめします。
- 最新のパッチがある場合は、それを使用して SAP ASE ソフトウェアを更新します。
- 追加のコンポーネントをインストールします。
- 新しい SAP ASE データベースを構成してバックアップします。
デプロイ後のガイダンスについて詳しくは、Linux 向け SAP ASE インストール アップグレード ガイドのインストール後のタスクについてのセクションをご覧ください。
トラブルシューティング
このセクションでは、一般的な問題を修正する方法について説明します。
VM への接続に関するトラブルシューティング
SSH 経由で VM に接続する際に問題が発生した場合は、使用している Google Cloud ネットワークでポート 22
を開くファイアウォール ルールが作成されていることを確認してください。
その他の考えられる問題については、ブラウザから SSH 経由で接続する際の既知の問題をご覧ください。