1
2

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 3 years have passed since last update.

IBM Cloud internet services (CIS)からROKSのpodにアクセスしてみた

Last updated at Posted at 2021-08-27

はじめに

ROKS(Red Hat OpenShift on IBM Cloud)環境でデプロイしたアプリをインターネットからアクセスする方法をご紹介いたします。今回はROKS上にデプロイしたhtmlを自分のドメインから誰でも閲覧できるようにしてみました。

以下に今回構築する環境のアーキテクチャーを示します。
1.png

本手順では
Step1ドメイン名登録(ドメイン名が持ってない方)
Step2 CISセットアップ
Step3 ROKSのroute設定変更
の流れで実行します

環境・前提

この説明ではServiceの作成、routeの作成の手順は省略されていますので、追加しないのであれば前提条件にserviceとrouteがあることも追記する必要があると思います。

必要なものは以下です

  • IBM CloudとOpenShift利用可能

  • ROKS環境で正常にrunningしているpodある

  • IBM CLIとOC CLIある

Step1 ドメイン名登録

▲ドメイン名の登録が課金されますので、ご注意ください

CISセットアップする時に、ドメイン名を持つ必要がありますので、先にドメインを作成しておいてください。

IBM CloudのDomain Name Registrationで簡単にドメイン名を登録できますので、今回はそれを例をとして、ご紹介いたします。(こちらのリンクからも登録の手順を参照できますhttps://cloud.ibm.com/docs/infrastructure/dns/use-domain-reg-screen.html)

まず、写真の通りに、お好きな方法でDomain Name Registrationの画面を開いてください。
▲Domain Name Registrationを見つけられない、操作できない場合があったら、今使っているアカウントの権限をチェックしてみてください。
2.png
「Register」をクリックして、「Domain Name」に好きなドメイン名を入力して、continueをクリックします。(ここで課金されますので、ご注意ください)
3.png

##Step2 CISセットアップ
次は、CISをセットアップします。
IBM Cloudカタログに、Internet Servicesを入力して、CISの画面を開いてください。
ここからオーダーします。
4.png

CISは結構なお金がかかりますので、操作を練習したい方には無料プランをおすすめです。
5.png

下の写真通りに、ドメインのセットアップの手順に従って、手続きを進めます。
6.png

最後の「ドメイン管理」のところで、「new NS records」があります。この「new NS records」をコピーして、今使っているDNS プロバイダーで自分のドメインのDNS設定のNSレコードを更新してください。

本手順では、IBM Cloud Domain Name Registrationでドメインを登録しましたので、前のstep1の「Domains」設定画面で新しいNSレコードで変更します。
7.png

変更を保存したら、CISに戻って、ドメインの状態は「pending」から「active」になったら、完了です。
image.png

次に、DNSレコードを追加します。CNAMEで名前解決をできて、www.sample.comからROKSにアクセスすることが実現できます。
左側のメニューの「信頼性」→「DNS」をクリックしてください。画面をスクロールして、一番下のところに新しいDNSレコードを設定します。
9(8没有.png
タイプはCNAME、値はROKSのLoad Balancerのホストです。

TIPS:
ROKSのLoad Balancerのホスト名を確認するcommand:
$ ibmcloud oc nlb-dns ls -c <cluster name>

ここまで問題がなければ、CISの設定が完了です

##Step3 ROKSのroute設定変更
最後にROKSのLoad BalancerからPodにアクセスする方法をご説明いたします。
ここで、routeの役割はserviceを参照しながら、www.sample.comへのリクエストがどのPodに送ればいいのかを判断します。
以下の手順は全部CLIで操作するので、先にCLIでIBM CloudとOpenShiftにログインしておいてください。

$ oc get route -n <project name>                       //今のホスト名を確認
$ oc get route <pod name> -o yaml -n <project name>     //YAMLファイルを確認
$ oc edit route <pod name> -n <project name>           // YAMLファイルを編集

下の写真通りにYAMLファイルのホスト名をwww.sample.comに変更してください
10.png

最後に、ブラウザからアクセスしてみて、問題なく表示されば、すべての設定が完成です。
以上で、自分のドメインにCIS経由でROKSのアプリにアクセスできるようになりました。

##参考資料
https://cloud.ibm.com/docs/infrastructure/cis/getting-started.html

A huge THANK YOU to 舛谷さん & 山本さん。いろいろ教えてありがとうございます

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?