OCI Computeのシェイプの選び方と、2台をFDに分けて公開IPなしで作る手順
※当ページにはAmazonアソシエイト等の広告リンクを含みます。
公式ドキュメントで検証最終検証 2026-11-01編集部出典 18件
当ページの解説・制限値・構成図は、一般公開されている Oracle Cloud Infrastructure (OCI) 公式ドキュメント、Oracle Cloud Price List、および Oracle University 公開試験ガイドを一次根拠として検証し、独自のSVG視覚図解として作成しています。
- Compute Shapes
- Arm-Based Compute
- Platform Images
- Changing the Shape of an Instance
- Always Free Resources
- Regions and Availability Domains
- Best Practices for Your Compute Instances
- Editing the Fault Domain for an Instance
- Resolving Out of Host Capacity error
- Creating an Instance
- Managing Key Pairs on Linux Instances
- Connecting to an Instance on a Private Subnet Using a Bastion
- Known Issues for Bastion
- Known Issues for Compute
- Deploy Apache Tomcat on Arm-based Ampere A1 compute connected to an autonomous database
- Installing Oracle Instant Client Using RPMs
- Specifying the Compute Architecture on Which to Run Functions
- Amazon EC2 User Guide: CPU options for Amazon EC2 instances
1. シェイプを選ぶ:Armとx86の違い
シェイプは、インスタンスのCPU、メモリ、ネットワークの組み合わせです。Flexシェイプなら、OCPUとメモリを別々に指定できます。メモリの最小は1GB、またはOCPU数の大きいほうです。最大は1 OCPUあたり64GBで、シェイプごとに合計の上限があります。
主なFlexシェイプを表1に示します。
表1:主なFlexシェイプ(2026-11-01確認。最新は公式で確認)
| シェイプ | CPU | 種類 | 1 OCPUの中身 | 最大OCPU |
|---|---|---|---|---|
VM.Standard.A1.Flex | Ampere Altra | Arm | 1 vCPU | 76 |
VM.Standard.A2.Flex | AmpereOne | Arm | 2 vCPU | 78 |
VM.Standard.A4.Flex | AmpereOne M | Arm | 2 vCPU | 45 |
VM.Standard.E5.Flex | AMD EPYC | x86 | 2 vCPU | 126 |
VM.Standard.E6.Flex | AMD EPYC | x86 | 2 vCPU | 126 |
VM.Standard3.Flex | Intel Xeon | x86 | 2 vCPU | 32 |
A1の無料枠は、月に1,500 OCPU時間と9,000 GB時間です。2 OCPU、メモリ12GB相当で、1 OCPU・6GBの2台なら、31日の月でも枠に収まります(2026-11-01確認。最新は公式で確認してください)。
Always FreeのComputeはホームリージョンに作ります。ホームリージョンが東京でないと、東京のA1は枠の対象になりません。料金は公式の価格表と料金のページで確かめてください。
OCPUの数え方
OCPUは、OCIのCPUの課金と割り当ての単位です。AWSのvCPUと同じではありません。
EC2の多くのインスタンスは、1スレッドを1 vCPUとして数えます。x86のOCPUは1コア2スレッドなので、2 vCPUです。ただし、OCPUの数をそろえても同じ性能とは限りません。CPUの種類をまたぐなら、自分のアプリで負荷を測って決めます。
あとから変えられるもの
Flexシェイプは、同じシェイプのままOCPUとメモリを変えられます。インスタンスが動いていれば再起動されるので、作業時間を決めて行います。
一方、Armとx86をまたぐ変更は簡単ではありません。シェイプの変更には、作成時のイメージが新しいシェイプに対応している必要があります。Armとx86のイメージは互換性がなく、名前に aarch64 が入っているものがArm用です。作り直す前提で考えます。
2. アプリのArm対応を確かめる
A1を選ぶ前に、アプリが動くかを確かめます。経費申請アプリなら、OSから順に下から見ていきます。
表2:Arm対応の確認リスト
| 確認するもの | 確かめること | 公式で分かること |
|---|---|---|
| OSイメージ | Arm用のイメージがあるか | Oracle LinuxとUbuntuに対応。Ubuntuでは Minimal ではなく標準のイメージを使う。WindowsはAmpereシェイプに非対応 |
| 実行環境 | 使う言語のArm版があるか | Java、GraalVM、MySQLなどの開発資料がある |
| DB接続 | ドライバがArmで動くか | A1のTomcatからAutonomous DatabaseへJDBCで接続する構成例がある。Instant Clientにはaarch64のRPMがある |
| コンテナ | Arm用の依存物を含むイメージか | Functionsの解説では、1つのタグでx86とArmを含むマルチアーキテクチャイメージを案内している |
| 独自のライブラリ | x86向けのビルドだけではないか | 製品ごとに提供元の案内を確認する |
もう1つ、Bastionとの相性もあります。A1でOracle Linux以外のOSを使うと、マネージドSSHセッションは使えません。ポート転送セッションに切り替えることになります。今回は運用を簡単にするため、Oracle Linuxを選びます。
3. 2台をFDに分ける
東京リージョンのADは1つです(2026-11-01確認)。ADをまたいだ分散はできませんが、1つのADには3つのフォルトドメイン(FD)があります。
FDは、AD内のハードウェアとインフラのまとまりです。2台を別のFDに置くと、同じ物理ハードウェアに載らなくなります。
- FDで防げるもの:1つのFDのハードウェア障害と、Computeのハードウェア保守の影響です。
- FDで防げないもの:AD全体やリージョン全体の障害です。東京はADが1つなので、別ADへは逃がせません。
公式のベストプラクティスも、Webサーバーを2台に分けて、1つのFDの障害でアプリが止まらないようにする構成を示しています。1つのFDの障害やComputeのハードウェア保守は、別のFDのインスタンスに影響しません。
アプリ側にも準備が要ります。片方が止まってもログインが切れないよう、セッションや領収書をCompute内に置かず、DBやObject Storageに置きます。ヘルスチェックの設定は、LBの項目で扱います。
FDは作成時に指定する
FDを指定しないと、システムが選びます。ベストエフォートでFDを分けて配置しますが、確実に分けたいなら自分で指定します。1台目を FD 1、2台目を FD 2 にします。
作成時に Out of host capacity のエラーが出ることがあります。そのシェイプの物理的な容量が、指定したFDやADで足りないという意味です。東京ではADを変えられないので、別のFDを指定するか、少し待って試します。FD 1 とFD 2 にこだわる必要はありません。2台が別のFDなら、FD 3 でもかまいません。
4. 公開IPなしで作る
Computeは private-app に置きます。プライベートサブネットのVNICは公開IPを持てないので、付け忘れの心配もありません。
- 接続元:Bastionが許可した接続元のIPからセッションを始めます。
- Compute へ:Bastion経由でプライベートIPに届きます。手順は次の項目で扱います。
- 遮断:プライベートサブネットのVNICは公開IPを持てません。
作成の手順
コンソールのインスタンス作成画面で、次のように指定します。1台目を作ったら、名前とFDを変えて2台目も作ります。
- Compartment に
appを選びます。VCNがnetworkにあっても問題ありません。 - Advanced options の Fault domain で、1台目のFDを選びます。
- Image に、Oracle LinuxのArm用イメージを選びます。
- Change shape で Ampere の
VM.Standard.A1.Flexを選び、Number of OCPUs と Amount of memory (GB) を入れます。 - Primary network で既存のVCNと
private-appを選びます。 - SSH鍵は、自分で作った公開鍵をアップロードするか貼り付けます。
- Oracle Cloud Agentの設定で、Bastionプラグインを有効にします。
- 作成後、インスタンスの詳細で、公開IPがないこととFDを確かめます。
NSGは、アプリ用のものをここで付けます。Bastionを使う接続はBastionの解説で扱います。
SSH鍵を管理する
Linuxインスタンスにはパスワードではなく、SSH鍵で入ります。鍵の扱いは、作る前に決めておきます。
表3:SSH鍵の選び方
| 選択肢 | 特徴 | 今回の扱い |
|---|---|---|
| Generate a key pair for me | コンソールが生成する。秘密鍵はOracleに残らない | 試すだけなら可。保存を忘れない |
| Upload public key files / Paste public keys | 手元で作った公開鍵を渡す | これを使う |
| No SSH keys | 作成後に鍵の追加や生成鍵の保存ができない | 使わない |
手元で鍵を作る例です。パスフレーズを付けると、鍵が漏れたときの備えになります。
ssh-keygen -t ed25519 -f ~/.ssh/oci-expense-app -C "expense-app-admin"
chmod 400 ~/.ssh/oci-expense-app
決めておくことは4つです。
- 秘密鍵は管理者の手元だけに置き、Gitやチャットに置きません。
- 秘密鍵をなくしたときの対応を決めます。公式は新しいインスタンスを作る方法のほか、Oracle Linuxではシリアルコンソールの保守モードで
opcの鍵を設定し直す方法を案内しています。 - 管理者が増えるときは、各自のユーザーと鍵を作ります。
- ログインユーザーを確かめます。Oracle Linuxは
opcで、作成時の公開鍵は/home/opc/.ssh/authorized_keysに入ります。
アプリのDBパスワードやAPIキーは、SSH鍵と分けて考えます。Compute内にファイルで置かず、Vaultと動的グループを使う方法をIAMの解説で確かめてください。
次に読むページ
ロードマップの次の項目は「Bastionでログインする」です。セッションの方式、接続元の制限、時間の上限を押さえます。そのあとに「OS更新の通信を確かめる」へ進みます。
よくある質問(FAQ)
- 1 OCPUは何vCPUですか?
- シェイプによって違います。x86は1 OCPUが2 vCPUです。ArmのA1は1 OCPUが1 vCPU、A2とA4は1 OCPUが2 vCPUです。詳しくは公式のCompute Shapesで確認してください(2026-11-01確認)。
- 東京リージョンでAD障害に備えるにはどうすればいいですか?
- 東京はADが1つなので、同じリージョンの別ADには逃がせません。FDでは、AD全体の障害は防げません。必要なら別リージョンへの復旧を考えます。今回の題材の範囲外で、ロードマップの中級編以降で扱う内容です。
- 作成時にSSH鍵を指定しないとどうなりますか?
- 「No SSH keys」を選ぶと、作成後にコンソールから鍵を追加できません。Linuxインスタンスでは、自分で作った鍵の公開鍵を作成時に指定します。