OCIにおけるサーバレスAPI環境の構築方法~第1回~

 2022.09.29  株式会社テリロジー 技術統括部

OCIを利用してサーバレスAPI環境を構築した際の手順を4回にわたって紹介したいと思います。

検索すればハンズオンやら既に構築された方の記事は見つかりますが、内容が古かったり動かなかったりと悩むこともしばしばありました。
そこで動作の確認が取れている構築方法のまとめを記事にしました。
これの通り実施すればサーバレスAPI環境を構築する事ができるようになると思います。

構成はこんな感じです。

※1 サービスの構成図

サービスの構成図

サーバレスAPI環境は次の4つのOCIサービスを利用しています。

  1. インスタンス
  2. コンテナ・レジストリ
  3. アプリケーション
  4. APIゲートウェイ
  5. ポリシー(アイデンティティ)

第1回はインスタンスの構築(前編)として、OSのセットアップ、OCI CLIのインストール、Dockerのインストールの紹介となっています。
それでは構築を進めていきます。

インスタンス

言わずと知れたサーバサービスです。
私は余っているLinuxサーバがなかったのでOCIで用意しましたが、手元に余っているLinuxサーバがあればそれを利用する事も可能です。
このサーバは、ソースコードの作成、コンテナイメージの生成、OCIのコンテナ・レジストリへプッシュする実施するために使用します。

それでは必要なミドルウェアのセットアップを始めます。

OSセットアップ

セットアップは要件毎に違うので一概には言えませんが、最低でもOSのアップデートだけは行っておいてください。
アップデート後はOSの再起動を忘れずに。

  • 実行するコマンド
    $ sudo dnf update
    $ sudo reboot

OCI cliのインストールと実行

サーバにOCI cliをインストールします。
流れとしては次の4つステップを実施します。

  1. インストール
  2. 秘密鍵の作成、登録
  3. configファイルの作成
  4. OCI cliの実行

それでは上から順に実施していきます。

1. インストール

まずはCOI cliのインストールです。

  • 実行するコマンド
    $ sudo dnf install oraclelinux-developer-release-el8
    $ sudo dnf install python36-oci-cli

クイックスタートをそのままを実行していますが、もしかしたら新しいバージョンがリリースされているかもしれません。
インストールが完了するとociコマンドが利用できるようになります。

2. 秘密鍵の作成、登録

ociコマンドを用いて秘密鍵を生成します。

  • 実行するコマンド
    $ oci setup keys

このコマンドを実行するとSSLの秘密鍵の生成と同じで、パスフレーズの入力後に秘密鍵と公開鍵が「ホームディレクトリ/.ocp」のディレクトリの下に生成されます。
生成された秘密鍵をOCIのアクセスさせたいアイデンティティユーザのWebコンソール画面から登録します。
cliでアクセスさせたいユーザの詳細画面を開き、左側のリソースメニューから”APIキー”を選択、その後”APIキーの追加”ボタンをクリックします。(※1)
表示されたAPIキーの追加画面で”公開キーの貼付け”を選択肢して”公開キー”のフォームに①で生成された公開鍵ファイル(oci_api_key_public.pem)の中身を張り付けて”追加”ボタンを押します。(※2)

登録が正常に完了すると”構成ファイルのプレビュー”の画面(※3)が表示されるので”構成ファイルのプレビュー 読み取り専用”のフォームに書かれた[DEFAULT]から始まる全ての行をコピーします。

※2 アカウントの詳細画面

アカウントの詳細画面

※3 APIキー追加画面

APIキー追加画面

※4 構成ファイルのプレビュー画面

構成ファイルのプレビュー画面

configファイルの作成

Linuxの画面に戻りconfigファイルを生成します。

  • 実行するコマンド
    $ vi ~/.oci/config

コンフィグファイルを開き②でコピーした内容を貼り付けます。
“key_file”の行は、①で生成した公開鍵のパスを入力します。
パスは”/home/ユーザ名/.oci/oci_api_key.pem”です。

OCI cliの実行

OCI cliを実行する準備が整いましたので動作確認をしてみます。

  • 実行するコマンド
    $ oci iam user list –all

正常にコマンドが実行されると、コンソールにOCIに登録されているユーザの一覧がJSONフォーマットで表示されます。

Dockerのインストール

サーバにDockerをインストールします。
既にインストールしている場合は飛ばしてください。

上から順にリポジトリの追加、インストール、起動、自動起動の設定と一般的なコマンドを実行します。
また、root以外でdockerを動作させる場合は、次のコマンドを実行して再度ログインします。
  • 実行するコマンド
    $ sudo usermod -g docker opc
今回はここまでとなります。
次回はFn Projectのインストールとセットアップの方法を紹介します。

RECENT POST「技術情報」の最新記事


技術情報

OCVS・Horizon構築してみた②

技術情報

Sumologicで目にするOpen Telemetry Collectorとは(中編)

技術情報

Sumo Logic アカウントを持っていないユーザへのダッシュボードの共有方法は?

技術情報

Sumo Logic ダッシュボードやフォルダ共有について

OCIにおけるサーバレスAPI環境の構築方法~第1回~