Infrastructure as Codeを使用したデータ・センターへのワークロードのデプロイ(IaC)
複数のクラウドにワークロードをデプロイすると、テクノロジ・スタックへの新機能の追加時、ユーザーのオンボーディングや削除時、およびディザスタ・リカバリ環境の拡張時に、停止時間がほとんどまたはまったくない場合の柔軟性が高まります。
しかし、このような柔軟性により、ベンダーの管理から、より多くの統合の更新、より多くのソフトウェア・ライセンス契約(SLA)への対応に至るまで、さらに複雑になる可能性があります。
マルチクラウドの導入を簡素化するために、企業はTerraformやAnsibleなどのInfrastructure as Codeツールを使用できます。これらのIaCツールは、アジャイル開発、継続的な統合、継続的なデリバリおよびDevOpsのプラクティスを実現するだけでなく、クラウド・インフラストラクチャ・コンポーネントの手動プロビジョニングなどの障害を取り除きます。IaCはモジュール化されているため、コードの各部分を分割または組み合せて複数のデプロイメントのユースケースに対応できるため、ソフトウェア開発ライフサイクル全体をより効率的にすることができます。
アーキテクチャ
オンプレミス・データベースのOracle Cloud Infrastructure (OCI)への移行に加えて、可能なかぎり最高のパフォーマンス、最高の可用性および最小のコストを実現するために、環境を最適化する必要があります。
複数のクラウド・リージョンにワークロードをデプロイする場合、Oracle Cloud Infrastructure Resource Managerが役立ちます。クラウドまたはオンプレミス環境用に構成されたTerraformモジュールを使用することで、単一のクラウド・リージョンまたは複数のクラウド・リージョンに簡単にリソースをインストールできます。
次のダイアグラムにアーキテクチャを示します。
iac-oci-orm-deployment-oracle.zip
アーキテクチャには、次のコンポーネントがあります。
- テナント
テナンシは、Oracle Cloud Infrastructureへのサインアップ時にOracleがOracle Cloud内で設定するセキュアで分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、整理および管理できます。テナンシは、会社または組織と同義です。通常、会社は単一のテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションには1つのテナンシのみが含まれます。
- リージョン
Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含むローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、広大な距離で(複数の国または複数の大陸にまたがる)リージョンを分離できます。
- アイデンティティおよびアクセス管理(IAM)
Oracle Cloud Infrastructure Identity and Access Management (IAM) is the access control plane for Oracle Cloud Infrastructure (OCI) and Oracle Cloud Applications.IAM APIおよびユーザー・インタフェースを使用すると、アイデンティティ・ドメインおよびアイデンティティ・ドメイン内のリソースを管理できます。各OCI IAMアイデンティティ・ドメインは、スタンドアロンのアイデンティティおよびアクセス管理ソリューションまたは異なるユーザー人口を表します。
- ポリシー
Oracle Cloud Infrastructure Identity and Access Managementポリシーでは、誰がどのリソースにどのようにアクセスできるかを指定します。アクセス権はグループ・レベルおよびコンパートメント・レベルで付与されます。つまり、特定のコンパートメント内またはテナンシへの特定のアクセスのタイプをグループに付与するポリシーを記述できます。
- ロギングLoggingは、クラウド内のリソースから次のタイプのログへのアクセスを提供する高度にスケーラブルで完全管理型のサービスです:
- 監査ログ: Auditサービスによって発行されるイベントに関連するログ。
- サービス・ログ: APIゲートウェイ、イベント、ファンクション、ロード・バランシング、オブジェクト・ストレージ、VCNフロー・ログなどの個々のサービスによって発行されたログ。
- カスタム・ログ: カスタム・アプリケーション、他のクラウド・プロバイダまたはオンプレミス環境からの診断情報を含むログ。
- 通知
Oracle Cloud Infrastructure Notificationsサービスは、Oracle Cloud Infrastructureでホストされているアプリケーションに対して、セキュア、高信頼性、低レイテンシおよび永続的なメッセージを配信するパブリッシュ/サブスクライブ・パターンを介して、分散コンポーネントにメッセージをブロードキャストします。
- レジストリ
Oracle Cloud Infrastructure Registryは、Oracle管理のレジストリで、開発から本番のワークフローを簡略化できます。レジストリを使用すると、Dockerイメージなどの開発アーティファクトを簡単に格納、共有および管理できます。Oracle Cloud Infrastructureの高可用性とスケーラブルなアーキテクチャにより、アプリケーションを確実にデプロイおよび管理できます。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、VCNによってネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる、重複しない複数のCIDRブロックを含めることができます。VCNをサブネットにセグメント化して、そのスコープをリージョンや可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- セキュリティ・リスト
サブネットごとに、サブネットの内外で許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。
- ルート表
仮想ルート表には、サブネットからVCN外部の宛先(通常はゲートウェイ経由)へのトラフィックをルーティングするルールが含まれます。
- 動的ルーティング・ゲートウェイ(DRG)
DRGは、VCNとリージョン外部のネットワーク(別のOracle Cloud InfrastructureリージョンのVCN、オンプレミス・ネットワーク、別のクラウド・プロバイダ内のネットワークなど)間の、同じリージョン内のVCN間のプライベート・ネットワーク・トラフィックのパスを提供する仮想ルーターです。
- ネットワーク・アドレス変換(NAT)ゲートウェイ
NATゲートウェイを使用すると、VCN内のプライベート・リソースは、受信インターネット接続に公開されることなく、インターネット上のホストにアクセスできます。
- サービス・ゲートウェイ
サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and never traverses the internet.
- コンピュート
Oracle Cloud Infrastructure Computeサービスを使用すると、クラウド内のコンピュート・ホストをプロビジョニングおよび管理できます。CPU、メモリー、ネットワーク帯域幅およびストレージのリソース要件を満たすシェイプを使用してコンピュート・インスタンスを起動できます。コンピュート・インスタンスを作成したら、インスタンスに安全にアクセスして再起動し、ボリュームをアタッチおよびデタッチして、不要になったら終了できます。
- オブジェクト・ストレージ
オブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。インターネットから直接またはクラウド・プラットフォーム内から、安全かつセキュアにデータを格納し、取得できます。パフォーマンスやサービスの信頼性を損なうことなく、シームレスにストレージを拡張できます。迅速、即時、頻繁にアクセスする必要があるホット・ストレージには、標準ストレージを使用します。長期間保持し、ほとんどまたはほとんどアクセスしないコールド・ストレージには、アーカイブ・ストレージを使用します。
- 開発操作
Oracle Cloud Infrastructure DevOpsは、開発者がソフトウェア開発ライフサイクルを簡略化および自動化するための完全な継続的インテグレーション/継続的デリバリ(CI/CD)プラットフォームです。OCI DevOpsを使用すると、開発者とオペレータは共同でソフトウェアを開発、構築、テストおよびデプロイできます。開発者と事業者は、ビルド、テストおよびデプロイのフェーズを通じたソースのコミットの履歴を使用して、開発ライフサイクル全体にわたる可視性を得ることができます。