RDSでOracleを作ってみる

RDSでMySQLをつくってみました。

Oracleでもやりたいことができたので作ってみます。
ponsuke-tarou.hatenablog.com

EC2インスタンスから使えるRDSを作成します。

RDS作成予定のVPC内にある以前作成したEC2インスタンスから接続します。
ponsuke-tarou.hatenablog.com
f:id:ponsuke_tarou:20200311084258j:plain

RDSでOracleを作成してみます。

  1. AWS マネジメントコンソールで[RDS]を選択して、RDSの画面を表示します。
  2. [データベースの作成]ボタンで[データベースの作成]画面を表示します。
  3. 以下を設定して[データベースの作成]ボタン
    • データベース作成方法を選択 : 標準作成
    • エンジンのオプション
      • エンジンのタイプ : Oracle
      • エディション : Oracle Standard Edition Two
      • バージョン : Oracle12.2.0.1.ru-2020-01.rur-2020-01.r1(お好みのバージョンを選択でOK)
      • ライセンス : license-included
    • テンプレート : 開発/テスト
    • 設定
      • DB インスタンス識別子 : oracle-12(お好みの名前でOK)
      • マスターユーザー名 : admin(お好みの名前でOK)
      • パスワードの自動生成 : ON
    • DB インスタンスサイズ
    • 接続
      • Virtual Private Cloud (VPC) : 接続予定のEC2と同じVPC
      • パブリックアクセス可能 : なし
    • 追加設定
      • 最初のデータベース名 : ponsukedb
      • 削除保護の有効化 : ON
    • 上記以外の設定値は規定値のまま
  4. 画面上部に表示される[認証情報の詳細を表示]ボタンでパスワードを確認してどっかに記録しておきます。
    • f:id:ponsuke_tarou:20200303224505p:plain
      パスワードを表示できるのはこのときだけです。

EC2インスタンスから接続できるようにセキュリティグループを設定します。

今回はRDSとEC2が同じVPC内にある構成なので、RDSのセキュリティグループに

  1. EC2のプライベートIP
  2. EC2のセキュリティグループID(sg-xxxx)

のどちらかをOracle用ポート(1521)に許可するように設定します。
MySQLを作成したときは、プライベートIPを設定したので
今回は、セキュリティグループIDを設定してみます。

セキュリティグループにEC2インスタンスのセキュリティグループIDを設定します。

EC2インスタンスのセキュリティグループIDを確認します。
  1. AWS マネジメントコンソールで[EC2]を選択して、EC2の画面を表示します。
  2. [インスタンス] > 対象のEC2インスタンスを選択 > 下の詳細画面を表示します。
  3. [セキュリティグループ]に表示されているリンクからセキュリティグループの画面を表示します。
  4. 一覧の[Security group ID]に表示されているセキュリティグループIDをメモします。
セキュリティグループを設定します。
  1. AWS マネジメントコンソールで[RDS]を選択して、RDSの画面を表示します。
  2. サイドメニューにある[データベース]リンクでデータベースの一覧を表示して、対象のRDSのDB 識別子リンクから詳細画面を表示します。
  3. VPC セキュリティグループのリンクからセキュリティグループの詳細画面を表示します。
    • f:id:ponsuke_tarou:20200219201158p:plain
  4. [Inbound rules]タブにある[Edit inbound rules]ボタンから編集画面を表示します。
  5. [Add rule]ボタンで行を追加して、以下を設定します。
  6. [Save rules]ボタンで保存します。

RDSへSQL*Plusで接続してみます。

EC2インスタンスにSQLPlusをインストールします。

ponsuke-tarou.hatenablog.com

(停止していたら)RDSを起動します。

  1. データベースの一覧で作成したRDSを選択します。
  2. [アクション] > [開始]で起動します(少々時間がかかります)。
  3. 一覧の[ステータス]が「利用可能」になったら起動しています。

エンドポイントを確認します。

  1. データベース一覧から作成したDB 識別子のリンクから詳細画面を開きます。
  2. [接続とセキュリティ]タブ > [エンドポイント]に表示されている「{DB識別子}.xxxxx.{リージョン}.rds.amazonaws.com」がエンドポイントで接続情報となります。

Oracleにログインできました。

$ sqlplus64 admin/password@oracle-12.hoge.us-east-2.rds.amazonaws.com:1521/pondb

SQL*Plus: Release 12.2.0.1.0 Production on 火 310 11:45:48 2020

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

最終正常ログイン時間: 火 310 2020 11:17:11 +00:00


Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
に接続されました。
SQL>
ユーザーを作成して好きに使っていきます。

ponsuke-tarou.hatenablog.com

自動停止するように自動停止時間をAutoStopタグに設定します。

MySQLのRDSを作ったときに設定したRDS自動停止用のLambdaで自動停止できるようにAutoStopタグを設定します。
ponsuke-tarou.hatenablog.com

  1. データベース一覧から作成したDB 識別子のリンクから詳細画面を開きます。
  2. [タグ]タブ > [追加]ボタンで[タグの追加] ウィンドウを表示します。
  3. [タグキー]に「AutoStop」と[値]に「自動停止したい時間」を入力して[追加]ボタンでタグを追加します。

失敗したこと

DBName must be less than 8 characters long.

f:id:ponsuke_tarou:20200303224225p:plain

ORA-12514: TNS:listener does not currently know of service requested in connect

qiita.com

f:id:ponsuke_tarou:20200229152733j:plain
北区の平和湯