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」を積極的に利用してみてはいかがでしょうか。
Search キーワード検索
Popular 人気の記事
-
AWS EBSとは?8つの特徴とEBSボリュームについても解説
公開: 更新: -
AWSのT2とT3の違いとは?用途に合った選択をしよう!
公開: 更新:
reccomended おすすめ記事
-
AWSエンジニアの将来性は?年収と必要なスキル6つをご紹介!
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
通信キャリア向け基盤構築/東京都渋谷区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/在宅ワーク
月給65万~65万円東京都渋谷区(神泉駅) -
各種対応/東京都新宿区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給60万~60万円東京都新宿区(高田馬場駅) -
要件定義、構築/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給60万~60万円東京都千代田区(飯田橋駅) -
運用構築/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給56万~56万円東京都千代田区(飯田橋駅) -
監視システムの保守、更改/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給55万~55万円東京都千代田区(神保町駅) -
各種対応/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】
月給60万~60万円東京都千代田区(虎ノ門駅)