

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# オープンソースツールを使用して SAP システムを自動的にインストール
<a name="install-sap-systems-automatically-by-using-open-source-tools"></a>

*Amazon Web Services、Guilherme Sesterheim*

## 概要
<a name="install-sap-systems-automatically-by-using-open-source-tools-summary"></a>

このパターンでは、オープンソースツールを使用して以下のリソースを作成することで SAP システムのインストールを自動化する方法を示しています。
+ SAP S/4HANA 1909 データベース
+ SAP ABAP セントラルサービス (ASCS) インスタンス
+ SAP プライマリアプリケーションサーバー (PAS) インスタンス

HashiCorp Terraform が SAP システムのインフラストラクチャを作成し、Ansible がオペレーティングシステム (OS) を設定し、SAP アプリケーションをインストールします。Jenkins がインストールを実行します。

この設定により、SAP システムのインストールが反復可能なプロセスになり、デプロイの効率と品質が向上します。

**注記**  
このパターンで提供されるサンプルコードは、高可用性 (HA) システムと非 HA システムの両方で機能します。

## 前提条件と制限
<a name="install-sap-systems-automatically-by-using-open-source-tools-prereqs"></a>

**前提条件**
+ アクティブなAWS アカウント
+ すべての SAP メディアファイルを含めるAmazon Simple Storage Service (Amazon S3) バケット
+ [アクセスキーとシークレットキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) を持ち、以下の権限を持つ AWS アイデンティテとアクセス管理 (IAM) プリンシパルです。
  + **読み取り専用権限：**Amazon Route 53、AWS Key Management Service (AWS KMS)
  + **読み取り権限と書き込み権限：**Amazon S3、Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Elastic File System (Amazon EFS)、IAM、Amazon CloudWatch、Amazon DynamoDB
+ ルート 53 [プライベートホストゾーン](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html)
+ Amazon マーケットプレイスの [HA およびアップデートサービス 8.2 付けの Red Hat Enterprise Linux for SAP](https://aws.amazon.com/marketplace/pp/prodview-5grz5a5thx7c2) のAmazon マシンイメージ (AMI) についての説明
+ [AWS KMS カスタマー管理キー](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#aws-managed-customer-managed-keys) 
+ [Secure Shell (SSH) キーペア](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) 
+ Jenkins をインストールしたホスト名からのポート 22 で SSH 接続を許可する [Amazon EC2 セキュリティグループ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html) (多分、ホスト名が**localhost**)
+ インストール、設定されたHashiCorpによる [バグラント](https://www.vagrantup.com/) 
+ インストール、設定された Oracle による [VirtualBox](https://www.virtualbox.org/) 
+ Git、テラフォーム、アンシブル、ジェンキンスに精通

**制限事項**
+ この特定のシナリオで完全にテストされているのは SAP S/4HANA 1909 だけです。別のバージョンの SAP HANA を使用する場合、このパターンの Ansible コード例を変更する必要があります。
+ このパターンのサンプル手順は Mac OS と Linux オペレーティングシステムで機能します。一部のコマンドは UNIX ベースの端末でしか実行できません。ただし、別のコマンドと Windows OS を使用しても同様の結果が取得されます。

**製品バージョン**
+ SAP S/4HANA 1909
+ Red Hat Enterprise Linux (RHEL) バージョン 6 以上

## アーキテクチャ
<a name="install-sap-systems-automatically-by-using-open-source-tools-architecture"></a>

次の図表では、オープンソースツールを使用して AWS アカウントで SAP システムのインストールを自動化するワークフローの例を示しています。

![オープンソースツールを使用して AWS アカウントで SAP システムのインストールを自動化するワークフローの例。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/aaf11dac-38cc-4e89-be86-51d4409cf238/images/d7902f9d-f1be-461f-b69b-cf3c663c8f2f.png)


この図表は、次のワークフローを示しています:

1. Jenkins は Terraform と Ansible のコードを実行することで SAP システムのインストールをオーケストレーションします。

1. Terraform コードは SAP システムのインフラストラクチャを構築します。

1. Ansible コードが OS を設定し、SAP アプリケーションをインストールします。

1. 定義されたすべての前提条件を含む SAP S/4HANA 1909 データベース、ASCS インスタンス、および PAS インスタンスが Amazon EC2 インスタンスにインストールされます。

**注記**  
このパターンの設定例では、Terraform 状態ファイルを保存するための Amazon S3 バケットが AWS アカウントに自動的に作成されます。

**テクノロジースタック**
+ Terraform
+ Ansible
+ Jenkins
+ SAP S/4HANA 1909 データベース
+ SAP ASCS インスタンス
+ SAP PAS インスタンス
+ Amazon EC2 

## ツール
<a name="install-sap-systems-automatically-by-using-open-source-tools-tools"></a>

** サービス**
+ 「[Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/?id=docs_gateway)」は、AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
+ 「[AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)」は、AWS リソースへのアクセスを安全に管理し、誰が認証され、使用する権限があるかを制御するのに役立ちます。
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) は、ユーザーのデータを保護するために使用される、暗号化キーの作成と制御を容易にするマネージドサービスです。
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。この仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークに似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。

**その他のツール**
+ [HashiCorp Terraform](https://www.terraform.io/docs) は、コードを使用してクラウドインフラストラクチャとリソースをプロビジョニングおよび管理するのに役立つコマンドラインインターフェイスアプリケーションです。
+ [Ansible](https://www.ansible.com/) は、アプリケーション、構成、IT インフラストラクチャの自動化に役立つオープンソースのコード設定 (CaC) ツールです。
+ [Jenkins](https://www.jenkins.io/) は、デベロッパーがソフトウェアを確実に構築、テスト、デプロイできるようにするオープンソースのオートメーションサーバーです。

**コード**

このパターンのコードでは、GitHub 内の「[aws-install-sap-with-jenkins-ansible](https://github.com/aws-samples/aws-install-sap-with-jenkins-ansible)」リポジトリで利用できます。

## エピック
<a name="install-sap-systems-automatically-by-using-open-source-tools-epics"></a>

### AWS の前提条件の設定
<a name="configure-the-prerequisites"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Amazon S3 バケットにファイルを追加します。 | SAP メディアファイルをすべて含め、[Amazon S3 バケットを作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)します。[Launch Wizard ドキュメント](https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-sap-software-install-details.html) の **S/4HANA** の AWS Launch Wizard のフォルダ階層に必ず従ってください。 | クラウド管理者 | 
| VirtualBox をインストールします。 | Oracle で [VirtualBox](https://www.virtualbox.org/) をインストールして設定します。 | DevOps エンジニア | 
| Vagrant をインストールします。 | HashiCorp による [Vagrant](https://www.vagrantup.com/)のインストールと設定を行います。 | DevOps エンジニア | 
| AWS アカウントの設定 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/install-sap-systems-automatically-by-using-open-source-tools.html) | AWS 全般 | 

### SAP インストールを構築して実行
<a name="build-and-run-your-sap-installation"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| GitHub から リポジトリのクローンを作成します。 | GitHub の [aws-install-sap-with-jenkins-ansible](https://github.com/aws-samples/aws-install-sap-with-jenkins-ansible) リポジトリをクローンします。 | DevOps エンジニア | 
| Jenkins サービスを開始します。 | Linux ターミナルを開く 次に、クローンされたコードリポジトリフォルダを含むローカルフォルダにナビゲーションし、以下のコマンドを実行します。<pre>sudo vagrant up</pre>Jenkins の起動には約 20 分かかります。コマンドが成功する場合、**サービスがアップし、実行されています**というメッセージが返されます。 | DevOps エンジニア | 
| ウェブブラウザで Jenkins を開き、ログインします。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/install-sap-systems-automatically-by-using-open-source-tools.html) | DevOps エンジニア | 
| SAP システムのインストールパラメータを設定します。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/install-sap-systems-automatically-by-using-open-source-tools.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/install-sap-systems-automatically-by-using-open-source-tools.html)その他の必須ではないパラメータは、ユースケースに基づいて必要に応じて設定できます。例えば、SAP システムのインスタンスの SAP システム ID (SID)、デフォルトパスワード、名前、タグを変更できます。 すべての必須変数には、名前の先頭に **(必須)** が付いています。 | AWS システム管理者、DevOps エンジニア | 
| SAP システムインストールを実行します。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/install-sap-systems-automatically-by-using-open-source-tools.html)パイプラインステップの詳細については、AWS ブログの[オープンソースツールによる SAP インストールの自動化](https://aws.amazon.com/blogs/awsforsap/automating-sap-installation-with-open-source-tools/) の**パイプラインステップの理解** セクションを参照してください。エラーが発生した場合、表示される赤いエラーボックスの上にカーソルを移動し、**[ログ]** を選択します。エラーが発生したパイプラインステップのログが表示されます。ほとんどのエラーは、誤ったパラメータ設定が原因で発生します。 | DevOps エンジニア、AWS システム管理者 | 

## 関連リソース
<a name="install-sap-systems-automatically-by-using-open-source-tools-resources"></a>
+ [SAP 向け DevOps — SAP インストール：2 か月から 2 時間へ](https://videos.itrevolution.com/watch/707351918/) (DevOps エンタープライズ提出ビデオライブラリ)