<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Oci on ポンコツ地方エンジニアの技術ブログ</title><link>https://blog-0847c6.gitlab.io/tags/oci/</link><description>Recent content in Oci on ポンコツ地方エンジニアの技術ブログ</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><lastBuildDate>Fri, 29 May 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://blog-0847c6.gitlab.io/tags/oci/index.xml" rel="self" type="application/rss+xml"/><item><title>OCI の Ubuntu インスタンスの初期設定</title><link>https://blog-0847c6.gitlab.io/posts/2026/05/29/oci-ubuntu/</link><pubDate>Fri, 29 May 2026 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2026/05/29/oci-ubuntu/</guid><description>&lt;h2 id="swap-の設定"&gt;&lt;a href="#swap-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;swap の設定
&lt;/h2&gt;&lt;p&gt;以下のように、Ubuntu のイメージにはスワップがありません。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ free -m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; total used free shared buff/cache available
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mem: &lt;span class="m"&gt;954&lt;/span&gt; &lt;span class="m"&gt;343&lt;/span&gt; &lt;span class="m"&gt;225&lt;/span&gt; &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="m"&gt;538&lt;/span&gt; &lt;span class="m"&gt;610&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Swap: &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2GB のスワップファイル（Swap）を追加します。&lt;br&gt;
すべてのコマンドは、管理者権限（&lt;code&gt;sudo&lt;/code&gt;）を付けてターミナルで実行します。&lt;/p&gt;
&lt;h3 id="1-スワップファイルの作成"&gt;&lt;a href="#1-%e3%82%b9%e3%83%af%e3%83%83%e3%83%97%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;1. スワップファイルの作成
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;dd&lt;/code&gt; または &lt;code&gt;fallocate&lt;/code&gt; コマンドで 2GB のファイルを作成します。ここでは確実かつ高速な &lt;code&gt;fallocate&lt;/code&gt; を使用します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo fallocate -l 2G /swapfile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote class="alert alert-warning"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;⚠️&lt;/span&gt;
 &lt;span class="alert-title"&gt;警告&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;もし「fallocate failed: Operation not supported」のようなエラーが出た場合は、以下の &lt;code&gt;dd&lt;/code&gt; コマンドを代わりに試してください。&lt;br&gt;
&lt;code&gt;sudo dd if=/dev/zero of=/swapfile bs=1M count=2048&lt;/code&gt;&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h3 id="2-適切な権限の設定"&gt;&lt;a href="#2-%e9%81%a9%e5%88%87%e3%81%aa%e6%a8%a9%e9%99%90%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;2. 適切な権限の設定
&lt;/h3&gt;&lt;p&gt;セキュリティのため、スワップファイルは root ユーザーのみが読み書きできるように権限を &lt;code&gt;600&lt;/code&gt; に制限します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo chmod &lt;span class="m"&gt;600&lt;/span&gt; /swapfile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-スワップ領域の初期化"&gt;&lt;a href="#3-%e3%82%b9%e3%83%af%e3%83%83%e3%83%97%e9%a0%98%e5%9f%9f%e3%81%ae%e5%88%9d%e6%9c%9f%e5%8c%96" class="header-anchor"&gt;&lt;/a&gt;3. スワップ領域の初期化
&lt;/h3&gt;&lt;p&gt;作成したファイルをスワップ領域としてフォーマットします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo mkswap /swapfile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="4-スワップの有効化"&gt;&lt;a href="#4-%e3%82%b9%e3%83%af%e3%83%83%e3%83%97%e3%81%ae%e6%9c%89%e5%8a%b9%e5%8c%96" class="header-anchor"&gt;&lt;/a&gt;4. スワップの有効化
&lt;/h3&gt;&lt;p&gt;システムにスワップファイルを認識させ、有効化します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo swapon /swapfile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="5-設定の確認"&gt;&lt;a href="#5-%e8%a8%ad%e5%ae%9a%e3%81%ae%e7%a2%ba%e8%aa%8d" class="header-anchor"&gt;&lt;/a&gt;5. 設定の確認
&lt;/h3&gt;&lt;p&gt;スワップが正しく有効化されたか確認します。2GB（約 2.0GiB）のスワップが表示されていれば成功です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo swapon --show
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# または&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;free -h
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="6-再起動後も自動で有効化する設定"&gt;&lt;a href="#6-%e5%86%8d%e8%b5%b7%e5%8b%95%e5%be%8c%e3%82%82%e8%87%aa%e5%8b%95%e3%81%a7%e6%9c%89%e5%8a%b9%e5%8c%96%e3%81%99%e3%82%8b%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;6. 再起動後も自動で有効化する設定
&lt;/h3&gt;&lt;p&gt;上記の設定だけでは、インスタンスを再起動するとスワップが解除されてしまいます。再起動後も自動的に有効化されるよう、&lt;code&gt;/etc/fstab&lt;/code&gt; に追記します。&lt;/p&gt;
&lt;h4 id="6-1-fstab-のバックアップ推奨"&gt;&lt;a href="#6-1-fstab-%e3%81%ae%e3%83%90%e3%83%83%e3%82%af%e3%82%a2%e3%83%83%e3%83%97%e6%8e%a8%e5%a5%a8" class="header-anchor"&gt;&lt;/a&gt;6-1. fstab のバックアップ（推奨）
&lt;/h4&gt;&lt;p&gt;念のため、設定ファイルをバックアップしておきます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo cp /etc/fstab /etc/fstab.bak
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="6-2-設定の追記"&gt;&lt;a href="#6-2-%e8%a8%ad%e5%ae%9a%e3%81%ae%e8%bf%bd%e8%a8%98" class="header-anchor"&gt;&lt;/a&gt;6-2. 設定の追記
&lt;/h4&gt;&lt;p&gt;以下のコマンドを実行して、&lt;code&gt;/etc/fstab&lt;/code&gt; の末尾に設定を追記します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/swapfile none swap sw 0 0&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sudo tee -a /etc/fstab
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h3 id="おまけカーネルパラメータの最適化推奨"&gt;&lt;a href="#%e3%81%8a%e3%81%be%e3%81%91%e3%82%ab%e3%83%bc%e3%83%8d%e3%83%ab%e3%83%91%e3%83%a9%e3%83%a1%e3%83%bc%e3%82%bf%e3%81%ae%e6%9c%80%e9%81%a9%e5%8c%96%e6%8e%a8%e5%a5%a8" class="header-anchor"&gt;&lt;/a&gt;【おまけ】カーネルパラメータの最適化（推奨）
&lt;/h3&gt;&lt;p&gt;Linux には、メモリがどれくらい減ったらスワップを開始するかを決める &lt;code&gt;swappiness&lt;/code&gt; という値があります。&lt;br&gt;
初期値は &lt;code&gt;60&lt;/code&gt; であることが多いですが、クラウド環境（特に SSD ストレージ）では **&lt;code&gt;10&lt;/code&gt;〜&lt;code&gt;20**&lt;/code&gt; 程度に下げて、できるだけ物理メモリを優先して使うように設定するのが一般的です。&lt;/p&gt;
&lt;h4 id="1-現在の-swappiness-を確認"&gt;&lt;a href="#1-%e7%8f%be%e5%9c%a8%e3%81%ae-swappiness-%e3%82%92%e7%a2%ba%e8%aa%8d" class="header-anchor"&gt;&lt;/a&gt;1. 現在の swappiness を確認
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat /proc/sys/vm/swappiness
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="2-一時的に-10-に変更"&gt;&lt;a href="#2-%e4%b8%80%e6%99%82%e7%9a%84%e3%81%ab-10-%e3%81%ab%e5%a4%89%e6%9b%b4" class="header-anchor"&gt;&lt;/a&gt;2. 一時的に &lt;code&gt;10&lt;/code&gt; に変更
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo sysctl vm.swappiness&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="3-永続的に反映"&gt;&lt;a href="#3-%e6%b0%b8%e7%b6%9a%e7%9a%84%e3%81%ab%e5%8f%8d%e6%98%a0" class="header-anchor"&gt;&lt;/a&gt;3. 永続的に反映
&lt;/h4&gt;&lt;p&gt;再起動後もこの設定を維持するため、&lt;code&gt;/etc/sysctl.conf&lt;/code&gt; の末尾に追記します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;vm.swappiness=10&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sudo tee -a /etc/sysctl.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;p&gt;これで 2GB のスワップ設定はすべて完了です！&lt;/p&gt;
&lt;h2 id="タイムゾーンの変更"&gt;&lt;a href="#%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%be%e3%83%bc%e3%83%b3%e3%81%ae%e5%a4%89%e6%9b%b4" class="header-anchor"&gt;&lt;/a&gt;タイムゾーンの変更
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 現在のタイムゾーンを確認&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;timedatectl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# JST に変更&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo timedatectl set-timezone Asia/Tokyo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 変更されたことを確認&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;timedatectl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="nano-のインストール"&gt;&lt;a href="#nano-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" class="header-anchor"&gt;&lt;/a&gt;nano のインストール
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install -y nano
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="git-のインストール"&gt;&lt;a href="#git-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" class="header-anchor"&gt;&lt;/a&gt;git のインストール
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install -y git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="glab-のインストールと認証"&gt;&lt;a href="#glab-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e8%aa%8d%e8%a8%bc" class="header-anchor"&gt;&lt;/a&gt;glab のインストールと認証
&lt;/h2&gt;&lt;p&gt;諸事情で GitHub ではなく GitLab を使っているので、glab をインストールします。&lt;/p&gt;
&lt;h3 id="1-ダウンロード"&gt;&lt;a href="#1-%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89" class="header-anchor"&gt;&lt;/a&gt;1. ダウンロード
&lt;/h3&gt;&lt;p&gt;apt でインストールできるバージョンは古いので、公式リリースからダウンロードしてインストールします。&lt;/p&gt;
&lt;p&gt;詳細は以下を参照してください。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://blog.ponkotools.com/posts/2026/05/10/glab/" target="_blank" rel="noopener"
 &gt;https://blog.ponkotools.com/posts/2026/05/10/glab/&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="2-gitlab-でのアクセストークンpatの発行"&gt;&lt;a href="#2-gitlab-%e3%81%a7%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%83%88%e3%83%bc%e3%82%af%e3%83%b3pat%e3%81%ae%e7%99%ba%e8%a1%8c" class="header-anchor"&gt;&lt;/a&gt;2. GitLab でのアクセストークン（PAT）の発行
&lt;/h3&gt;&lt;p&gt;CLI から GitLab にアクセスするために、事前にブラウザ側（GitLab のウェブ画面）で Personal Access Token（個人用アクセストークン） を発行しておく必要があります。&lt;br&gt;
WSL を使っているからか、web での認証ではうまくいきませんでした。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;GitLab にログインします（SaaS 版の gitlab.com または社内などのオンプレミス版）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;面左上の自分のアイコン ＞ Preferences（設定） ＞ 左メニューの Access Tokens の順に開きます。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add new token をクリックし、以下のように入力します：&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Token name: 任意の名前（例: oci-ubuntu-cli）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Expiration date: 空欄（無期限）または任意の有効期限&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Scopes（権限）: CLI をフル活用するために、&lt;code&gt;api&lt;/code&gt; と &lt;code&gt;write_repository&lt;/code&gt;以下にチェックを入れます。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Create personal access token をクリックします。&lt;/p&gt;
&lt;p&gt;画面に一度だけトークン（glpat-xxxx&amp;hellip;）が表示されるので、必ずコピーして手元に控えておきます。（画面を閉じると二度と見られなくなります）&lt;/p&gt;
&lt;h3 id="3-cli-の認証設定ログイン"&gt;&lt;a href="#3-cli-%e3%81%ae%e8%aa%8d%e8%a8%bc%e8%a8%ad%e5%ae%9a%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3" class="header-anchor"&gt;&lt;/a&gt;3. CLI の認証設定（ログイン）
&lt;/h3&gt;&lt;p&gt;OCI の Ubuntu ターミナルに戻り、以下のコマンドを実行して対話型セットアップを開始します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;glab auth login
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;実行すると、いくつか質問されるので以下のように回答していきます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ What GitLab instance &lt;span class="k"&gt;do&lt;/span&gt; you want to sign in to?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ &amp;gt; gitlab.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ GitLab Self-Managed or GitLab Dedicated instance
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;gitLab.com（本家）を使っている場合は、そのまま gitLab.com を選択して Enter。&lt;br&gt;
自社サーバーなどの場合は GitLab Self-Managed or GitLab Dedicated instance を選択し、その後 URL（例: &lt;a class="link" href="https://gitlab.example.com" target="_blank" rel="noopener"
 &gt;https://gitlab.example.com&lt;/a&gt;）を入力します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Signing into gitlab.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ How would you like to sign in?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ &amp;gt; Token
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ Web
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Token を選択します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Signing into gitlab.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ What domains does this host use &lt;span class="k"&gt;for&lt;/span&gt; the container registry and image dependency proxy?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ &amp;gt; gitlab.com,gitlab.com:443,registry.gitlab.com 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;そのまま Enter を押します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;The minimum required scopes are &lt;span class="s1"&gt;&amp;#39;api&amp;#39;&lt;/span&gt; and &lt;span class="s1"&gt;&amp;#39;write_repository&amp;#39;&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Generate a personal access token at https://gitlab.com/-/user_settings/personal_access_tokens?scopes&lt;span class="o"&gt;=&lt;/span&gt;api,write_repository
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ Paste your authentication token:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ &amp;gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;先ほど GitLab 画面でコピーしたトークン（glpat-xxxx&amp;hellip;）を貼り付けて Enter を押します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ Choose default Git protocol:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ SSH
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ &amp;gt; HTTPS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┃ HTTP
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;HTTPS を選択します。&lt;/p&gt;
&lt;p&gt;セットアップが完了したら、以下のコマンドで無事にログインできているか確認します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;glab auth status
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ご自身のユーザー名や「Logged in to gitlab.com」といったステータスが表示されれば、GitLab CLI の設定はすべて完了です！&lt;/p&gt;
&lt;h2 id="tmux-のインストール"&gt;&lt;a href="#tmux-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" class="header-anchor"&gt;&lt;/a&gt;tmux のインストール
&lt;/h2&gt;&lt;p&gt;セッションが切れても実行中のプログラムが停止しないよう tmux を使うためにインストールします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install -y tmux
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="docker-のインストール"&gt;&lt;a href="#docker-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" class="header-anchor"&gt;&lt;/a&gt;docker のインストール
&lt;/h2&gt;&lt;h3 id="1-インストール"&gt;&lt;a href="#1-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" class="header-anchor"&gt;&lt;/a&gt;1. インストール
&lt;/h3&gt;&lt;p&gt;公式ドキュメントの Install using the apt repository に従って最新版の docker をインストールします。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository" target="_blank" rel="noopener"
 &gt;https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="2-docker-の権限を設定-sudo-を不要にする"&gt;&lt;a href="#2-docker-%e3%81%ae%e6%a8%a9%e9%99%90%e3%82%92%e8%a8%ad%e5%ae%9a-sudo-%e3%82%92%e4%b8%8d%e8%a6%81%e3%81%ab%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;2. docker の権限を設定 (sudo を不要にする)
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo gpasswd -a &lt;span class="k"&gt;$(&lt;/span&gt;whoami&lt;span class="k"&gt;)&lt;/span&gt; docker
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo chgrp docker /var/run/docker.sock
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="不要なサービスの停止"&gt;&lt;a href="#%e4%b8%8d%e8%a6%81%e3%81%aa%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e3%81%ae%e5%81%9c%e6%ad%a2" class="header-anchor"&gt;&lt;/a&gt;不要なサービスの停止
&lt;/h2&gt;&lt;p&gt;参考: &lt;a class="link" href="https://qiita.com/ynott/items/4312cb34611d2e462779" target="_blank" rel="noopener"
 &gt;https://qiita.com/ynott/items/4312cb34611d2e462779&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;systemctl | grep running&lt;/code&gt; で稼働中のサービス一覧を出力し、そのうち不要なものを AI に尋ねた結果が以下です。&lt;/p&gt;
&lt;h3 id="確実に停止無効化して良いサービス"&gt;&lt;a href="#%e7%a2%ba%e5%ae%9f%e3%81%ab%e5%81%9c%e6%ad%a2%e7%84%a1%e5%8a%b9%e5%8c%96%e3%81%97%e3%81%a6%e8%89%af%e3%81%84%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9" class="header-anchor"&gt;&lt;/a&gt;確実に停止・無効化して良いサービス
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;サービス名&lt;/th&gt;
 &lt;th&gt;役割と停止して良い理由&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ModemManager.service&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;3G/4G/5G などのモバイルモデムを管理するサービス。クラウドのサーバーでモデムを使うことはないため、完全に不要です。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;fwupd.service&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;マザーボードやデバイスのファームウェアをアップデートするデーモン。仮想マシン（VM）のファームウェアは OCI 側が管理するため不要です。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;rpcbind.servicerpcbind.socket&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;NFSv3（ネットワークファイルシステム）などで使われる古いポートマップサービス。NFS でストレージをマウントする予定がなければ不要です。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;iscsid.serviceiscsid.socket&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;iSCSI ストレージに接続するためのクアドラント。OCI のブロック・ボリュームを iSCSI 経由で直接マウント（手動アタッチなど）していない限り、標準の準仮想化（Paravirtualized）アタッチであれば不要です。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;udisks2.service&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;主にデスクトップ環境で USB メモリなどのディスクを自動認識・マウントするためのサービス。サーバー用途では不要です。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;停止・無効化のコマンド例&lt;/strong&gt;&lt;br&gt;
単に stop するだけだと再起動時にまた動いてしまうので、disable &amp;ndash;now で自動起動の解除と停止を同時に行います。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl disable --now ModemManager fwupd rpcbind rpcbind.socket iscsid iscsid.socket udisks2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="条件付きで停止削除できるサービス効果大"&gt;&lt;a href="#%e6%9d%a1%e4%bb%b6%e4%bb%98%e3%81%8d%e3%81%a7%e5%81%9c%e6%ad%a2%e5%89%8a%e9%99%a4%e3%81%a7%e3%81%8d%e3%82%8b%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e5%8a%b9%e6%9e%9c%e5%a4%a7" class="header-anchor"&gt;&lt;/a&gt;条件付きで停止・削除できるサービス（効果大）
&lt;/h3&gt;&lt;p&gt;環境によっては不要、あるいは別の手段に切り替えることで大幅に軽量化できる重要ポイントです。&lt;/p&gt;
&lt;h4 id="snapdservice--snaporacle-cloud-agent-メモリ節約効果大"&gt;&lt;a href="#snapdservice--snaporacle-cloud-agent-%e3%83%a1%e3%83%a2%e3%83%aa%e7%af%80%e7%b4%84%e5%8a%b9%e6%9e%9c%e5%a4%a7" class="header-anchor"&gt;&lt;/a&gt;&lt;code&gt;snapd.service&lt;/code&gt; / &lt;code&gt;snap.oracle-cloud-agent...&lt;/code&gt; （メモリ節約効果：大）
&lt;/h4&gt;&lt;p&gt;Ubuntu のパッケージ管理システム「Snap」と、OCI の管理エージェントです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;判断基準&lt;/strong&gt;&lt;br&gt;
OCI のダッシュボードからインスタンスのメトリック（CPU使用率のグラフなど）を見たり、OS の診断機能を使ったりしない、かつ自分で snap コマンドを使ったアプリ（Nextcloud などの Snap版）を動かす予定がない場合。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解説&lt;/strong&gt;&lt;br&gt;
oracle-cloud-agent は便利ですが、メモリが 1GB 以下の環境ではかなりの重荷になります。これらを Snap ごと削除すると、数十MB〜100MB 以上のメモリが浮きます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;完全に削除する場合のコマンド&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo snap remove oracle-cloud-agent
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt purge snapd -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="メモリ使用量の変化"&gt;&lt;a href="#%e3%83%a1%e3%83%a2%e3%83%aa%e4%bd%bf%e7%94%a8%e9%87%8f%e3%81%ae%e5%a4%89%e5%8c%96" class="header-anchor"&gt;&lt;/a&gt;メモリ使用量の変化
&lt;/h3&gt;&lt;p&gt;上記のサービスをすべて停止した場合の比較です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;サービス停止前&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ free -h
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; total used free shared buff/cache available
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mem: 954Mi 360Mi 72Mi 4.9Mi 677Mi 594Mi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Swap: 2.0Gi 21Mi 2.0Gi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;サービス停止後&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ free -h
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; total used free shared buff/cache available
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mem: 954Mi 299Mi 313Mi 4.9Mi 483Mi 655Mi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Swap: 2.0Gi 10Mi 2.0Gi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>OCI Bastion 経由でプライベート・サブネット内の Ubuntu インスタンスに SSH で接続</title><link>https://blog-0847c6.gitlab.io/posts/2026/05/27/oci-bastion-ubuntu/</link><pubDate>Wed, 27 May 2026 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2026/05/27/oci-bastion-ubuntu/</guid><description>&lt;p&gt;前回、Oracle Linux インスタンスへ OCI Bastion 経由で SSH 接続する手順を書きました。&lt;/p&gt;
&lt;p&gt;今回は、前回記事で触れた基本的な構成を前提に、Ubuntu インスタンスを対象とした OCI Bastion 経由の SSH 接続手順だけをまとめます。&lt;br&gt;
Oracle Linux と共通する VCN / Bastion の作成や一般的なネットワーク設定は省略し、Ubuntu 固有の注意点に絞って解説します。&lt;/p&gt;
&lt;h2 id="前提"&gt;&lt;a href="#%e5%89%8d%e6%8f%90" class="header-anchor"&gt;&lt;/a&gt;前提
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;ターゲット OCI インスタンスには Ubuntu のイメージを使う&lt;/li&gt;
&lt;li&gt;インスタンスは &lt;strong&gt;プライベートサブネット&lt;/strong&gt; に配置し、&lt;strong&gt;パブリックIPなし&lt;/strong&gt; で作成する&lt;/li&gt;
&lt;li&gt;Bastion サービスは事前に作成済みで、プライベートサブネットをターゲットにしている&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ubuntu-でのインスタンス作成時のポイント"&gt;&lt;a href="#ubuntu-%e3%81%a7%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e4%bd%9c%e6%88%90%e6%99%82%e3%81%ae%e3%83%9d%e3%82%a4%e3%83%b3%e3%83%88" class="header-anchor"&gt;&lt;/a&gt;Ubuntu でのインスタンス作成時のポイント
&lt;/h2&gt;&lt;h3 id="1-イメージに-ubuntu-を選択する"&gt;&lt;a href="#1-%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8%e3%81%ab-ubuntu-%e3%82%92%e9%81%b8%e6%8a%9e%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;1. イメージに Ubuntu を選択する
&lt;/h3&gt;&lt;p&gt;インスタンス作成画面のイメージ選択で、&lt;strong&gt;Ubuntu&lt;/strong&gt; を選びます。&lt;br&gt;
OCI の無料枠対象であれば &lt;code&gt;Always Free 適格&lt;/code&gt; のマークを確認してください。&lt;br&gt;
私は今回 &lt;strong&gt;Ubuntu 24.04 Minimal&lt;/strong&gt; を選択しました。&lt;/p&gt;
&lt;h3 id="2-ネットワーキング設定"&gt;&lt;a href="#2-%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%ad%e3%83%b3%e3%82%b0%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;2. ネットワーキング設定
&lt;/h3&gt;&lt;p&gt;ここは Oracle Linux のときと同じく以下のように設定します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;プライベートサブネットを選択する&lt;/li&gt;
&lt;li&gt;パブリックIP の割当ては &lt;strong&gt;なし&lt;/strong&gt; にする&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;SSH キーについても同様です。&lt;/p&gt;
&lt;h2 id="ubuntu-での-bastion-セッション作成"&gt;&lt;a href="#ubuntu-%e3%81%a7%e3%81%ae-bastion-%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;Ubuntu での Bastion セッション作成
&lt;/h2&gt;&lt;p&gt;Bastion 自体は、Oracle Linux のときに作成済みなのでそれを使います。&lt;br&gt;
ただ、セッションの作成方法が異なり、Ubuntu の場合は &lt;strong&gt;管理対象 SSH セッションではなく、SSHポート転送セッションを使う&lt;/strong&gt; のが一般的です。&lt;/p&gt;
&lt;h3 id="bastion-セッションの設定"&gt;&lt;a href="#bastion-%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Bastion セッションの設定
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;OCI コンソールで「アイデンティティとセキュリティ」 &amp;gt; 「要塞（Bastion）」に移動する&lt;/li&gt;
&lt;li&gt;作成した Bastion を選択し、「セッションの作成」をクリックする&lt;/li&gt;
&lt;li&gt;以下のように設定する&lt;/li&gt;
&lt;/ol&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;項目&lt;/th&gt;
 &lt;th&gt;内容&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;セッション・タイプ&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;SSHポート転送セッション&lt;/strong&gt; を選択します。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ターゲット・ホスト&lt;/td&gt;
 &lt;td&gt;Ubuntu インスタンスをIPアドレスまたはインスタンス名で指定します。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SSH キー&lt;/td&gt;
 &lt;td&gt;ご自身のPCにある SSH 公開鍵をアップロード or ペーストするか、新規に生成します。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="330px" data-flex-grow="137" height="621" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/27/oci-bastion-ubuntu/01.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/27/oci-bastion-ubuntu/01_hu_4bf74bb699c3bcbb.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/27/oci-bastion-ubuntu/01.webp 854w" width="854"&gt;&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li&gt;「セッションの作成」を実行し、状態が &lt;code&gt;アクティブ&lt;/code&gt; になるまで待つ&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="鍵のパーミッション"&gt;&lt;a href="#%e9%8d%b5%e3%81%ae%e3%83%91%e3%83%bc%e3%83%9f%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3" class="header-anchor"&gt;&lt;/a&gt;鍵のパーミッション
&lt;/h3&gt;&lt;p&gt;Linux の SSH では秘密鍵の権限が緩いと接続が拒否されます。
以下のように &lt;code&gt;chmod 600&lt;/code&gt; で制限しておきます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 例&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chmod &lt;span class="m"&gt;600&lt;/span&gt; ~/.ssh/&amp;lt;Ubuntuの秘密鍵&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chmod &lt;span class="m"&gt;600&lt;/span&gt; ~/.ssh/&amp;lt;セッションの秘密鍵&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="ssh-での接続方法"&gt;&lt;a href="#ssh-%e3%81%a7%e3%81%ae%e6%8e%a5%e7%b6%9a%e6%96%b9%e6%b3%95" class="header-anchor"&gt;&lt;/a&gt;SSH での接続方法
&lt;/h2&gt;&lt;h3 id="方法１"&gt;&lt;a href="#%e6%96%b9%e6%b3%95%ef%bc%91" class="header-anchor"&gt;&lt;/a&gt;方法１
&lt;/h3&gt;&lt;p&gt;Bastion セッションがアクティブになったら、右側のメニューから「SSH コマンドのコピー」を使います。
以下のようなコマンドがコピーされます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh -i &amp;lt;privateKey&amp;gt; -N -L &amp;lt;localPort&amp;gt;:10.0.1.203:22 -p &lt;span class="m"&gt;22&lt;/span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;項目&lt;/th&gt;
 &lt;th&gt;内容&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;&amp;lt;privateKey&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;セッション作成時の秘密鍵のパスを設定します。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;&amp;lt;localPort&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;基本的には 「（1024番〜65535番の間であれば）あなたのPCで現在使われていない任意のポート番号」なら何番でも自由 です。&lt;br&gt;よく使われるのは、覚えやすい 12345 や 2222、50022 などだそうです。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;上記を踏まえたうえで、まずは以下のようにコマンドを時刻します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 例&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh -i ~/.ssh/bastion_id_rsa -N -L 12345:10.0.1.143:22 -p &lt;span class="m"&gt;22&lt;/span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;すると画面が止まった（待機状態）になります。&lt;br&gt;
これでトンネルが維持されている状態ですので、このターミナル画面は閉じずにそのまま放置してください。&lt;/p&gt;
&lt;p&gt;この状態で新しく別のターミナル画面を開き、以下のコマンドを実行して Ubuntu インスタンスにログインします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh -i ~/.ssh/Ubuntu作成時の秘密鍵 -p &lt;span class="m"&gt;12345&lt;/span&gt; ubuntu@localhost
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote class="alert alert-note"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;📝&lt;/span&gt;
 &lt;span class="alert-title"&gt;注記&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;あなたのPCの 12345 番ポート（localhost:12345）に接続することが、そのままトンネルを通じて向こう側のUbuntuに繋がるため、接続先は localhost となります。&lt;br&gt;
OCI の Ubuntu インスタンスのユーザー名は &lt;code&gt;ubuntu&lt;/code&gt; なので、それを指定します。&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h3 id="方法２"&gt;&lt;a href="#%e6%96%b9%e6%b3%95%ef%bc%92" class="header-anchor"&gt;&lt;/a&gt;方法２
&lt;/h3&gt;&lt;p&gt;前述の方法だとターミナルを２つを使わないといけません。&lt;br&gt;
これをコマンド一発でやる場合、以下のように打ちます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh -i &amp;lt;Ubuntuの秘密鍵&amp;gt; -o &lt;span class="nv"&gt;ProxyCommand&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ssh -i &amp;lt;セッションの秘密鍵&amp;gt; -W %h:%p -p 22 ... ubuntu@10.0.1.143
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="方法３"&gt;&lt;a href="#%e6%96%b9%e6%b3%95%ef%bc%93" class="header-anchor"&gt;&lt;/a&gt;方法３
&lt;/h3&gt;&lt;p&gt;上記のコマンドも結局めちゃくちゃ長いので、自分のPCの &lt;code&gt;~/.ssh/config&lt;/code&gt; に設定を書いてしまうのが最もスマートです。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;~/.ssh/config&lt;/code&gt; をテキストエディタで開き、以下のように追記します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 1. Bastion（要塞）自体の設定
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Host oci-bastion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; HostName host.bastion.....oci.oraclecloud.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Port 22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; # ★セッションを作成するたびに、以下のUser（ocid...の部分）だけ書き換える
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; User ocid1.bastionsession.oc1.....amaaaaaa...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; IdentityFile ~/.ssh/セッション作成時の秘密鍵
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 2. ターゲットとなるUbuntuの設定
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Host oci-ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; HostName 10.0.1.143
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; User ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; IdentityFile ~/.ssh/Ubuntu作成時の秘密鍵
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ProxyCommand ssh oci-bastion -W %h:%p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;設定した後は以下のコマンドだけで接続できます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh oci-ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;また、3時間ごとにセッションを作り直した際も、上の User の部分（ocid1.bastionsession&amp;hellip;）だけを書き換えるだけで済みます。&lt;/p&gt;
&lt;p&gt;VS Code の Remote SSH もこれで使えるようになります。&lt;/p&gt;
&lt;h2 id="ubuntu-へのログイン後に確認すること"&gt;&lt;a href="#ubuntu-%e3%81%b8%e3%81%ae%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3%e5%be%8c%e3%81%ab%e7%a2%ba%e8%aa%8d%e3%81%99%e3%82%8b%e3%81%93%e3%81%a8" class="header-anchor"&gt;&lt;/a&gt;Ubuntu へのログイン後に確認すること
&lt;/h2&gt;&lt;p&gt;接続に成功すると、プロンプトが次のようになります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ubuntu@&amp;lt;hostname&amp;gt;:~$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="参考"&gt;&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor"&gt;&lt;/a&gt;参考
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://documentation.ubuntu.com/oracle/oracle-how-to/use-bastion-to-access-VM/" target="_blank" rel="noopener"
 &gt;https://documentation.ubuntu.com/oracle/oracle-how-to/use-bastion-to-access-VM/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.oracle.com/en-us/iaas/Content/Bastion/Tasks/bastionmanaging.htm" target="_blank" rel="noopener"
 &gt;https://docs.oracle.com/en-us/iaas/Content/Bastion/Tasks/bastionmanaging.htm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://oci-tech.jp/connect-private-compute-via-oci-bastion/" target="_blank" rel="noopener"
 &gt;https://oci-tech.jp/connect-private-compute-via-oci-bastion/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>OCI Bastion 経由でプライベート・サブネット内のインスタンスに SSH で接続</title><link>https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/</link><pubDate>Tue, 26 May 2026 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/</guid><description>&lt;p&gt;日本語では &lt;strong&gt;要塞&lt;/strong&gt; と訳されています。&lt;/p&gt;
&lt;p&gt;手元の PC からこの Bastion（踏み台の役割）を経由させることで、インスタンス自体にパブリックIPを一切持たせないまま、手元の PC のターミナルから直接 SSH 接続できるようになります。&lt;/p&gt;
&lt;p&gt;設定には、ネットワーク（VCN）の構築段階からいくつか重要なポイント（ルーターやセキュリティ・リストの設定など）があり、結構はまったのでメモとして残しておきます。&lt;/p&gt;
&lt;h2 id="仕組みとメリット"&gt;&lt;a href="#%e4%bb%95%e7%b5%84%e3%81%bf%e3%81%a8%e3%83%a1%e3%83%aa%e3%83%83%e3%83%88" class="header-anchor"&gt;&lt;/a&gt;仕組みとメリット
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;完全無料で、自分で踏み台用のサーバー（EC2など）を1台管理・維持する必要がありません。&lt;/li&gt;
&lt;li&gt;接続が必要なときだけ、手元のPCから「3時間だけ有効な一時的な接続セッション（トンネル）」を発行して侵入します。時間が経てば自動で完全に閉じられるため、セキュリティが非常に強固です。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;ホストPC: Ubuntu 22.04&lt;/li&gt;
&lt;li&gt;インスタンス: Oracle Linux 9&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="alert alert-note"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;📝&lt;/span&gt;
 &lt;span class="alert-title"&gt;注記&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;インスタンスが Oracle Linux の場合と、Ubuntu などの他の OS の場合とで方法が一部異なります。&lt;br&gt;
今回は Oracle Linux 9 の場合で、Ubuntu についてはまた別で書きます。&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h2 id="step1-vcn-とサブネットの作成"&gt;&lt;a href="#step1-vcn-%e3%81%a8%e3%82%b5%e3%83%96%e3%83%8d%e3%83%83%e3%83%88%e3%81%ae%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;Step1: VCN とサブネットの作成
&lt;/h2&gt;&lt;p&gt;まずは土台となる仮想クラウド・ネットワーク（VCN）を作成します。&lt;br&gt;
手動で細かく作ることもできますが、「VCNウィザード」を使うのが一番簡単で確実です。&lt;br&gt;
インターネットに出るための「インターネット・ゲートウェイ」だけでなく、プライベートVMがアップデート等で外と通信するための「NATゲートウェイ」や「サービス・ゲートウェイ」も自動で作成・紐付けされます。&lt;/p&gt;
&lt;p&gt;OCIコンソールメニューから 「ネットワーキング」 &amp;gt; 「仮想クラウド・ネットワーク」 に移動します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="306px" data-flex-grow="127" height="535" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/01-1.webp" width="683"&gt;&lt;/p&gt;
&lt;p&gt;アクションから「VCNウィザードの起動」 をクリックします。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="306px" data-flex-grow="127" height="535" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/01-2.webp" width="683"&gt;&lt;/p&gt;
&lt;p&gt;「インターネット接続性を持つVCNの作成」 を選択し、「VCNウィザードの起動」をクリックします。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="420px" data-flex-grow="175" height="677" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/01-3.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/01-3_hu_eeb952604ff3b7e5.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/01-3.webp 1187w" width="1187"&gt;&lt;/p&gt;
&lt;p&gt;以下の情報を入力・確認して「次へ」進み、作成します。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;項目&lt;/th&gt;
 &lt;th&gt;内容&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;VCN名&lt;/td&gt;
 &lt;td&gt;任意の名前（例: my-bastion-vcn）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;VCNの構成 CIDRブロック&lt;/td&gt;
 &lt;td&gt;10.0.0.0/16（デフォルトのままでOK）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;パブリック・サブネットのCIDR&lt;/td&gt;
 &lt;td&gt;10.0.0.0/24&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;プライベート・サブネットのCIDR&lt;/td&gt;
 &lt;td&gt;10.0.1.0/24&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="step2-インスタンスの作成"&gt;&lt;a href="#step2-%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e3%81%ae%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;Step2: インスタンスの作成
&lt;/h2&gt;&lt;p&gt;次に、パブリックIPを持たない接続先のインスタンスを作成します。&lt;br&gt;
「コンピュート」 &amp;gt; 「インスタンス」 から 「インスタンスの作成」 をクリックします。&lt;br&gt;
インスタンスの作成については別記事でも書いているので詳細は割愛しますが、イメージは &lt;strong&gt;Oracle Linux 9&lt;/strong&gt; を選びます。&lt;/p&gt;
&lt;p&gt;そして、ネットワーキングセクションで以下を選択します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;プライベート・サブネット（Step 1で作成したもの）を選択。&lt;/li&gt;
&lt;li&gt;「パブリックIPアドレスの割当て」 で 「パブリックIPなし」 を選択。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="270px" data-flex-grow="112" height="1047" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/02-1.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/02-1_hu_650111b0751cc4fc.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/02-1.webp 1178w" width="1178"&gt;&lt;/p&gt;
&lt;p&gt;SSHキーのセクションでは、ご自身のPCで作成した公開鍵（.pub）をアップロード、または新規で生成して秘密鍵を保存してください。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="679px" data-flex-grow="282" height="329" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/02-2.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/02-2_hu_9c0e80c630669994.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/02-2.webp 931w" width="931"&gt;&lt;/p&gt;
&lt;p&gt;設定したら「作成」をクリックします。&lt;/p&gt;
&lt;h2 id="stes3-bastion-プラグインの有効化-oracle-linux-の場合のみ"&gt;&lt;a href="#stes3-bastion-%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%ae%e6%9c%89%e5%8a%b9%e5%8c%96-oracle-linux-%e3%81%ae%e5%a0%b4%e5%90%88%e3%81%ae%e3%81%bf" class="header-anchor"&gt;&lt;/a&gt;Stes3: Bastion プラグインの有効化 (Oracle Linux の場合のみ)
&lt;/h2&gt;&lt;p&gt;作成したインスタンスの詳細画面に入り、管理タブの「Oracle Cloud エージェント」で要塞を探し、有効化します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="470px" data-flex-grow="196" height="709" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/03.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/03_hu_3bf5c1beaa28ef3d.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/03.webp 1391w" width="1391"&gt;&lt;/p&gt;
&lt;p&gt;要塞のステータスが停止済となります。&lt;br&gt;
OSの内部でプログラムのダウンロードや配置が行われており、ステータスが「実行中」になるまでには5分〜10分ほどかかることがあります。&lt;/p&gt;
&lt;blockquote class="alert alert-note"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;📝&lt;/span&gt;
 &lt;span class="alert-title"&gt;注記&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;ここで要塞を有効にしておかないと、後述の管理対象SSHセッションの作成で API エラーとなります。&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h2 id="step4-bastionの作成"&gt;&lt;a href="#step4-bastion%e3%81%ae%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;Step4: Bastionの作成
&lt;/h2&gt;&lt;p&gt;「アイデンティティとセキュリティ」 &amp;gt; 「要塞」（Bastion）に移動します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="715px" data-flex-grow="298" height="560" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/04-1.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/04-1_hu_982245cf6ad2724f.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/04-1_hu_36b79f883301d695.webp 1600w, https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/04-1.webp 1669w" width="1669"&gt;&lt;/p&gt;
&lt;p&gt;「要塞の作成」 をクリックし、以下のように設定します。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;項目&lt;/th&gt;
 &lt;th&gt;内容&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;要塞名&lt;/td&gt;
 &lt;td&gt;任意の名前&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ターゲット仮想クラウド・ネットワーク&lt;/td&gt;
 &lt;td&gt;Step 1で作成したVCN&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ターゲット・サブネット&lt;/td&gt;
 &lt;td&gt;ターゲットVMがいる「プライベート・サブネット」 を選択します。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;CIDRブロックの許可リスト&lt;/td&gt;
 &lt;td&gt;0.0.0.0/0 （特定のIPだけに絞るとより安全です）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="435px" data-flex-grow="181" height="532" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/04-2.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/04-2_hu_e3bf1741c390b50c.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/04-2.webp 965w" width="965"&gt;&lt;/p&gt;
&lt;p&gt;「要塞の作成」をクリックします（アクティブになるまで数分かかります）。&lt;/p&gt;
&lt;h2 id="step5-セッションの作成"&gt;&lt;a href="#step5-%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%ae%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;Step5: セッションの作成
&lt;/h2&gt;&lt;p&gt;作成した Bastion の詳細画面に入り、「セッションの作成」 をクリックします。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="322px" data-flex-grow="134" height="481" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/05-1.webp" width="646"&gt;&lt;/p&gt;
&lt;p&gt;以下のように設定します。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;項目&lt;/th&gt;
 &lt;th&gt;内容&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;セッション・タイプ&lt;/td&gt;
 &lt;td&gt;Oracle Linux の場合は &lt;strong&gt;管理対象SSHセッション&lt;/strong&gt; を選択します。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ユーザー名&lt;/td&gt;
 &lt;td&gt;Oracle Linux の場合は &lt;code&gt;opc&lt;/code&gt; です。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ターゲット・コンピュート・インスタンス&lt;/td&gt;
 &lt;td&gt;Step2 で作成したプライベートVMを選択します。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SSHキー&lt;/td&gt;
 &lt;td&gt;ご自身のPCにある SSH 公開鍵をアップロード or ペーストするか、新規に生成します。VM作成時に使ったものと同じ、またはペアになるものをアップロードしても OK です（後述）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="295px" data-flex-grow="123" height="739" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/05-2.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/05-2_hu_bdf974789b8dc277.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/26/oci-bastion/05-2.webp 911w" width="911"&gt;&lt;/p&gt;
&lt;p&gt;「セッションの作成」をクリックします。&lt;br&gt;
状態が作成中となり、しばらく経つとアクティブになります。&lt;/p&gt;
&lt;h2 id="step6-ssh接続の実行"&gt;&lt;a href="#step6-ssh%e6%8e%a5%e7%b6%9a%e3%81%ae%e5%ae%9f%e8%a1%8c" class="header-anchor"&gt;&lt;/a&gt;Step6: SSH接続の実行
&lt;/h2&gt;&lt;p&gt;セッションが「アクティブ」になったら、いよいよ接続です。
作成したセッションの右側にある「3つの点」メニューから 「SSHコマンドのコピー」 をクリックします。&lt;/p&gt;
&lt;p&gt;コピーされるコマンドは以下のような形をしています。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh -i &amp;lt;privateKey&amp;gt; -o &lt;span class="nv"&gt;ProxyCommand&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ssh -i &amp;lt;privateKey&amp;gt; -W %h:%p -p 22 ocid1.bastionsession.oc1...&amp;#34;&lt;/span&gt; opc@10.0.1.x
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;&amp;lt;privateKey&amp;gt;&lt;/code&gt; 2箇所ありますので、それぞれ VM インスタンス作成時の秘密鍵、Bastion セッション作成時の秘密鍵のパスに変更して実行します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 例&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh -i ~/.ssh/VM用の秘密鍵 -o &lt;span class="nv"&gt;ProxyCommand&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ssh -i ~/.ssh/Bastion用の秘密鍵 -W %h:%p ...&amp;#34;&lt;/span&gt; opc@10.0.1.x
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote class="alert alert-note"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;📝&lt;/span&gt;
 &lt;span class="alert-title"&gt;注記&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;セッション作成時の SSH キーを VM 作成時と同じものにした場合は、2箇所とも同じ秘密鍵のパスを指定します。&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;blockquote class="alert alert-note"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;📝&lt;/span&gt;
 &lt;span class="alert-title"&gt;注記&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;Linux のルールとして、秘密鍵の権限が緩いままだとSSH接続が拒否されてしまいます。この場合、以下のコマンドでパーミッションを変更します。&lt;br&gt;
&lt;code&gt;chmod 600 ssh-key-xxxx.key&lt;/code&gt;&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;p&gt;実行すると、Bastionを経由してパブリックIPのないプライベートVMに直接SSHログインが完了します。&lt;/p&gt;
&lt;h2 id="ssh-キーについての補足"&gt;&lt;a href="#ssh-%e3%82%ad%e3%83%bc%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e8%a3%9c%e8%b6%b3" class="header-anchor"&gt;&lt;/a&gt;SSH キーについての補足
&lt;/h2&gt;&lt;p&gt;セッション作成時のSSHキーはVM作成時と同じでも別のものでも大丈夫です。&lt;/p&gt;
&lt;p&gt;OCI の Bastion サービスは、接続時に「2枚の壁（認証）」を通過するイメージになります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bastionセッション作成時のSSHキー（壁1：入口の鍵）&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ローカルPCから、OCIのBastionサービス（要塞）に侵入するための鍵です。&lt;/li&gt;
&lt;li&gt;Bastionサービス自体が「あなたは本当にこのセッションを作った本人ですか？」を確かめるために使います。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;VM作成時のSSHキー（壁2：奥の部屋の鍵）&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bastionを通り抜けたあと、ターゲットのプライベートVMにログインするための鍵です。&lt;/li&gt;
&lt;li&gt;VM（OS）側が「あなたはログインを許可されたユーザーですか？」を確かめるために使います。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;このように鍵の役割が独立しています。&lt;br&gt;
ただ、「同じ鍵」を使った場合と「別の鍵」を使った場合で、最後に実行するSSHコマンドの書き換え方が少し変わります。&lt;/p&gt;
&lt;h3 id="-同じ鍵を使った場合一番シンプル"&gt;&lt;a href="#-%e5%90%8c%e3%81%98%e9%8d%b5%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e5%a0%b4%e5%90%88%e4%b8%80%e7%95%aa%e3%82%b7%e3%83%b3%e3%83%97%e3%83%ab" class="header-anchor"&gt;&lt;/a&gt;① 同じ鍵を使った場合（一番シンプル）
&lt;/h3&gt;&lt;p&gt;すべて1つの秘密鍵（例: id_rsa）で開くので、コピーしたコマンド内の2箇所の &lt;code&gt;&amp;lt;privateKey&amp;gt;&lt;/code&gt; に同じ秘密鍵のパスを指定すればOKです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh -i ~/.ssh/id_rsa -o &lt;span class="nv"&gt;ProxyCommand&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ssh -i ~/.ssh/id_rsa -W %h:%p ...&amp;#34;&lt;/span&gt; opc@10.0.1.x
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="-別の鍵を使った場合それぞれ指定が必要"&gt;&lt;a href="#-%e5%88%a5%e3%81%ae%e9%8d%b5%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e5%a0%b4%e5%90%88%e3%81%9d%e3%82%8c%e3%81%9e%e3%82%8c%e6%8c%87%e5%ae%9a%e3%81%8c%e5%bf%85%e8%a6%81" class="header-anchor"&gt;&lt;/a&gt;② 別の鍵を使った場合（それぞれ指定が必要）
&lt;/h3&gt;&lt;p&gt;コマンドの「前半」と「後半」で、それぞれの秘密鍵を指定する必要があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;前半の -i: VM作成時の秘密鍵を指定&lt;/li&gt;
&lt;li&gt;中間の ProxyCommand内の -i: Bastionセッション作成時の秘密鍵を指定&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh -i ~/.ssh/VM用の秘密鍵 -o &lt;span class="nv"&gt;ProxyCommand&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ssh -i ~/.ssh/Bastion用の秘密鍵 -W %h:%p ...&amp;#34;&lt;/span&gt; opc@10.0.1.x
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;管理やコマンドの書き換えをシンプルにしたい場合は、「同じ鍵（ペア）」を使ってしまうのが一番迷わなくてラクです。&lt;/p&gt;
&lt;h3 id="セキュリティ的な問題は"&gt;&lt;a href="#%e3%82%bb%e3%82%ad%e3%83%a5%e3%83%aa%e3%83%86%e3%82%a3%e7%9a%84%e3%81%aa%e5%95%8f%e9%a1%8c%e3%81%af" class="header-anchor"&gt;&lt;/a&gt;セキュリティ的な問題は？
&lt;/h3&gt;&lt;p&gt;個人開発や一般的な社内検証環境レベルであれば、同じ鍵を使い回しても実用上のセキュリティリスクは非常に低い（実質的に問題ない）と言えます。&lt;/p&gt;
&lt;p&gt;ただし、厳格なエンタープライズ（企業）の運用基準や、セキュリティの理想論（ベストプラクティス）の観点から見ると、いくつか「知っておくべきリスクと理由」があります。&lt;br&gt;
なぜ分けるのが理想とされるのか、その理由は以下です。&lt;/p&gt;
&lt;h4 id="1-鍵が漏洩した際の影響範囲爆発半径が広がる"&gt;&lt;a href="#1-%e9%8d%b5%e3%81%8c%e6%bc%8f%e6%b4%a9%e3%81%97%e3%81%9f%e9%9a%9b%e3%81%ae%e5%bd%b1%e9%9f%bf%e7%af%84%e5%9b%b2%e7%88%86%e7%99%ba%e5%8d%8a%e5%be%84%e3%81%8c%e5%ba%83%e3%81%8c%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;1. 鍵が漏洩した際の影響範囲（爆発半径）が広がる
&lt;/h4&gt;&lt;p&gt;これが最も大きな理由です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;鍵を分けている場合：&lt;/strong&gt;
もしBastion用の鍵が外部に漏れても、攻撃者はBastionの入り口までしか来られません。ターゲットVMの鍵が無事なら、中のデータにはアクセスできません。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;同じ鍵を使っている場合：&lt;/strong&gt;
その1つの秘密鍵が漏洩した瞬間、Bastionの突破からターゲットVMへのログインまで、すべての防御壁が同時に崩壊します。&lt;/p&gt;
&lt;p&gt;ひとつの鍵にすべての権限を持たせることは、セキュリティの世界で嫌がられる「単一障害点（Single Point of Failure）」を作ることになってしまいます。&lt;/p&gt;
&lt;h4 id="2-誰がどこにアクセスしたかの監査ログが曖昧になる"&gt;&lt;a href="#2-%e8%aa%b0%e3%81%8c%e3%81%a9%e3%81%93%e3%81%ab%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%97%e3%81%9f%e3%81%8b%e3%81%ae%e7%9b%a3%e6%9f%bb%e3%83%ad%e3%82%b0%e3%81%8c%e6%9b%96%e6%98%a7%e3%81%ab%e3%81%aa%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;2. 「誰が・どこに」アクセスしたかの監査（ログ）が曖昧になる
&lt;/h4&gt;&lt;p&gt;本番環境やチーム開発において重要な視点です。&lt;/p&gt;
&lt;p&gt;Bastion（要塞）の本来の目的は、「いつ、誰が、どのサーバーに入ったか」を厳密に記録・コントロールすることです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bastion用の鍵： 「あなたがクラウド環境のネットワークに入った」ことを証明する&lt;/li&gt;
&lt;li&gt;VM用の鍵： 「あなたが特定のサーバーの opc ユーザーとしてログインした」ことを証明する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらを同じ鍵にしてしまうと、鍵の管理者が同一人物である前提になってしまい、「Bastionを通過した人と、実際にVMを操作した人が本当に同一人物か？」という厳密なトレース（監査ログの信頼性）が担保しにくくなります。&lt;/p&gt;
&lt;h2 id="参考"&gt;&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor"&gt;&lt;/a&gt;参考
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://documentation.ubuntu.com/oracle/oracle-how-to/use-bastion-to-access-VM/" target="_blank" rel="noopener"
 &gt;https://documentation.ubuntu.com/oracle/oracle-how-to/use-bastion-to-access-VM/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://techblog.ap-com.co.jp/entry/2025/03/19/132232" target="_blank" rel="noopener"
 &gt;https://techblog.ap-com.co.jp/entry/2025/03/19/132232&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://oci-tech.jp/connect-private-compute-via-oci-bastion/" target="_blank" rel="noopener"
 &gt;https://oci-tech.jp/connect-private-compute-via-oci-bastion/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/rieto/items/3fcdd5d5157ecb406719" target="_blank" rel="noopener"
 &gt;https://qiita.com/rieto/items/3fcdd5d5157ecb406719&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>OCI (Oracle Cloud Infrastructure) で VM インスタンスを作成する</title><link>https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/</link><pubDate>Thu, 21 May 2026 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/</guid><description>&lt;h2 id="oci-oracle-cloud-infrastructure"&gt;&lt;a href="#oci-oracle-cloud-infrastructure" class="header-anchor"&gt;&lt;/a&gt;OCI (Oracle Cloud Infrastructure)
&lt;/h2&gt;&lt;p&gt;OCI には &lt;strong&gt;Always Free（永久無料枠）&lt;/strong&gt; という非常に強力な特典があり、&lt;strong&gt;4 OCPU / 24 GB メモリ&lt;/strong&gt; という、他社クラウドであれば有料級のハイスペックな Arm サーバー（Ampere A1）を無料で 24時間365日動かすことができます。&lt;/p&gt;
&lt;h3 id="oci-のコンピュート環境vm-とコンテナインスタンスの違い"&gt;&lt;a href="#oci-%e3%81%ae%e3%82%b3%e3%83%b3%e3%83%94%e3%83%a5%e3%83%bc%e3%83%88%e7%92%b0%e5%a2%83vm-%e3%81%a8%e3%82%b3%e3%83%b3%e3%83%86%e3%83%8a%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e3%81%ae%e9%81%95%e3%81%84" class="header-anchor"&gt;&lt;/a&gt;OCI のコンピュート環境：VM とコンテナインスタンスの違い
&lt;/h3&gt;&lt;p&gt;OCI でアプリケーションを動かすアプローチとして、主に &lt;strong&gt;「VM Compute（仮想マシン）」&lt;/strong&gt; と &lt;strong&gt;「コンテナインスタンス（Container Instances）」&lt;/strong&gt; の 2つがあります。&lt;/p&gt;
&lt;p&gt;どちらも Docker コンテナを動かせますが、その管理レイヤーと仕様には明確な違いがあります。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: left"&gt;比較項目&lt;/th&gt;
 &lt;th style="text-align: left"&gt;VM Compute (仮想マシン)&lt;/th&gt;
 &lt;th style="text-align: left"&gt;コンテナインスタンス&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;管理の単位&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;OS（Linux / Windows）&lt;/td&gt;
 &lt;td style="text-align: left"&gt;コンテナ（Dockerイメージなど）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;インフラ管理&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;必要&lt;/strong&gt;（OSアップデート、SSH管理）&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;不要&lt;/strong&gt;（サーバーレス。オラクルが基盤を管理）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;起動スピード&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;数分（OSのブート時間必要）&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;数秒&lt;/strong&gt;（コンテナの起動のみ）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;永続ストレージ&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;ブロック・ボリュームを自由に追加・マウント可能&lt;/td&gt;
 &lt;td style="text-align: left"&gt;エフェメラル（一時的。再起動でデータ消滅）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;永久無料枠&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;あり（4 OCPU / 24 GBメモリまで無料）&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;なし（秒単位の従量課金）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="どちらを選ぶべきか"&gt;&lt;a href="#%e3%81%a9%e3%81%a1%e3%82%89%e3%82%92%e9%81%b8%e3%81%b6%e3%81%b9%e3%81%8d%e3%81%8b" class="header-anchor"&gt;&lt;/a&gt;どちらを選ぶべきか？
&lt;/h3&gt;&lt;p&gt;コンテナインスタンスはサーバーレスで運用が手軽ですが、永久無料枠（Always Free）の対象外となります。また、コンテナの再起動によって内部のデータが消去される特性を持ちます。&lt;/p&gt;
&lt;p&gt;そのため、&lt;strong&gt;「24時間いつでも無料で動かし続けたい」「生成されるログやデータをローカルディスクに安全に保持（永続化）したい」という場合は、VM Compute を選択するのが最適&lt;/strong&gt;です。&lt;/p&gt;
&lt;h2 id="oci-への登録"&gt;&lt;a href="#oci-%e3%81%b8%e3%81%ae%e7%99%bb%e9%8c%b2" class="header-anchor"&gt;&lt;/a&gt;OCI への登録
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://www.oracle.com/jp/cloud/free/" target="_blank" rel="noopener"
 &gt;https://www.oracle.com/jp/cloud/free/&lt;/a&gt; にアクセスして「無料で始める」をクリックして各種情報を入力します。&lt;br&gt;
ちょっとした注意事項として、住所は英語で入力する必要があります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;参考&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://tzang.net/ja/oci-apply/" target="_blank" rel="noopener"
 &gt;https://tzang.net/ja/oci-apply/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://techblog.ap-com.co.jp/entry/2024/09/06/093000" target="_blank" rel="noopener"
 &gt;https://techblog.ap-com.co.jp/entry/2024/09/06/093000&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/kamimachi06/items/c72ac35600c0597d4524" target="_blank" rel="noopener"
 &gt;https://qiita.com/kamimachi06/items/c72ac35600c0597d4524&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="インスタンスの作成"&gt;&lt;a href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e3%81%ae%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;インスタンスの作成
&lt;/h2&gt;&lt;p&gt;ホームより &lt;strong&gt;インスタンス&lt;/strong&gt; を選択します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="607px" data-flex-grow="253" height="472" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/01.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/01_hu_e693b17eecf5f133.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/01.webp 1195w" width="1195"&gt;&lt;/p&gt;
&lt;p&gt;ホームにない場合は、左上のメニューから &lt;strong&gt;コンピュート &amp;gt; インスタンス&lt;/strong&gt; でも OK です。&lt;/p&gt;
&lt;p&gt;続いて &lt;strong&gt;インスタンスの作成&lt;/strong&gt; を選択します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="402px" data-flex-grow="167" height="599" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/02.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/02_hu_2a5b52be3f71e459.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/02.webp 1005w" width="1005"&gt;&lt;/p&gt;
&lt;h3 id="基本情報"&gt;&lt;a href="#%e5%9f%ba%e6%9c%ac%e6%83%85%e5%a0%b1" class="header-anchor"&gt;&lt;/a&gt;基本情報
&lt;/h3&gt;&lt;h4 id="イメージ"&gt;&lt;a href="#%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8" class="header-anchor"&gt;&lt;/a&gt;イメージ
&lt;/h4&gt;&lt;p&gt;デフォルトでは Oracle linux になっています。&lt;br&gt;
Oracle Linux は Red Hat Enterprise Linux（RHEL）をベースにした OS だそうです。&lt;/p&gt;
&lt;p&gt;セキュリティの「保護インスタンス」は、仮想マシン（VM）の乗っ取りや、悪意のあるプログラムによるOS改ざんを防ぐための「セキュリティ強化機能が有効になっている状態」を指すそうですので、保護インスタンスになっているものを選択しておいたほうが良さそうです。&lt;/p&gt;
&lt;h4 id="シェイプ"&gt;&lt;a href="#%e3%82%b7%e3%82%a7%e3%82%a4%e3%83%97" class="header-anchor"&gt;&lt;/a&gt;シェイプ
&lt;/h4&gt;&lt;p&gt;Always Free 対象のものとして以下の２つがあります。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;項目&lt;/th&gt;
 &lt;th&gt;Ampere (A1.Flex)&lt;/th&gt;
 &lt;th&gt;AMD (E2.1.Micro)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;最大リソース&lt;/td&gt;
 &lt;td&gt;4 OCPU / 24 GB（分配可能）&lt;/td&gt;
 &lt;td&gt;1 OCPU / 1 GB × 2台&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;アーキテクチャ&lt;/td&gt;
 &lt;td&gt;Arm (aarch64)&lt;/td&gt;
 &lt;td&gt;x86_64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;主な用途&lt;/td&gt;
 &lt;td&gt;開発環境、Docker、高負荷な処理、Webサーバー&lt;/td&gt;
 &lt;td&gt;軽量なスクリプト実行、VPNサーバー、検証用&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;VM.Standard.A1.Flex&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;現在OCIで提供されている中で最もハイスペックかつ使い勝手の良い無料枠インスタンスです。&lt;br&gt;
&lt;strong&gt;Ampere&lt;/strong&gt; を選択し、&lt;strong&gt;VM.Standard.A1.Flex&lt;/strong&gt; をチェックします。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="467px" data-flex-grow="194" height="666" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/03-1.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/03-1_hu_f43726e3dff82e49.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/03-1.webp 1296w" width="1296"&gt;&lt;/p&gt;
&lt;p&gt;シェイプ名横の ▼ を押すと CPU と RAM の設定ができます。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="455px" data-flex-grow="189" height="570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/03-3.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/03-3_hu_cb161b4a08e3cb5b.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/03-3.webp 1082w" width="1082"&gt;&lt;/p&gt;
&lt;p&gt;「4 OCPU / 24 GB」までは無料で使えるらしいです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VM.Standard.E2.1.Micro&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ampere A1 は人気のため、空きがなくて作成できないことが多いです。&lt;br&gt;
また、システムが Arm（Aarch64）アーキテクチャに対応しておらず、どうしても従来の x86_64 環境が必要な場合もあったりします。&lt;br&gt;
そのような場合はこちらを選びます。&lt;br&gt;
ただし、スペックは Ampere A1 に比べて大幅に低くなります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;専門と前世代&lt;/strong&gt; を選択し、&lt;strong&gt;VM.Standard.E2.1.Micro&lt;/strong&gt; をチェックします。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="411px" data-flex-grow="171" height="762" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/03-2.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/03-2_hu_948bb4cca6084069.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/03-2.webp 1306w" width="1306"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;上記のうち好きな方を選び、次へを押します。&lt;/p&gt;
&lt;h3 id="セキュリティ"&gt;&lt;a href="#%e3%82%bb%e3%82%ad%e3%83%a5%e3%83%aa%e3%83%86%e3%82%a3" class="header-anchor"&gt;&lt;/a&gt;セキュリティ
&lt;/h3&gt;&lt;p&gt;保護インスタンスの設定ができますが、予期せぬエラーや「動かない」トラブルの原因になりやすいそうなので、今回は OFF のままとしました。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="506px" data-flex-grow="211" height="548" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/05.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/05_hu_5e0e0a49f3828ea0.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/05.webp 1157w" width="1157"&gt;&lt;/p&gt;
&lt;h3 id="ネットワーキング"&gt;&lt;a href="#%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%ad%e3%83%b3%e3%82%b0" class="header-anchor"&gt;&lt;/a&gt;ネットワーキング
&lt;/h3&gt;&lt;h4 id="プライマリvnic"&gt;&lt;a href="#%e3%83%97%e3%83%a9%e3%82%a4%e3%83%9e%e3%83%aavnic" class="header-anchor"&gt;&lt;/a&gt;プライマリVNIC
&lt;/h4&gt;&lt;p&gt;初めて OCI を使うので、まだ「既存のネットワーク」が存在しないため、新しく &lt;strong&gt;新規仮想クラウド・ネットワーク&lt;/strong&gt; を選択します。
サブネットも自動的に &lt;strong&gt;新規パブリック・サブネットの作成&lt;/strong&gt; に切り替わり、名前などが自動入力されます。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="392px" data-flex-grow="163" height="708" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/06-1.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/06-1_hu_8ff9b9a5a1b5b81a.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/06-1.webp 1158w" width="1158"&gt;&lt;/p&gt;
&lt;p&gt;２回目は既存のネットワークを選択すれば OK です。&lt;/p&gt;
&lt;h4 id="パブリックipv4アドレス割当て"&gt;&lt;a href="#%e3%83%91%e3%83%96%e3%83%aa%e3%83%83%e3%82%afipv4%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e5%89%b2%e5%bd%93%e3%81%a6" class="header-anchor"&gt;&lt;/a&gt;パブリックIPv4アドレス割当て
&lt;/h4&gt;&lt;p&gt;今回は外部からの通信（インバウンド）を受ける必要はないため、 &lt;strong&gt;パブリックIPv4アドレスの割当て&lt;/strong&gt; は &lt;strong&gt;OFF&lt;/strong&gt; にしておきました。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="317px" data-flex-grow="132" height="879" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/06-2.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/06-2_hu_2a95284a5cafcb5f.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/06-2.webp 1162w" width="1162"&gt;&lt;/p&gt;
&lt;h4 id="sshキーの追加"&gt;&lt;a href="#ssh%e3%82%ad%e3%83%bc%e3%81%ae%e8%bf%bd%e5%8a%a0" class="header-anchor"&gt;&lt;/a&gt;SSHキーの追加
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;キー・ペアを自動で生成&lt;/strong&gt; を選択し、&lt;strong&gt;秘密キーのダウンロード&lt;/strong&gt; を押して秘密鍵をダウンロードしておきます。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="714px" data-flex-grow="297" height="330" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/06-3.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/06-3_hu_65217d3dc1d492e2.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/06-3.webp 982w" width="982"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-note"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;📝&lt;/span&gt;
 &lt;span class="alert-title"&gt;注記&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;SSH キーなしを選択すると、後述するように Cloud Shell からもインスタンスにアクセスできませんでした。
外部から SSH でアクセスする予定がなくても SSH キーは作成しておかないといけないようです。&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h3 id="ストレージ"&gt;&lt;a href="#%e3%82%b9%e3%83%88%e3%83%ac%e3%83%bc%e3%82%b8" class="header-anchor"&gt;&lt;/a&gt;ストレージ
&lt;/h3&gt;&lt;p&gt;ここは全てデフォルトのままとしました。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="449px" data-flex-grow="187" height="631" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/07.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/07_hu_950aba20468a9cd0.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/07.webp 1182w" width="1182"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;「カスタム・ブート・ボリューム・サイズ&amp;hellip;」について&lt;/strong&gt;
チェックがOFF（デフォルト）の場合、標準サイズである 46.6 GB のディスクが自動で割り当てられます。&lt;br&gt;
OCIの無料枠では最大で合計200GBまでストレージが使え、ここにチェックを入れて数値を 100 や 200 に増やすことも可能です。&lt;br&gt;
ただ、後からでもディスクサイズは簡単に拡張できるため、最初はデフォルトのままで様子見するのが安全です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;「転送中暗号化の使用」について&lt;/strong&gt;
デフォルトでONになっていますが、これは「仮想マシンとストレージの間の通信を暗号化して盗聴を防ぐ」というインフラ側の高度な保護機能です。&lt;br&gt;
パフォーマンスへの影響も無視できるレベルですので、ON（今の状態）のままにしておきましょう。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;「自分が管理するキーでこのボリュームを暗号化」について&lt;/strong&gt;
チェックがOFF（デフォルト）の場合、Oracleが管理する標準の暗号鍵で自動的にディスクが暗号化されます。&lt;br&gt;
個人開発で自前の鍵管理（Vault/KMSなど）を入れると管理コストが増えて複雑になるため、OFFのままで問題ありません。&lt;/p&gt;
&lt;h3 id="作成"&gt;&lt;a href="#%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;作成
&lt;/h3&gt;&lt;p&gt;次へ進み、&lt;strong&gt;「作成」&lt;/strong&gt; を押すとインスタンスが作成されます。&lt;br&gt;
しばらく待つとインスタンスが作成されます（ステータス表示が &lt;strong&gt;実行中&lt;/strong&gt; に変わります）。&lt;/p&gt;
&lt;h3 id="api-エラーが発生した場合"&gt;&lt;a href="#api-%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%8c%e7%99%ba%e7%94%9f%e3%81%97%e3%81%9f%e5%a0%b4%e5%90%88" class="header-anchor"&gt;&lt;/a&gt;API エラーが発生した場合
&lt;/h3&gt;&lt;p&gt;これは設定の間違いではなく、「現在、Oracleのデータセンター側で、無料枠用のArmサーバー（Ampere）の在庫が一時的に切れている」 という、OCIの無料枠で最も頻繁に発生する有名な現象です。&lt;br&gt;
世界中で無料枠のAmpereは非常に人気があるため、椅子取りゲームのようになっています。&lt;/p&gt;
&lt;p&gt;解決策は以下です。&lt;/p&gt;
&lt;h4 id="1x86のamd枠に切り替えて即時作成する確実おすすめ"&gt;&lt;a href="#1x86%e3%81%aeamd%e6%9e%a0%e3%81%ab%e5%88%87%e3%82%8a%e6%9b%bf%e3%81%88%e3%81%a6%e5%8d%b3%e6%99%82%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b%e7%a2%ba%e5%ae%9f%e3%81%8a%e3%81%99%e3%81%99%e3%82%81" class="header-anchor"&gt;&lt;/a&gt;1：x86の「AMD枠」に切り替えて即時作成する（確実・おすすめ）
&lt;/h4&gt;&lt;p&gt;Arm（Ampere）の在庫がなくても、もう1つの無料枠であるAMD（VM.Standard.E2.1.Micro）であれば、在庫に余裕がありすんなり作成できるケースが非常に多いです。&lt;/p&gt;
&lt;h4 id="2フォルトドメインを変更して再トライする"&gt;&lt;a href="#2%e3%83%95%e3%82%a9%e3%83%ab%e3%83%88%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%97%e3%81%a6%e5%86%8d%e3%83%88%e3%83%a9%e3%82%a4%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;2：「フォルト・ドメイン」を変更して再トライする
&lt;/h4&gt;&lt;p&gt;同じAmpere（Arm）のまま、サーバーが置かれる物理的な区画（フォルト・ドメイン）を変更することで、運よく在庫が引っかかることがあります。&lt;/p&gt;
&lt;h4 id="3数日数週間時間を変えてクリックし続ける"&gt;&lt;a href="#3%e6%95%b0%e6%97%a5%e6%95%b0%e9%80%b1%e9%96%93%e6%99%82%e9%96%93%e3%82%92%e5%a4%89%e3%81%88%e3%81%a6%e3%82%af%e3%83%aa%e3%83%83%e3%82%af%e3%81%97%e7%b6%9a%e3%81%91%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;3：数日〜数週間、時間を変えてクリックし続ける
&lt;/h4&gt;&lt;p&gt;どうしても強力な「Arm（4 OCPU / 24 GBを狙いたいなど）」が良い場合、誰かがインスタンスを削除して在庫が空くのを待つことになります。&lt;/p&gt;
&lt;h2 id="インスタンスの起動"&gt;&lt;a href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e3%81%ae%e8%b5%b7%e5%8b%95" class="header-anchor"&gt;&lt;/a&gt;インスタンスの起動
&lt;/h2&gt;&lt;p&gt;コンピュートの画面から &lt;strong&gt;インスタンス&lt;/strong&gt; を選択し、該当のインスタンスをクリックします。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="591px" data-flex-grow="246" height="438" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/08-1.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/08-1_hu_4c5916a94a5f5af9.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/08-1.webp 1080w" width="1080"&gt;&lt;/p&gt;
&lt;p&gt;右上から起動を押します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="593px" data-flex-grow="247" height="327" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/08-2.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/08-2_hu_341b4d1921dff504.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/08-2.webp 808w" width="808"&gt;&lt;/p&gt;
&lt;p&gt;これでしばらく待つとインスタンスが起動します。&lt;/p&gt;
&lt;h2 id="インスタンスへ接続cloud-shell-で接続"&gt;&lt;a href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e3%81%b8%e6%8e%a5%e7%b6%9acloud-shell-%e3%81%a7%e6%8e%a5%e7%b6%9a" class="header-anchor"&gt;&lt;/a&gt;インスタンスへ接続（Cloud Shell で接続）
&lt;/h2&gt;&lt;p&gt;OCI 上から Cloud Shell でインスタンスに接続してみます。&lt;/p&gt;
&lt;h3 id="cloud-shell-の起動"&gt;&lt;a href="#cloud-shell-%e3%81%ae%e8%b5%b7%e5%8b%95" class="header-anchor"&gt;&lt;/a&gt;Cloud Shell の起動
&lt;/h3&gt;&lt;p&gt;画面右上の &lt;strong&gt;開発者ツール&lt;/strong&gt; をクリックし、&lt;strong&gt;Cloud Shell&lt;/strong&gt; を選択します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="483px" data-flex-grow="201" height="141" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/10-1.webp" width="284"&gt;&lt;/p&gt;
&lt;p&gt;画面下に端末が表示されますが、まだインスタンスの中には入っていません。&lt;br&gt;
Cloud Shell が単体で起動しただけです。&lt;/p&gt;
&lt;h3 id="ネットワークの変更"&gt;&lt;a href="#%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e3%81%ae%e5%a4%89%e6%9b%b4" class="header-anchor"&gt;&lt;/a&gt;ネットワークの変更
&lt;/h3&gt;&lt;p&gt;端末上部の「ネットワーク：パブリック」と表示されたプルダウンから「エフェメラル・プライベートネット・・・」を選択します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="402px" data-flex-grow="167" height="192" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/10-2.webp" width="322"&gt;&lt;/p&gt;
&lt;p&gt;インスタンス作成時に作成した VCN とサブネットを選択し、&lt;strong&gt;アクティブなネットワークとして使用&lt;/strong&gt; を押します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="273px" data-flex-grow="114" height="538" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/21/oracle-cloud-infrastructure/10-3.webp" width="614"&gt;&lt;/p&gt;
&lt;h3 id="秘密鍵ファイルのアップロード"&gt;&lt;a href="#%e7%a7%98%e5%af%86%e9%8d%b5%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%82%a2%e3%83%83%e3%83%97%e3%83%ad%e3%83%bc%e3%83%89" class="header-anchor"&gt;&lt;/a&gt;秘密鍵ファイルのアップロード
&lt;/h3&gt;&lt;p&gt;先程ダウンロードした秘密鍵ファイルを端末上にドラッグ＆ドロップしてアップロードします。&lt;/p&gt;
&lt;p&gt;Linux のルールとして、秘密鍵の権限が緩いままだとSSH接続が拒否されてしまうため、以下のコマンドでパーミッションを変更します。
（※ファイル名はご自身のものに書き換えてください）&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chmod 600 ssh-key-xxxx.key
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ssh-コマンドでログインする"&gt;&lt;a href="#ssh-%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%81%a7%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;SSH コマンドでログインする
&lt;/h3&gt;&lt;p&gt;以上で準備は完了です。&lt;br&gt;
以下のコマンドで Cloud Shell インスタンスへと接続します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh -i ssh-key-xxxx.key &amp;lt;username&amp;gt;@&amp;lt;private_ip_address&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;&amp;lt;username&amp;gt;&lt;/code&gt; は、インスタンスのデフォルトのユーザー名です。&lt;br&gt;
Oracle Linux および Redhat Enterprise Linux 互換イメージの場合、デフォルトのユーザー名は &lt;code&gt;opc&lt;/code&gt;、Ubuntu イメージの場合、デフォルトのユーザー名は &lt;code&gt;ubuntu&lt;/code&gt; だそうです。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;private_ip_address&amp;gt;&lt;/code&gt; は接続先インスタンスのプライベートIPアドレスです。&lt;br&gt;
&lt;strong&gt;コンピュート &amp;gt; インスタンス&lt;/strong&gt; で確認できます。&lt;code&gt;10.0.x.x&lt;/code&gt; のような数字を入れてください。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;p&gt;コマンド入力後、&lt;code&gt;Are you sure you want to continue connecting (yes/no)?&lt;/code&gt; と聞かれたら、 &lt;code&gt;yes&lt;/code&gt; と入力してEnterを押します。&lt;/p&gt;
&lt;p&gt;無事にプロンプトが &lt;code&gt;&amp;lt;username&amp;gt;@instance-xxxx:~$&lt;/code&gt; に切り替われば、インスタンスに接続できています。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;とりあえずはここまで。&lt;/p&gt;
&lt;h2 id="参考"&gt;&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor"&gt;&lt;/a&gt;参考
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.clinks.jp/column/oci/1983/" target="_blank" rel="noopener"
 &gt;https://www.clinks.jp/column/oci/1983/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://oracle-japan.github.io/ocitutorials/beginners/creating-compute-instance/" target="_blank" rel="noopener"
 &gt;https://oracle-japan.github.io/ocitutorials/beginners/creating-compute-instance/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.reqtc.com/blog/oci-ssh.html" target="_blank" rel="noopener"
 &gt;https://www.reqtc.com/blog/oci-ssh.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>