【技術ブログ】初めてのOracle Cloud ①~インスタンスを作成してSSH接続する~

2024.09.20

そんな悩みを抱えている方も多いのではないでしょうか。
今回は、そのような方に向けて、仮想マシンの作成からSSH接続までの基本操作を丁寧に解説します。

初めての方でも安心して取り組めるよう、ステップごとにわかりやすく説明していきますので、ぜひ参考にしてみてください。

各リソースの操作メニューはどこ?

左のハンバーガーメニューに様々なリソースメニューが集まっています。

また、右上の開発者ツールからCloud Shellを開くと、CLIで操作が可能です。

コンパートメント作成

コンパートメントとは?

リソースの管轄区域で、各リソースは必ずどこかのコンパートメントに所属させる必要があります。
インスタンスを作る際にも、所属コンパートメントの選択が必須項目になります。

デフォルトではRootコンパートメントのみ存在する状態ですが、Rootコンパートメント直下にリソースを置くことは推奨されていないので、まずはRootコンパートメントの下位にサブコンパートメントを作成していきます。


rootコンパートメント ⇐ デフォルトで存在するのはrootのみ
 ∟ サブコンパートメント ⇐ rootより下の階層にリソースを置くのがGood

作成手順

左上のハンバーガーメニューから「アイデンティティとセキュリティ>アイデンティティ>コンパートメント」を選択します。

次に、コンパートメントの作成を押下すると、コンパートメントの作成ウインドウが表示されます。
任意の名前と説明を入力し、親コンパートメント選択欄はrootを選択したあと、コンパートメントの作成を押下すれば、コンパートメントが新規に作成されます。

VCN、サブネットの作成

ネットワーク構成

次に、インスタンスが所属するネットワークを作成していきます。
大枠のVCNのブロックがあり、その中にサブネット単位で関連リソースをまとめていくのが一般的です。
今回は、以下の図のように、VCNの中にパブリックサブネットが1つ入っているものを作成しました。

VCNの作成

まずは、大枠のVCNを作成していきます。

左上のハンバーガーメニューから「ネットワーキング>仮想クラウドネットワーク」を選び、VCN作成ボタンを押下します。

ウインドウが表示されたら、任意の名前を付けて、先ほど作成したサブコンパートメントを指定します。

次に、ネットワーク内でプライベートアドレスとして使うCIDRブロックを指定。
OCIでは、16~30までのCIDRブロックサイズをサポートしています

RFC準拠の形式で指定するならば、10.0/8または172.16/12が推奨されますが、先述の理由でOCIではサポートされないため、10.0/16、172.16/16、192.168/16などを使用します。

今回は、192.168/16をVCNのアドレス範囲としました。

サブネットの作成

次にサブネットを作成します。

サブネットはVCN内の構成単位として機能します。
ルート表・セキュリティ・リスト・DHCPオプションはサブネット単位で設定されるため、サブネット内のリソースはセキュリティルールを共有していると言えます。

VCNのリストから、作成済みのVCNの名前を押下すると、VCNの詳細が表示されるので、詳細画面からさらにサブネットの作成を押下します。

まずは、サブネットの名前と、コンパートメントを指定します。
構成表のとおり、今回はSubnet01_Pubという名前を割り振りました。

次にサブネットタイプを選択します。
サブネットタイプは、リージョナルまたは可用性ドメイン固有を選択できます。

OCIでは、1つのサブネットが複数のデータセンターにまたがって存在できるリージョナルサブネットを推奨しているので、すべてリージョナルを選択しました。

サブネット・アクセスについては、アクセスタイプとして、パブリックまたはプライベートネットワークが選択できます。

インスタンスにインターネット通信を許可したい場合はパブリックサブネットを選択し、VNICを関連付ける必要があります。

今回は、外部のSSHクライアントを使用して、インスタンスに接続したいので、パブリックサブネットを1つ作成しました。

CIDRブロックは、VCNの作成で設定したブロックの下位に収まるように192.168.1.0/24を指定しました。
セキュリティリストについては、パブリックサブネットを選んだ時点で、デフォルトでインターネットアクセスを許可しているものが適用されているので、今回は特に自分で設定しなくても大丈夫です。

これで、インスタンスを置くための区画の設定は完了しました。

仮想マシン作成

次に、インスタンスを作成していきます。

ハンバーガーメニューから、「コンピュート>インスタンス>インスタンスの作成」を選択し、VCN設定の時と同様に、コンパートメントの指定と名前付けを行います。

イメージとシェイプの選択

イメージの選択では、OSを選択する。Windowsや各種LinuxディストリビューションがOCI側で用意されているほか、自分でカスタムイメージを作って持ち込むこともできます。

Windowsなどのイメージは有料ですが、無料で使えるものも多く存在します。
今回は試しに作ってみるだけなので、Always Free対象のOracle Linuxを選択しました。

課金が発生するものを選ぶと右下に推定コストが表示されるので、個人で使っていて、うっかり高額請求が届くリスクを減らせて安心です。

シェイプ、つまりマシンの選択では、仮想マシンの形態を選択できるほか、様々なCPUの種類が選択可能です。シェイプの種類によっては、CPUのコア数やメモリ容量を柔軟に変えることができたりします。

ですが、今回はお試しでということで、最小スペックで固定されたAlways Free枠のVM.Standard.E2.1.Microを選びました。

VNICの設定

次に、インスタンスにアタッチするVNICの設定をしていきます。

ここで、VNICをどこのネットワークに所属させるかを設定していくのですが、先にVCNを作成していれば、既存のネットワークをポチポチ選ぶだけで大丈夫です。
ここでネットワークを作成することもできます。

インターネット経由でインスタンスにアクセスするには、パブリックサブネットを選ぶ必要があるので、先ほど作成したSubnet01_Pubを選択しました。

作成したインスタンスをパブリックサブネットに配置すると、パブリックIPアドレスを自動または手動で設定することができます。
SSH接続をする際は、ここで設定したパブリックIPアドレス宛てに接続することになります。

SSH接続キーの生成・アップロード

インスタンスにSSHログインする際、デフォルトでは鍵認証でのみログインが可能です。
デフォルトではパスワード認証は無効になっているため、ここで公開鍵と秘密鍵を保存しておく必要があります。

SSHログインする際は、インスタンスにある公開鍵と、ログインしようとするユーザーが持つ秘密鍵の組み合わせを照合して認証を行うため、インスタンスに公開鍵を置いておく必要があります。

公開鍵のアップロードは、「SSHキーの追加>公開キーファイルのアップロード/公開キーの貼り付け」から行うことができます。
.pubファイルを直接アップロードするか、公開キーの貼り付けからキーの文字列を直接貼り付けても大丈夫です。

仮想マシンにSSH接続

1.teraterm等のSSHクライアントから接続する方法

ホストにパブリックIPアドレスを入力し、TCPポート22に接続します。

次に、ユーザー名とログイン方法を聞かれるので、ユーザー名にはopc(Oracle Linuxのデフォルトユーザー名)を入力します。

秘密鍵には、インスタンス作成時にダウンロードした秘密鍵のファイルを指定して、接続すればSSH接続をすることができます(間違えて公開鍵を選ばないようにしてください!)。

2.Cloud Shellを使って接続する方法

仮想マシンにアクセスするたびに、外部のSSHクライアントを起動して、秘密鍵を指定して・・・とやるのも少々めんどうなので、OCIのコンソール上からアクセスする方法も示しておきたいところです。

右上の「開発者ツール>Cloud Shell」からCloud Shellを開くことができます。

Cloud Shellを開くと、OCI側でデフォルトで用意されている、bash shellを実行するための仮想マシンが起動します。

このShellマシンのホームディレクトリ直下に秘密鍵を置いておくことで、sshコマンドを使って、作成した仮想マシンにSSH接続することができます。

具体的な手順としては、「歯車のマーク>アップロード」を選択して秘密鍵をアップロードします。
その後、「chmod 600 秘密鍵ファイル名」を実行して、秘密鍵の権限を600に設定します。
あとは、 「ssh -i 秘密鍵ファイル名 仮想マシンのIPアドレス」を実行するとSSH接続が可能になります。

以上、OCI Archtect Associate資格を持つ方向けに、仮想マシンの作成からSSH接続までの基本操作をご紹介しました。

最初は少し戸惑うかもしれませんが、手を動かしながら学ぶことで徐々に慣れていくはずです。
この手順を一度覚えれば、今後のOCI環境での作業がスムーズになると思います。
ぜひ実際に試してみてください。

一覧へ戻る

TOP