Docker環境をセキュアに提供するOracle Container Cloud Service

 2021.10.25  株式会社システムエグゼ オラクルクラウドチーム

アプリケーションをすばやく、簡単に構築できると多くの企業で導入されているDocker。デフォルトのままでも十分な機能がそろっていますが、クラウドサービスで利用することで、より簡単かつセキュアにDockerを使用することができます。

この記事ではDockerの基本を記載しつつ、環境構築に適したクラウドサービスOracle Container Cloud Serviceの概要を紹介していきます。

そもそもDockerとは

Oracle Container Cloud Serviceの説明をする前に、まずはDockerの概要について詳しくみていきましょう。

Dockerとは、Docker社が開発しているコンテナ型の仮想環境構築プラットフォームです。
これまでの仮想技術といえば、基となるOS(ホストOS)の上でもう1つのOS(ゲストOS)を動作させるハイパーバイザ型(Hyper-V、Linux KVMなど)が主流でした。

しかし、OSの上にもう1つのOSを立ち上げるため、オーバーヘッド(余分に必要となるリソース)が大きく、運用コストも割高になるという弱点がありました。

そこで注目を集めたのがDockerです。コンテナと呼ばれるユニットにソフトウェアをパッケージ化するため、新しいOSを立ち上げる必要もなく、軽量で高速に起動することが可能です。2013年の登場以来、どんな環境でもアプリケーションをすばやく構築、テスト、デプロイできると一気に脚光を浴び、今では多くの世界的企業が採用しています。

Dockerの特徴と利点

Dockerにできることは多岐に渡り、以下のような利点が挙げられます。

軽量化を図り作業を効率化

Docker最大のメリットと言えるのが、軽量化による作業の効率化。仮想マシンではOSをいくつも立ち上げる必要がありましたが、ゲストOSを使用しない軽量のコンテナなら一瞬で立ち上げることができます。
また、従来のシステム開発では、サーバーをはじめとした機器の調達、環境を整えることが最優先とされてきました。この点でも、Dockerを活用することで、ハードウェアを気にせずエンジニアはアプリケーション開発に専念することが可能となります。

運用コストの削減

従来のアプリケーション開発では、サーバー管理の多くのインフラコストがかかっていました。軽量で集約率が高いDockerコンテナであれば、CPUやメモリといったリソースの使用効率が向上し、毎日のインフラコストを大幅に削減していけるのです。

環境を配布しやすい

インフラ環境をコード化して管理可能なDockerなら、開発工程と同じ本番環境を簡単に作り出すことができます。これにより、開発では動いたが本番では動かないという心配がなくなり、ほかのエンジニアにも配布しやすくなるので、ヒューマンエラーの防止や作業時間の短縮につながります。

Docker Hub

Dockerには、ユーザーが作成したコンテナをアップロードして公開・共有できる「Docker Hub」というサービスがあります。世界中の開発者が作成した成果物を入手し、効率よく活用するための仕組みが整えられています。企業の業務遂行に有用なうえ、自社エンジニアや従業員たちのプログラミングの勉強にもつながるでしょう。

ホワイトペーパー:【ADW】ベンチマーク検証(SwingBench編)
ホワイトペーパー:【ADW】オンデマンドバックアップの取得

Oracle Container Cloud Serviceとは

Oracle Container Cloud Serviceとは、Dockerコンテナを簡単かつセキュアに提供する、オラクル社のクラウドサービスです。

Docker EngineやDocker ComposeといったDockerに互換した機能、プライベートレジストリへの簡単接続など、Dockerを簡単で便利に利用できるさまざまな機能が搭載されています。

またOracle Container Cloud Serviceでは、以下のコンポーネントとインタフェースでDocker環境の安全性を担保します。

  • Oracle Container Cloud Serviceコンテナ・コンソール
    ダッシュボード、エディタ、ビューを使用して、Docker内のイメージ、コンテナ、レジストリを管理。
  • Oracle Container Cloud Service REST API
    RESTリクエストをコード化して、Docker内のイメージ、コンテナ、レジストリを管理。
  • Oracle Container Cloud Serviceコンソール
    ダッシュボードとウィザードを使用して、サービス・インスタンスを作成・管理。

Oracle Container Cloud Service上でDocker環境を構築する手順

Oracle Container Cloud Serviceの概要について理解できたところで、実際にDocker環境を構築する手順を確認していきましょう。

Oracle Container Cloud Serviceへのアクセス

Oracle Container Cloud Serviceコンソールへアクセスするためには、以下の手順が必要です。

  1. :My Servicesアプリケーションにサインインして、受け取った電子メールに記載されている資格証明を使用してログイン
  2. :ダッシュボード→Oracle Container Cloud Serviceエントリに移動。メニューから「Open Service Console」を選択
  3. :Service Detailsのページにある「Open Service Console」をクリックして、「Services」タブを表示

Oracle Container Cloud Serviceインスタンスの作成

Oracle Container Cloud Serviceのサービス・インスタンスを作成するためには、以下の手順が必要です。

  1. :Oracle Container Cloud Serviceのコンソール画面から「インスタンス作成」をクリック
  2. :Instance Creationウィザードの「Details」ページで、以下の情報を入力
    ・サービス名
    ・サービスの説明
    ・SSF公開キー
    ・管理者ユーザー名・パスワード
    ・ワーカーノードのコンピュート・シェイプ
    ・ワーカーノード数
    ・ワーカーノードのデータボリューム
  3. :確認画面でなにも問題なければ、作成をクリックして完了
  4. :数分後Oracle Container Cloud Serviceインスタンスが作成されると、コンソール画面に仮想マシンの情報が表示される

Oracle Container Cloud Serviceダッシュボードの使用方法

Oracle Container Cloud Serviceのダッシュボードにログインすると、次のような画面が表示されます。

各メニューの概要を覚えておきましょう。

  • Dashboard:インスタンスの一覧情報
  • Resource Pools:リソース・プールの作成・一覧表示
  • Services:Servicesの新規作成や編集・削除
  • Stacks:Stacksの新規作成や編集・削除
  • Deployments:ServicesとStacksの一覧表示
  • Containers:Dockerコンテナの一覧表示
  • Images:各ホストのDockerイメージ
  • Hosts:ホストに関する情報
  • Registries:使用可能なレジストリ
  • Search:アーティストの検索
  • Tags:Dockerに使用するタグ情報
  • Tasks & Events:実施・発生したイベントのログを表示
  • Service Discovery:DockerのIPアドレスとポート番号を保持するデータベース

Dockerコンテナの起動方法

Dockerコンテナ(Oracle Container Cloud Serviceインスタンス)を起動するためには、以下の手順で進めていきます。

  1. :Oracle Container Cloud Serviceコンソールの「Services」を選択
  2. :登録済みのサービスが一覧で表示されるので、メニューアイコンをクリックして「開始」を選択
  3. :プロトコルが表示されたら「OK」をクリック。インスタンス内のマネージャノード、ワーカーノードが起動する

まとめ

今回は、Dockerのメリットや特徴を解説しつつ、より簡単かつセキュアに利用できるOracle Container Cloud Serviceを紹介してきました。

使いこなすことで作業が簡素化され、ヒューマンエラー防止にもつながりますので、Docker環境を構築している、もしくはこれからの導入を考えている企業の方は、ぜひ検討してみてはいかがでしょうか。


RECENT POST「OCI基礎知識」の最新記事


OCI基礎知識

Oracle Cloudの障害情報を簡単に確認する方法とは?

OCI基礎知識

Oracle Cloud ApplicationsとOracle Application Developmentでビジネスを加速

OCI基礎知識

Oracle Container Engine for Kubernetes(OKE)とは?

OCI基礎知識

Oracle Cloud Infrastructureのチュートリアルで使い方の基本を学ぼう

Docker環境をセキュアに提供するOracle Container Cloud Service