2022/08/10

AWSでの「Red Hat OpenShift」とは?簡単な構築方法もご紹介します!

 
  

AWSの「Red Hat OpenShift Service」とは?


AWSの「Red Hat OpenShift Service」とは、「Red Hat」社が提供している「OpenShift」というクラウド用基盤ソフトウェアをAWS上のフルマネージドサービス化したものです。

「Red Hat」社の「OpenShift」とは、Dockerコンテナを稼働させるオープンソース環境の「Kubernetes(クーバネティス)」をベースとして「Red Hat社」が製品化したものです。

そのため「Red Hat OpenShift Service」のサポートは、「AWS社」と「Red Hat社」の両社共同で行われています。

「Kubernetes」とは?

「Kubernetes(クーバネティス)」とは、Dockerコンテナを稼働させるためのオープンソースのプラットフォームです。

オープンソース・ソフトウェアとして開発されており、「CNCF(Cloud Computing Foundation)」という団体によって支援されています。

Dockerコンテナは、当初はソフトウェアの開発環境を簡易に構築するために利用されていました。またメモリ使用量が少ないためアプリケーションの起動が早いこと、コンテナ単位での可搬性があること等がメリットとなっています。

このDockerコンテナのメリットについて、開発環境だけではなく本番環境でも活かせるように開発されたのが「Kubernetes」です。本番環境で運用するために、アプリの自動デプロイや運用自動化の機能、オートスケーリング等が開発されました。

AWSでの「Red Hat OpenShift」の準備


AWSでの「Red Hat OpenShift」を使用する準備として、「Red Hat OpenShift Container Platform」をAWS上にデプロイ(サーバ上に配置)します。

「Red Hat OpenShift Container Platform」は、「Red Hat Enterprise Linux(RHEL)」とLinux用Dockerコンテナプラットフォームの「Kubernetes」とで構成されています。

AWS上への「Red Hat OpenShift」のデプロイについて

「Red Hat OpenShift」は、AWSが提供している「ベストプラクティス(※推奨されるアーキテクチャ設計)」に基づいて構築されたプラットフォーム環境にデプロイします。

このようにAWS上に「Red Hat OpenShift」用の環境を構築する際には、自動構築ツールの「AWS CloudFormation」用のテンプレートが提供されています。

これらのデプロイの際には、「OpenShift マスターインスタンス」、「ノードインスタンス」や「etcd インスタンス」を高い可用性が保ちながらプロビジョニング(※利用可能な状態として設定すること)されます。

オプションのコンポーネントとして、「AWS Service Broker」、「GlusterFS」、「OpenShift Automation Broker」、「Hawkular」の指標値が含まれています。

「AWS クイックスタート」とは?

「AWS クイックスタート」とは、AWS上で人気が高いサービス用の環境構築を簡単に実行できるサービスです。

各「AWS クイックスタート」は、デプロイ作業を自動化してくれる「AWS CloudFormation 用テンプレート」、詳細なデプロイ手順が記載されている「構築ガイド」等で、主に構成されています。

「AWS CloudFormation 用テンプレート」は、AWS社のソリューションアーキテクト(SA)とパートナー企業によって構築されています。またAWSの「ベストプラクティス」を元に構築されているため、セキュリティと高可用性が担保されています。

「AWS クイックスタート」の様々な環境構築用機能によって、複雑な手作業の手順が大幅に短縮できるので、本番環境の構築から実行までの時間を削減できます。

AWSクイックスタートを利用した「Red Hat OpenShift」の環境構築

「Red Hat OpenShift」用のAWSクイックスタートを利用することで、自動で環境構築が行なえます。構築される環境の詳細を具体的に紹介します。

最初に、3アベイラビリティーゾーン(AZ)に渡る「Virtual Private Cloud(VPC)が構築され、各AZは「プライベートサブネット」✕1、「パブリックサブネット」✕1で構成されます。

また各サブネットへのインターネットアクセス用の「インターネットゲートウェイ」が構築されます。

「パブリックサブネット」は、「Ansible Config サーバーインスタンス」がデプロイされます。

また「プライベートサブネット」には、「Auto Scaling グループ」の「OpenShift マスターインスタンス」✕3、「OpenShift etcd インスタンス」✕3、ロードバランサーで可変となっている「OpenShift ノードインスタンス」がデプロイされます。

AWS クイックスタートの利用時における注意点

AWS クイックスタートの利用時における注意点として、「Auto Scaling グループ」に「OpenShift インスタンス」を配置する際に、スケーリングを「無効」としておきます。

つまり「マスターインスタンス」と「etcd インスタンス」は3個で固定としておきます。ただし、アベイラビリティーゾーンごとに1個は配置するようにします。

一方、「ノード数」は自由に変更することができるので、指定したアベイラビリティーゾーン内で分散処理されます。

「Auto Scaling コンポーネント」の設定

次に、AWSクイックスタートの「Auto Scaling コンポーネント」の設定を行います。

「OpenShift クラスター」内でインスタンス設定をするには、「Amazon CloudWatch Events」と「AWS Systems Manager Run Command」を利用します。

この際に呼び出される「オンインスタンススクリプト」は、「Auto Scaling API」に対してクエリを発行し、クラスター内の「Auto Scaling グループ」の設定が変更されたかを判定します。

設定変更として判定された場合は、スクリプトは必要な処理を実行します。例えば、設定変更が「スケールアウトイベント」の場合は、スクリプトはクラスター関連メタデータを新規インスタンス用に作成します。

「OpenShift クラスター」内からインスタンスを削除するには、「Ansible ホストインベントリ」から「ノード定義」を削除する処理がスクリプトによって行われます。

「Red Hat OpenShift」環境のデプロイ手順


「Red Hat OpenShift」環境のデプロイ手順について紹介します。

「Red Hat Subscription」にサインインした後に、コンソール画面上を操作して「AWS クイックスタート」を起動します。デプロイが開始されますが、これに掛かる時間は約1.5時間です。

新規のVPCにデプロイする場合と、既存のVPCにデプロイする場合との2種類から選択できます。また「Amazon Route 53」以外のDNSサービスを利用する際には、DNSを設定しておく必要があります。

デプロイの成功可否を検証するには、「OpenShift コマンドラインインターフェース(CLI)」を利用して、「OpenShift Webコンソール」にアクセスします。

デプロイの設定自体を変更する場合は、「インフラストラクチャ設定」、「オプションコンポーネント設定」、「OpenShift ノード」、「DNS 設定」を使用します。

「Red Hat OpenShift」クイックスタートの利用料金


「Red Hat OpenShift」の利用料金としては、上記の「AWSクイックスタートリファレンス」のデプロイ中に使用したAWS関連サービスに関しては利用料金が掛かります。

一方で、「AWSクイックスタート」自体は、利用しても追加料金は発生しません。ただし、デプロイするインスタンスタイプ等の一部の設定によっては利用料金が変更されることがあり、料金体系自体も変更になるので、コスト面では注意が必要です。

このAWSクイックスタートを活用して、Dockerコンテナの実行環境を自動で構築できる「Red Hat OpenShift」を積極的に利用してみてはいかがでしょうか。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】