6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WordPress on OCI Container Instances

Last updated at Posted at 2022-12-11

2022年12月に GA となった OCI Container Instances を利用して、WordPress を動かしてみようと思います。

What is OCI Container Instances ?

OCI Container Instances は、コンテナ用に最適化されたサーバレス・コンピューティングでアプリケーションを実行できます。ダッシュボード(Web UI)からコンピュートシェイプ、リソース割り当て、ネットワーク構成をプロビジョニングして、複数のコンテナをローンチできます。
Kubernetes をはじめとするコンテナ・オーケストレーション・プラットフォームを必要としないコンテナベースのワークロードに適したサービスです。

料金については、OCI Compute と同価格の CPU とメモリーリソースに対して発生します。

本記事では、以下 Reference Architecture にある、OCI Container Instances 上で WordPress をデプロイする流れを辿ってみます。

oci-container-instance-wordpress.png

Provisioning

実際に環境構築を行います。

ハンバーガーメニューをクリックします。
01.png
「開発者サービス」-「コンテナ・インスタンス」を選択します。
02.png
「コンテナ・インスタンスの作成」ボタンをクリックします。
03.png
以下画像赤枠の箇所を変更します。それ以外はデフォルト値にしています。

  • 「名前」:container-instance-wordpress
  • 「メモリー量(GB)を選択します」:4
    04.png
    以下画像赤枠の箇所を変更します。それ以外はデフォルト値にしています。
  • 「ホスト名 オプション」:wordpress
  • 「コンテナ再起動ポリシー」:常時
    05.png
    「次」ボタンをクリックします。
    06.png
    WordPress のデータベースを構成する MySQL イメージを設定します。最初に、「Name オプション」を「db」と入力します。そして、「イメージの選択」ボタンをクリックします。
  • 「Name オプション」:db
    07.png
    「外部レジストリ」タブを選択して、以下の設定を行います。
  • 「イメージ」:mysql
  • 「タグ」:8.0.30
    タブですが、「OCIコンテナ・レジストリ」は、OCI のコンテナレジストリ(OCIR)に格納されているイメージを設定できます。「外部レジストリ」は、パブリックサービスなどのコンテナレジストリを設定できます。デフォルトでは、Docker Hub となっています。
    「別のレジストリを選択してください」のチェックボックスを有効にすると Docker Hub 以外のコンテナ・レジストリを設定できます。ここでは、「別のレジストリを選択してください」のチェックボックスを無効として、デフォルトの Docker Hub にある MySQL の公式コンテナイメージを使用します。
    08.png
    「イメージの選択」ボタンをクリックします。
    09.png
    以下の環境変数を設定します。WordPress 用のデータベース設定です。最初に、「+ 別の変数」ボタンを3回クリックして、その後設定値を入力します。
  • 「MYSQL_ROOT_PASSWORD」:somewordpress
  • 「MYSQL_DATABASE」:wordpress
  • 「MYSQL_USER」:wordpress
  • 「MYSQL_PASSWORD」:wordpress
    次に「拡張オプションの表示」テキストをクリックします。
    10.png
    「リソース」タブでは、コンテナで消費されるリソース量を指定できます。ここでは、デフォルト値とします。次に「起動オプション」タブを選択します。
    11.png
    MySQL 8.04 以降、caching_sha2_password プラグインを利用した認証方式がデフォルトとなりました。ここでは、従来の認証方式のプラグイン mysql_native_password に変更します。
  • 「エントリポイント引数」:--default-authentication-plugin=mysql_native_password
    12.png
    「+ 別のコンテナ」ボタンをクリックします。
    13.png
    次は、wordpress アプリケーションのコンテナイメージの設定を行います。「Name オプション」を「app」と入力します。そして、「イメージの選択」ボタンをクリックします。
  • 「Name オプション」:app
    14.png
    「外部レジストリ」タブを選択して、以下の設定を行います。WordPress は latest のコンテナイメージを利用するため、タグの指定はしません。
  • 「イメージ」:wordpress
    15.png
    「イメージの選択」ボタンをクリックします。
    09.png
    以下の環境変数を設定します。WordPress アプリケーションが MySQL に接続するために必要な設定です。最初に、「+ 別の変数」ボタンを3回クリックして、その後設定値を入力します。
  • 「WORDPRESS_DB_HOST」:127.0.0.1
  • 「WORDPRESS_DB_USER」:wordpress
  • 「WORDPRESS_DB_PASSWORD」:wordpress
  • 「WORDPRESS_DB_NAME」:wordpress
    16.png
    「次」ボタンをクリックします。
    17.png
    設定内容を確認します。
    18.png
    「作成」ボタンをクリックします。
    19.png
    設定した app と db のコンテナが作成されます。
    20.png

Create Netowrk Security Group

デフォルトでは、80ポートを使用したWebアクセスが許可されていないので、ネットワーク・セキュリティ・グループを作成して、ブラウザからアクセスできるように設定します。
ハンバーガーメニューをクリックします。
01.png
「ネットワーキング」-「仮想クラウド・ネットワーク」を選択します。
21.png
対象の VCN を選択します。
22.png
左にあるリソースメニューから「ネットワーク・セキュリティ・グループ」を選択します。
23.png
「ネットワーク・セキュリティ・グループの作成」ボタンをクリックします。
24.png
以下の設定を行います。

  • 「名前」:container-instances
    25.png
    「次」ボタンをクリックします。
    26.png
    以下の設定を行います。
  • 「ソース・タイプ」:CIDR
  • 「ソースCIDR」:0.0.0.0/0
  • 「IPプロトコル」:TCP
  • 「ソース・ポート範囲」:All
  • 「宛先ポート範囲」:80
    27.png
    「作成」ボタンをクリックします。
    19.png
    設定されたことを確認します。
    28.png
    作成したコンテナ・インスタンスに、このネットワーク・セキュリティ・グループを適用します。
    ハンバーガーメニューをクリックします。
    01.png
    「開発者サービス」-「コンテナ・インスタンス」を選択します。
    02.png
    対象のコンテナ・インスタンスを選択します。
    29.png
    「編集」リンクテキストをクリックします。
    30.png
    作成したネットワーク・セキュリティ・グループ「container-instances」を選択して、「変更の保存」ボタンをクリックします。
    31.png
    「パブリックIPアドレス」の「コピー」リンクテキストをクリックします。
    32.png
    ブラウザを起動してコピーしたパブリックIPアドレスにアクセスして、WordPress 初期セットアップ画面が表示されることを確認します。
    33.png

WordPress Set Up

「日本語」を選択して、「次へ」ボタンをクリックします。
33.png
任意の情報を設定して、「WordPress をインストール」ボタンをクリックします。
34.png
「ログイン」ボタンをクリックします。
35.png
設定した、ユーザー名とパスワードを入力して、「ログイン」ボタンをクリックします。
36.png
以下の画面が表示されれば完了です。
37.png
再度パブリックIPアドレスにブラウザでアクセスすると、デフォルトのブログ画面が表示されます。
38.png

OCI Container Instances で WordPress を動かすことができました。削除については、コンテナ・インスタンスと作成された VCN の削除です。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?