はじめに
後続のチュートリアルで利用する開発環境をセットアップしましょう。
Oracle Cloud Infrastructure(OCI) では様々な仮想マシンイメージを提供しています。
本ページではその中から、開発者向けのLinux仮想マシンである Oracle Linux Cloud Developer イメージ
をセットアップする手順を記載しています。
Oracle Linux Cloud Developer イメージ
は、Python、Node.js、Goといった言語や、Oracle Instant Clientなどの各種接続ドライバ、Oracle Cloud Infrastructure CLI(OCI CLI)といった各種ツールがプリインストールされており、アプリケーション開発は勿論、各種検証作業を実施する際にとても便利です。
尚、Oracle Linux Cloud Developer イメージの詳細については こちら を参照ください。
またOracle Cloud Infrastructureに仮想マシン作成する手順詳細に関しては本チュートリアル 入門編の その3 - インスタンスを作成する の手順も併せてご確認ください。
前提条件
- ADBインスタンスが構成済みであること
※ADBインタンスを作成方法については、101:ADBインスタンスを作成してみよう を参照ください。 - ADBインスタンスのクレデンシャル・ウォレットがダウンロード済みであること
※クレデンシャルウォレットのダウンロード方法については、104: ウォレットを利用してADBに接続してみよう の、1. クレデンシャル・ウォレットのダウンロード をご確認ください。
目次
所要時間 : 約30分
1. 仮想マシンの作成
-
メニューバーから
コンピュート
を選択し、インスタンス
をクリックします。 -
インスタンスの作成
をクリックします。 -
インスタンス名を入力します。例 : devIns01
-
配置、イメージとシェイプ、ネットワークキング
の項目を入力していきます。-
配置
仮想マシンを、リージョン内のどの可用性ドメイン(AD)に配置するかを指定します。 任意の可用性ドメインを選択してください。
-
イメージとシェイプ
イメージ:Oracle Linux Cloud Developer
イメージの変更
をクリックし、Oracle Linux Cloud Developer
にチェックを入れます。
シェイプ:VM.Standard.E4.Flex(仮想マシン)
-
ネットワーキング
- ネットワーク:どの仮想クラウド・ネットワーク(VCN)上に配置するかを指定します。
既存のVCNを選択するか、新規のVCNの作成します。どちらでも結構です。ここでは、既存のVCN「ADB_HOL_DEV_VCN」を選択しています。- サブネット:任意の
パブリック・サブネット
を選択してください。
※インスタンスにssh接続するため、パブリック・サブネットである必要があります。 - パブリックIPアドレスの割当てを選択
※パブリックIPアドレスの割当てを有効にしないと、インスタンスにssh接続することができません。
- サブネット:任意の
Note
用意したコンパートメントに仮想クラウド・ネットワーク(VCN)が存在しない場合、VCNが自動的に作成されます。
- ネットワーク:どの仮想クラウド・ネットワーク(VCN)上に配置するかを指定します。
-
-
SSHキーを追加します。
SSHキーはこちらの画面で生成する・既存の公開キーを選択することが可能です。
生成する場合は秘密キーの保存
と公開キーの保存
を必ずクリックしてください。(後から生成することはできません)
お手持ちのSSHキーを使いたい場合は、公開キー・ファイル(.pub)のアップロード
または公開キーの貼付け
を選択し、アップロードまたは貼り付けしてください。
※ SSHキーの作成方法の詳細は こちら を参照ください
※ 集合ハンズオン・セミナーの場合は講師から指示される鍵を使用してください。 -
最後に
作成
をクリックします。(オレンジ色のプロビジョニング中
から緑色の起動中
に変われば作成完了です。数分かかります)
2. 仮想マシンへのアクセス
上記で作成した仮想マシンにSSHで接続してみましょう。ここではTera Termの利用を前提に記載しています。
-
仮想マシンのパブリックIPアドレスを確認します。
- Tera Term を起動し、以下の記載例を参考に各項目を入力し、OK をクリックします。
- ホスト:
先程のステップで確認したパブリックIPアドレス
- TCPポート:
22
(デフォルト) - サービス:
SSH
※ 初めて接続するホストの場合、セキュリティ警告が表示されることがあります。問題がなければ「続行」をクリックしてください。
- ホスト:
- 以下の記載例を参考に各項目を入力し、OK をクリックします。
- ユーザー:
opc
- パスフレーズ:(秘密鍵にパスフレーズが設定されている場合は指定してください)
※集合ハンズオンセミナーの場合はパスフレーズは設定していないので、未入力にします。 - 秘密鍵:インスタンスを作成する際に使用した公開鍵と対になる
秘密鍵
※ 集合ハンズオンセミナーの場合は講師から指示される鍵を使用してください。
- ユーザー:
- ログインできたことを確認します。(次のようになればOKです。このまま次のステップに進んでください)
3. 後続のハンズオンで利用するサンプルスクリプト一式を仮想マシン上に配置
次に後続のハンズオンで利用するファイルを仮想マシン上に用意・配置します。
-
必要なファイルをまとめたlabs.zipというファイルをこちらでご用意しています。 ログインした仮想マシン上で次のコマンドを実行します。
wget https://oracle-japan.github.io/ocitutorials/adb/adb-data/labs.zip
-
labs.zip がダウンロードされたことを確認します。(ファイルが存在すればOKです。)
ls
補足
上記の方法で上手くダウンロードできなかった方は、手元のPCにダウンロードしてからアップロードする方法をお試しください。
※ここではTera Termを前提に記載しています。- 下記のリンクより、labs.zipを手元のPCにダウンロードします。
-
labs.zipをTera Termのウィンドウ画面上にドラッグ・アンド・ドロップします。
-
Tera Termでは転送先に指定するディレクトリパスを指定できますが、特に指定せずそのまま
OK
をクリックします。
※ Tera Termではなく、手元の端末から仮想マシンにサインインしている方は次のコマンドをご利用ください。
手元の環境にダウンロードしてきたファイルを、ssh接続先の仮想マシンにアップロードするコマンドです。scp -i [秘密鍵のパス] [転送したファイルのパス] opc@[転送先のPublic IP]:[転送先での保存先のパス]
-
アップロードしたlabs.zipをoracleユーザの配下に移動します。
sudo mv labs.zip /home/oracle/labs.zip
-
zipファイルを解凍します
sudo unzip /home/oracle/labs.zip -d /home/oracle
-
ファイルの所有者を変更します。次のコマンドを順に実行しましょう。
sudo chown oracle:oinstall /home/oracle/labs.zip
sudo chown -R oracle:oinstall /home/oracle/labs
-
展開後のファイルを確認してください。(nodeやpythonといったディレクトリやファイルが存在していればOKです)
sudo ls /home/oracle/labs
4. ADBに接続するための設定ファイルの編集
ADBに接続するためには、クレデンシャル・ウォレット(Credential.zipファイル)を仮想マシン上に配置する必要があります。 クレデンシャルウォレットのダウンロード方法については、101: ウォレットを利用してADBに接続してみよう の、1. クレデンシャル・ウォレットのダウンロード をご確認ください。
-
仮想マシンにopcユーザでログインします。
-
クレデンシャル・ファイルを仮想マシン上にアップロードします。
※ここではTeratermを前提に記載しています。
2-1. Tera Term を起動し、仮想マシンにopcユーザでログインします。
2-2. クレデンシャル・ファイル(wallet_atp01.zip)をTera Termのウィンドウ画面上にドラッグ・アンド・ドロップします。
2-3. Tera Termでは転送先に指定するディレクトリパスを指定できますが、特に指定せずそのまま
OK
をクリックします。2-4. opcユーザのホームディレクトリを確認し、Wallet_atp01.zip が転送されたことを確認します。(ファイルが存在すればOKです。)
ls
-
先ほどアップロードしたクレデンシャル・ファイルをoracleユーザの配下に移動し、ファイルの所有者をoracleユーザに変更します。
(本ハンズオンラボでは特に指定のない限りoracleユーザを利用して各種操作を体験いただきます。)
次のコマンドを順に実行しましょう。sudo mv Wallet_atp01.zip /home/oracle/labs/wallets_atp01/.
sudo chown oracle:oinstall /home/oracle/labs/wallets_atp01/Wallet_atp01.zip
-
oracleユーザにスイッチします。
次のコマンドを順に実行しましょう。sudo -s
su - oracle
(一旦rootユーザにスイッチしてから、oracleユーザにスイッチしています)
-
zipファイルをディレクトリ「wallet_atp01」の下に展開します。
unzip /home/oracle/labs/wallets_atp01/Wallet_atp01.zip -d ~/labs/wallets_atp01
-
TNS_ADMIN環境変数をディレクトリ「wallet_atp01」に設定します。
TNS_ADMINは、ウォレットの格納場所を表す環境変数です。アップロードしてきたクレデンシャルウォレットの格納場所を設定します。export TNS_ADMIN=/home/oracle/labs/wallets_atp01
Note
アプリ毎に接続するインスタンスを切り替えたい場合は、インスタンス毎に wallets_atp01 といったようにディレクトリを定義し、アプリ毎に環境変数TNS_ADMINのパスを切り替えると簡単です。
-
$HOME/wallets ディレクトリに移動します。
cd ~/labs/wallets_atp01/
-
解凍されたファイルの中にある sqlnet.ora ファイルの環境変数 WALLET_LOCATION を編集します。
sqlnet.oraファイルでは、クライアントとなるマシンからADBサーバへ接続する際に使用する、サーバーのアドレスやリスナーのポート番号を解決するための方法を指定しています。
sqlnet.oraに含まれるWALLET_LOCATIONには、クレデンシャルウォレットの格納場所を指定します。この格納場所はすでにTNS_ADMINに設定済みであるため、格納先のパスを指定するDIRECTORYに環境変数TNS_ADMINを参照するように設定します。編集前:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))
編集後:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY=$TNS_ADMIN)))
編集方法の一例として、viを使用した操作方法は次の通りです。
8-1. sqlnet.ora をviで開く。
vi sqlnet.ora
8-2. 次の操作方法を参考に、WALLET_LOCATION の値を編集します。
viの操作方法
キー入力 動作 上下左右キー カーソルの場所を移動する i カーソルの場所から編集する(InsertModeに入る) ESCキー InsertModeを抜ける x カーソルの場所を一文字消す :wq ファイルを保存して閉じる :q ファイルを閉じる(それまでの編集は破棄される) :q! 強制的に終了する
Note
上記は接続端末としてTeratermを利用しましたが、OCIに付属するCloud Shellを使用して設定ファイルの編集をすることも可能です。 Cloud ShellはOracle CloudコンソールからアクセスできるWebブラウザ・ベースのターミナルです。こちらを利用すると、ブラウザだけで仮想マシンにアクセスできますので、是非お試しください。
手順は、本ハンズオンガイドの 104: ウォレットを利用してADBに接続してみよう の、2. 設定ファイルの編集 をご確認ください。
以上で、この章は終了です。
次の章にお進みください。
Note
設定ファイルの編集が完了した後に、ADBインスタンスに接続する手順は本ハンズオンガイドの 104: ウォレットを利用してADBに接続してみよう の、3. ADBに接続 をご確認ください。