OCI学習ロードマップ(初級編)

初級編の題材は、社員30人の会社の経費申請Webアプリです。社内向けで一般公開はしませんが、外出先からも使えるようにします。小さくても安全なシステムを1つ作りながら、7段階・35項目でOCIを学びます。下の目次を見れば、学ぶ範囲が分かります。

作るシステムの完成図

Goal Architectureこれから作る経費申請アプリの完成図
社員管理者東京リージョンBastionVCN 10.0.0.0/16public-lbLBHTTPS 443WAFポリシーprivate-appCompute 1FD 1Compute 2FD 2公開IPなしNSGで層ごとに制限private-dbAutonomous閉域接続VaultパスワードObject Storage領収書監視・通知Monitoring予算アラート
  1. 青の線:社員の通信。入口はLBのHTTPSだけで、WAFポリシーはLBで働きます。
  2. 紺の線:アプリからDBへ。外からは直接届きません。
  3. 緑の点線:管理者の接続。Bastionを通して2台へ入り、サーバーに公開IPは持たせません。
  4. 灰の点線:Compute 2台と、VaultやObject StorageなどOCIのサービスのやり取りです。
  5. 省略:ルート表と、Internet Gateway、NAT Gateway、Service Gateway は図から省いています。経路は STEP 3 で作ります。
東京リージョンに、LB、アプリ、DBの3層で作る。大阪へのDRやKubernetesは入れない

STEP 1完成図で設計を知る

作れるもの完成図の部品の役割を説明でき、検証用の環境が手元にある

  1. 1-1OCIの入れ子構造テナンシ、リージョン、AD、コンパートメントの関係を図で押さえる無料
  2. 1-2AWSからの読み替えVPCやIAMなど、知っている言葉を置き換える無料
  3. 1-3今回作るシステムの完成図経費申請アプリの全体図と、部品ごとの役割を見る無料
  4. 1-4無料と有料の境界Free Trial、Always Free、従量課金の違いを知り、進め方を決める無料
  5. 1-5用語はここで引く分からない言葉をAWSの名前からも探す無料

STEP 2権限の箱を作る

作れるもの3つのコンパートメント、管理ポリシー、予算アラートができている

  1. 2-1コンパートメントを3つに分けるnetwork、security、app に分ける。記事の例は環境別だが、今回は app を1つにまとめる無料
  2. 2-2管理ポリシーを書く4つの動詞で、必要な権限だけを与える無料
  3. 2-3動的グループを理解するAPIキーを置かずにComputeへ権限を渡す無料
  4. 2-4予算アラートを先に置くリソースを作る前に、実績と予測で通知を受ける。通知だけで課金は止まらない条件あり

STEP 3閉じたネットワークを作る

作れるもの3層のサブネットと通信経路ができ、外から入れる場所がLBだけになる

  1. 3-1VCNと3層サブネットLB、アプリ、DBの3層に分ける無料
  2. 3-2ゲートウェイを選ぶ通信先からInternet、NAT、Serviceを決める条件あり
  3. 3-3ルート表を書く外向きはNAT、OCIサービス向きはService Gatewayに分ける条件あり
  4. 3-4NSGで層ごとに絞るLB、アプリ、DBのNSGを参照し合い、必要な通信だけ通す無料
  5. 3-5AWSとの違いを確認する設計の感覚が変わる点を整理する無料

STEP 4非公開のサーバーを動かす

作れるもの公開IPなしのCompute 2台に、Bastion経由でログインできる

  1. 4-1シェイプを選ぶArmとx86の違い、OCPUの数え方、アプリの対応を確認する条件あり
  2. 4-22台をFDに分けるADが1つの東京で、どう障害に備えるかを考える条件あり
  3. 4-3公開IPなしで作るプライベートサブネットに置き、SSH鍵を管理する条件あり
  4. 4-4Bastionでログインするセッションの方式、接続元の制限、時間の上限を押さえる無料
  5. 4-5OS更新の通信を確かめるNAT経由の外向き通信とService Gatewayを実際に通す条件あり

STEP 5データを閉域に置く

作れるものパスワードをコードに書かず、アプリから閉域のDBへ接続できる

  1. 5-1DBサービスを選ぶAutonomous AI Database と Base Database の選び方
  2. 5-2プライベートエンドポイントを付けるパブリックとの違い、無料版では使えないこと
  3. 5-3アプリから接続する接続の方式、ウォレット、NSGのルール
  4. 5-4パスワードをVaultに置くシークレットに保管し、動的グループで読む無料
  5. 5-5領収書をObject Storageへキーなしで、Service Gateway経由で置く条件あり

STEP 6守りを固めてリリースする

作れるもの認証とアクセス元の制限を考え、外出先からもHTTPSとWAF越しにアプリを使える

  1. 6-1LBの後ろにComputeリスナー、バックエンド、ヘルスチェックを作る条件あり
  2. 6-2HTTPSにするドメインと証明書を用意し、LBへ向ける条件あり
  3. 6-3WAFを付けるWAFポリシーをLBにつなぐ条件あり
  4. 6-4アプリのログインを守る社員だけが使えるよう、認証とアクセス元の制限を考える条件あり
  5. 6-5使い始める前に通信を点検する外から届くのがLBの443だけか、NSGを見直す無料

STEP 7運用に乗せて仕上げる

作れるもの異常に気付けて、壊れても戻せて、月額を説明できる

  1. 7-1監視と通知を作る何が起きたら誰に知らせるかを決め、アラームにする無料
  2. 7-2ログとCloud GuardLBログとFlow Logsを残し、設定の問題を検知する。Cloud Guard は有料テナンシが前提条件あり
  3. 7-3バックアップと復元の練習ポリシーで取得し、実際に戻して確かめる
  4. 7-4月額を見積もる構成全体を料金の考え方に当てはめる無料
  5. 7-5構成をコードにするCLIとResource Managerで再現できるようにする無料
  6. 7-6資格で理解を確かめる作った構成を資格の範囲に照らす

作り終えた人へ

目次