Oracle Cloud InfrastructureでのOracle Retail Xstore Point of Serviceの実装
Oracle Retail Xstore Point of Serviceは、小売店での日々の取引を完了するためのツールを提供するPOSアプリケーションです。このリファレンス・アーキテクチャでは、Oracle Retail Xstore Point of Serviceインストーラを使用して、Oracle Cloud InfrastructureにデプロイできるDockerコンテナを作成することで、CI/CDパイプラインを構築する方法について説明します。
- POSハードウェア上のPOSシステムを使用してCapExを削減
- イベント販売などの一時的な使用のために店舗に新しいPOS端末を追加します
- 最新世代のクラウド・テクノロジを使用して、問題解決を自動化します。
- 市場投入までの期間を短縮セキュリティを強化
- 集計
- Xstore POSの簡素化
- 店舗分析の簡素化
アーキテクチャ
このアーキテクチャは、OCI上でOracle Retail Xstore Point of Serviceを実装しています。このアーキテクチャは、Xstore Point of Serviceのコンポーネントをコンテナ化して、クラウド・仮想マシンでホストされるPOS端末または拡張端末に独立してデプロイできるようにします。
次の図は、このリファレンス・アーキテクチャを示しています。
- Tenancy
テナンシは、Oracle Cloud InfrastructureにサインアップするときにOracleがOracle Cloud内で設定するセキュアで分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は単一のテナンシを持ち、そのテナンシの組織構造を反映させます。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションは通常、1つのテナンシのみを含みます。
- リージョン
Oracle Cloud Infrastructureリージョンとは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域のことです。リージョンは他のリージョンから独立しており、長距離の場合は複数の国または大陸にまたがる領域を分離できます。
- コンパートメント
コンパートメントは、Oracle Cloud Infrastructureテナンシ内のクロスリージョン論理パーティションです。コンパートメントを使用して、Oracle Cloudでリソースを編成し、リソースへのアクセスを制御して、使用量の割当てを設定します。特定のコンパートメント内のリソースへのアクセスを制御するには、誰がリソースにアクセスできるか、どのアクションを実行できるかを指定するポリシーを定義します。
- 可用性ドメイン
可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、ある可用性ドメインでの障害がリージョン内の他の可用性ドメインに影響を及ぼすことはほとんどありません。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義ネットワークです。VCNは、従来のデータ・センター・ネットワークと同様に、ネットワーク環境の完全な制御を可能にします。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- ロード・バランサー
Oracle Cloud Infrastructure Load Balancingサービスは、単一のエントリ・ポイントからバック・エンド内の複数のサーバーへの自動化されたトラフィック分散を提供します。ロード・バランサは、様々なアプリケーションへのアクセスを提供します。
- セキュリティ・リスト
サブネットごとに、サブネットの入出力を許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。
- NATゲートウェイ
NATゲートウェイを使用すると、VCN内のプライベート・リソースは、受信インターネット接続にそれらのリソースを公開することなく、インターネット上のホストにアクセスできます。
- サービス・ゲートウェイ
サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。VCNからOracleサービスへのトラフィックは、Oracleネットワーク・ファブリック上を移動し、インターネットを通過することはありません。
- クラウド・ガード
Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure内のリソースのセキュリティをモニターおよびメンテナンスできます。クラウド・ガードはディテクタ・レシピを使用します。ディテクタ・レシピを定義して、セキュリティの弱点についてリソースを調査し、オペレータとユーザーにリスクのあるアクティビティを監視します。構成の誤りや安全でないアクティビティが検出されると、Cloud Guardは修正アクションを推奨し、ユーザーが定義できるレスポンダ・レシピに基づいてそれらのアクションの実行を支援します。
- セキュリティ・ゾーン
セキュリティ・ゾーンでは、データの暗号化やコンパートメント全体のネットワークへのパブリック・アクセスの防止などのポリシーを適用することで、Oracleのセキュリティのベスト・プラクティスが最初から保証されます。セキュリティ・ゾーンは、同じ名前のコンパートメントに関連付けられ、コンパートメントとそのサブコンパートメントに適用されるセキュリティ・ゾーン・ポリシーまたはレシピが含まれます。セキュリティ・ゾーン・区分に標準コンパートメントを追加したり、移動することはできません。
- オブジェクト・ストレージ
オブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージおよびビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データをすばやくアクセスできます。インターネットから直接またはクラウド・プラットフォーム内から、安全かつセキュアにデータを格納し、取得できます。パフォーマンスやサービスの信頼性を低下させることなく、ストレージをシームレスに拡張できます。迅速、即時、頻繁にアクセスする必要のあるホット・ストレージに標準ストレージを使用します。長期間保存し、ほとんどまたはめったにアクセスしないコールド・ストレージにアーカイブ・ストレージを使用します。
- FastConnect
Oracle Cloud Infrastructure FastConnectは、データ・センターとOracle Cloud Infrastructureとの間に、専用のプライベート接続を簡単に作成する方法を提供します。FastConnectは、インターネット・ベースの接続と比較して、高帯域幅のオプションとより信頼性の高いネットワーキング・エクスペリエンスを提供します。
- ローカル・ピアリング・パスワード(LPG)
LPGを使用すると、1つのVCNを同じリージョン内の別のVCNとピアリングできます。ピアリングとは、VCNsがプライベートIPアドレスを使用して通信することを意味し、トラフィックがインターネットをトラバースしたり、オンプレミス・ネットワークを経由してルーティングしたりする必要はありません。
- 要塞サービス
Oracle Cloud Infrastructure Bastionは、パブリック・エンドポイントがなく、ベア・メタルや仮想マシン、Oracle MySQL Database Service Autonomous Transaction Processing (ATP)、Oracle Container Engine for Kubernetes (OKE)、Secure Shell Protocol (SSH)アクセスを許可するその他のリソースなど、厳密なリソース・アクセス制御を必要とするリソースへの制限された時間限定のセキュアなアクセスを提供します。Oracle Cloud Infrastructure Bastionサービスを使用すると、ジャンプ・ホストをデプロイおよびメンテナンスせずに、プライベート・ホストへのアクセスを有効にできます。さらに、アイデンティティベースの権限と一元化、監査および期限付きSSHセッションにより、セキュリティ・ポスチャが向上します。Oracle Cloud Infrastructure Bastionは、要塞アクセスのためのパブリックIPの必要性を排除し、リモート・アクセスを提供する際の手間と潜在的な攻撃対象領域を排除します。
- Container Engine for Kubernetes
Oracle Cloud Infrastructure Container Engine for Kubernetesは、コンテナ化されたアプリケーションをクラウドにデプロイするために使用できるフルマネージドでスケーラブルな可用性の高いサービスです。アプリケーションが必要とするコンピュート・リソースを指定すると、Container Engine for Kubernetesがそれらを既存のテナンシでOracle Cloud Infrastructureにプロビジョニングします。Container Engine for Kubernetesでは、Kubernetesを使用して、ホストのクラスタ間でコンテナ化されたアプリケーションのデプロイメント、スケーリングおよび管理を自動化します。
- レジストリ
Oracle Cloud Infrastructure Registryは、Oracle管理のレジストリで、開発から本番へのワークフローを簡略化できます。レジストリを使用すると、Dockerイメージなどの開発アーティファクトを簡単に格納、共有および管理できます。可用性の高いスケーラブルなOracle Cloud Infrastructureアーキテクチャにより、アプリケーションを確実にデプロイおよび管理できます。
レコメンデーション
- VCN
VCNを作成するときには、必要なCIDRブロックの数を決定し、VCN内のサブネットにアタッチする予定のリソースの数に基づいて各ブロックのサイズを決定します。標準のプライベートIPアドレス領域内にあるCIDRブロックを使用します。
プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。
VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。
サブネットを設計するときには、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを同じサブネットにアタッチします。このサブネットはセキュリティ境界として機能します。
リージョン・サブネットを使用します。
- セキュリティ
Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure内のリソースのセキュリティを事前対策してモニターおよび維持します。クラウド・ガードはディテクタ・レシピを使用します。ディテクタ・レシピを定義して、セキュリティの弱点についてリソースを調査し、オペレータとユーザーにリスクのあるアクティビティを監視します。構成の誤りや安全でないアクティビティが検出されると、Cloud Guardは修正アクションを推奨し、ユーザーが定義できるレスポンダ・レシピに基づいてそれらのアクションの実行を支援します。
最大限のセキュリティを必要とするリソースの場合、Oracleではセキュリティ・ゾーンを使用することをお薦めします。セキュリティ・ゾーンは、ベスト・プラクティスに基づくセキュリティ・ポリシーのOracle定義レシピに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースには、パブリック・インターネットからアクセスできないようにする必要があり、顧客管理キーを使用して暗号化する必要があります。セキュリティ・ゾーンでリソースを作成および更新すると、Oracle Cloud Infrastructureでは、その操作がセキュリティ・ゾーン・レシピのポリシーに対して検証され、いずれかのポリシーに違反する操作が拒否されます。
- クラウド・ガード
Oracleが提供するデフォルト・レシピをクローニングおよびカスタマイズして、カスタム・ディテクタおよびレスポンダ・レシピを作成します。これらのレシピを使用すると、警告を生成するセキュリティ違反のタイプと、それらに対して実行できるアクションを指定できます。たとえば、可視性がpublicに設定されているオブジェクト・ストレージ・バケットを検出できます。
クラウド・ガードをテナンシ・レベルで適用して、広範な範囲をカバーし、複数の構成を維持する管理上の負担を軽減します。
また、管理対象リスト機能を使用して、特定の構成をディテクタに適用することもできます。
- セキュリティ・ゾーン
セキュリティ・ゾーンでは、データの暗号化やコンパートメント全体のネットワークへのパブリック・アクセスの防止などのポリシーを適用することで、Oracleのセキュリティのベスト・プラクティスが最初から保証されます。セキュリティ・ゾーンは、同じ名前のコンパートメントに関連付けられ、コンパートメントとそのサブコンパートメントに適用されるセキュリティ・ゾーン・ポリシーまたはレシピが含まれます。セキュリティ・ゾーン・区分に標準コンパートメントを追加したり、移動することはできません。
- ネットワーク・セキュリティ・グループ(NSG)
NSGを使用して、特定のVNICに適用されるイングレスおよびエグレス・ルールのセットを定義できます。NSGでは、VCNのサブネット・アーキテクチャとアプリケーションのセキュリティ要件を分離できるため、セキュリティ・リストではなくNSGを使用することをお薦めします。
NSGを使用して、特定のVNICに適用されるイングレスおよびエグレス・ルールのセットを定義できます。NSGでは、VCNのサブネット・アーキテクチャとアプリケーションのセキュリティ要件を分離できるため、セキュリティ・リストではなくNSGを使用することをお薦めします。
- ロード・バランサの帯域幅
ロード・バランサの作成時に、固定帯域幅を提供する事前定義済シェイプを選択するか、帯域幅範囲を設定するカスタム(フレキシブル)シェイプを指定して、トラフィック・パターンに基づいて帯域幅を自動的にスケーリングできます。どちらのアプローチでも、ロード・バランサの作成後はいつでもシェイプを変更できます。
考慮事項
Oracle Cloud InfrastructureでOracle Retail Xstore Point of Serviceを設定する場合は、次の情報を考慮してください。
- 管理性
コンテナを使用すると、アプリケーションをより迅速にデプロイ、パッチ適用またはスケーリングできます。コンテナ・コントロール・プレーンは、プラットフォームの一部として、ロールバックやアップグレードなどのコンテナ管理を簡素化する様々なツールを提供します。インストールも行います。
- 可搬性
コンテナで実行されているアプリケーションは、複数の異なるオペレーティング・システム、ハードウェア・プラットフォームおよびクラウド・プラットフォームに簡単にデプロイできます。
- パフォーマンス
VMsなどの他の仮想化方法と比較して、コンテナは非常に軽量です。軽量化の多くの利点の1つは、迅速な起動時間です。コンテナは、コンピューティング・リソースにアクセスするためにハイパーバイザまたは仮想化されたオペレーティング・システムに依存しないため、起動時間は事実上瞬時に行われます。
- セキュリティ
コンテナ化によって導入された分離は、追加のセキュリティ・レイヤーも提供します。コンテナは相互に分離されるため、アプリケーションが独自の自己完結型環境で実行されていることを確認できます。つまり、1つのコンテナのセキュリティが損なわれても、同じホスト上の他のコンテナは安全です。
- コスト
このソリューションは、小売店のハードウェア・フットプリントの削減をサポートします。