Cloud上でのオペレーションをくわしくおわりにこんにちは。Cloud関係のお仕事をしているAKです。Classic(OCI-C)」の記事が増えてきました。(DBCS)」を連携させてみます。これらは別人のはずなのによく見ると似ている...他人の空似のような存在です。(PaaS)の中に含まれるサービスです。データベースをプラットフォームとして提供してくれるサービスで、DBCSのインスタンスを作成するとOracleデータベースがインストールされ、起動済みですぐに接続できるデータベースサーバーが生成されます。OCI-CのComputeインスタンスと同様に、DBCSもクラウドのメリットであるスケールアップを容易に行うことができます。CloudのWebコンソールから実施・設定可能なところです。IaaSとPaaSをつなげてできることDBCSはデータベースそのものです。クラウド上にシステムを構築する際にはデータベースだけではシステムは成り立ちません。IaaSのComputeインスタンスは自由にソフトウェアをインストールすることができるのでDBCSとデータをやりとりするには最適なお相手と言えます。Cloudはネットワークやセキュリティコンポーネントを適切に設計することで、クラウド上にセキュアなシステムを構築することができます。DBCSをIaaSと連携させて構築することでDBCS構築完了とともに設計済のセキュリティコンポーネントも一式できあがります。IaaSのネットワークやセキュリティコンポーネント、Computeインスタンスを用いて以下のような簡単なシステムを考えてみます。登場するコンポーネントは以下となります。DatabaseのClientをセットアップします。Cloud上でのオペレーションをくわしくそれではさっそく、IaaSのComputeインスタンスとPaaSのDBCSインスタンスがつながる環境を作りましょう。2.と3.の各インスタンス作成はどちらが先でも構いません。Networkを1つ作成します。Networkを作成する前に、どのサイトに作るかを確認しておきます。このサイトにIaaSのComputeインスタンスやPaaSのDBCSインスタンスを作ります。今回作成するComputeインスタンスやDBCSインスタンスはこのIPレンジ内でIPアドレスが採番されます。Instance」ページを開き、”Region”欄に1.の最初で確認したサイトを指定します。Networkが選択できるようになります。Networkをここで設定します。IaaSとPaaSの連携ができません。「Confirmation」のページまで来ました。Networkが指定されています。Networkはオブジェクト名に所有者名が含まれてしまうため一部塗り潰しています)[Create]ボタンをクリックすると構築が開始され、30分ほどでDBCSインスタンスが起動します。Classic)にてComputeインスタンスを作成します。Networkを使用するように設定します。Networkを設定する画面です。Network“のチェックを入れることで、上記の画面の表示・設定ができるようになります。Networkを構築します。Networkを指定します。Networkの範囲内のIPアドレスを指定します。この際に入力するIPアドレスをIP範囲の若い値にしないようにしましょう。これは、『PaaSインスタンスは起動順に若いIPアドレスから自動採番していく』という動きがあるためです。ひとつ、eth0、eth1ともにvNICsetsに”default”が含まれています。後ほど自作のvNICSetを設定するため、今は[x]をクリックして解除しておいてください。Computeインスタンスのカスタマイズ作成を最後まで入力し、”Review”画面まできました。Network”に1.で作成したものが含まれていることを確認の上、[Create]ボタンをクリックしましょう。構築が開始され、20分ほどでIaaSインスタンスが起動します。ここでIaaSのインスタンス一覧を確認すると、先ほど作成したIaaSのComputeインスタンスとその前に作成したPaaSのDBCSが並んでいます。実はPaaSもIaaSと同じ基盤上で構築されているため、PaaSインスタンスもIaaSインスタンスとして扱うことができます。Cloud上の操作の中には、PaaSインスタンスに対しても通用するものが少なからず存在します。IaaSとPaaSを繋ぐためのネットワーク設定を作ろう実は、この段階ではIaaSのインスタンスにもDBCSにも、外部からアクセスすることはできません。Network上のものが主なためです。IaaSのインスタンスとDBCSのインスタンスもまだ相互に疎通はできません。ここでは、最小限のネットワーク設定を行い、外部との疎通とインスタンス間の疎通ができるようにします。Setを結びつけるものです。ComputeインスタンスのvNICをこれにまとめておき、セキュリティ設定をまとめて指定するためのグルーピング用コンポーネントです。Ruleを作り、アクセス可否を制御するルールを決めます。今回作成したIaaSインスタンスには用途の違う2つのネットワークがあります。LAN(eth1)です。Ruleを適用するため、ACL、vNICSetは各2つずつ作ります。RuleはInとOutで定義するので、2つのネットワークに2つずつ、計4個作ります。Network”内から作ることができます。必要な作業は入力画面に”Name”欄を指定するだけです。ACLの一覧を見ると、既に作成済のACLが存在します。Networkを指定したことで自動的に作成されたものです。Ruleを割り当て済みであることも読み取れます。Network”内から作ります。Network向けのvNICの2つが生成されています。PaaSのDBCSインスタンスにもvNICが1つ存在します。Network向けの2つのvNICsetにまとめます。Network向けのvNICsetを作ります。Network側のvNICとDBCSのvNICが含まれています。2つ目のvNICsetは外部向けです。IaaSのvNICのみ含めます。vNICsetは以下のようになりました。ここにもDBCSによって自動生成されたvNICsetが1つあります。Listも”Network”タブから作ります。Listの構築が終わればネットワーク関連の設定は完了です。LAN向けのACLを作成しました。Listを作成します。今回はEgress、Ingressともに細かい制御はしないものを作ります。IaaSのComputeインスタンスとPaaSのDBCSインスタンスを接続する準備ができました。ListもDBCSによる自動生成のものがいくつも存在します。Listenerポートの1521に関する定義は「IaaSPaaS-DBCS/db_1/ora_p2_dblistener」に含まれ、デフォルトの無効化状態から有効化することでDBCSへのPublic-Internetからの接続が許容されます。セットアップし、SQL*Plusを用いてPaaSのDBCSに接続できることを確認しました。SQL*PlusからDBCSに接続するには接続文字列が必要です。Overviewページから確認できます。String”の項目が有用です。SQL*Plusから接続文字列を用いて接続する場合は”Resources”内に記載された情報が有用となります。上記のようにIaaSのComputeインスタンスからPaaSのDBCSインスタンスに接続できました。おわりにIaaSのComputeインスタンスからPaaSのDBCSインスタンスを連携させるという、今回の目的は無事に達成できました。単純化のためComputeインスタンスが1台であったり、セキュリティ関連をまとめて設定していたりと、このまま運用するには不安の残る設定ではあります。動く・つながる設定から入り、徐々に詰めていくのもクラウドならではの構築設計方法です。マニュアルや各種公開情報を参考にいろいろと設計を研究してみてください。Cloudスタータパック」の開発へ。好きな食べ物は野菜、好きな飲み物はエナジードリンク。