tabimoba.net

とあるエンジニアの雑記帳

PHPのAWS-SDKからIAMロールを使用する方法

PHPのAWS-SDKからIAMロールを仕様する方法です。ググっても適切な情報がなかなか見つからなかったので書きました。 対応 IAMロールを利用する場合は、インスタンス作成時にprofileを渡さない。(書かない) →profileを書いているとIAMロールではなく、実行環…

Ubuntu 18.04 LTS + MariaDB 10.1な環境へRundeckをインストールする

Ubuntu 18.04LTSへRundeckをインストールする方法です。DBMSはMariaDB 10.1を使用します。 なお、MariaDBはRundeck専用で、他の用途には共有しないものとします。 OpenJDK 8のインストール 以下のコマンドを実行し、OpenJDK 8をインストールします。 # apt u…

SeleniumBasicでChromeの実行バイナリを指定する

2019/6/6頃にChrome 75がリリースされましたが、これによりSeleniumが正常に動作しない(Chrome 75版のChromeDriverに変更しても正常に動作しない)問題が発生したため、一時的にSRWare Ironに切り替えることにしました。 以下のコードは、SeleniumBasicでCh…

AWS RDS for Oracleでメンテナンスウインドウの開始時刻を変更する

※ここでの「メンテナンスウインドウ」とは、RDSの機能としてのメンテナンスウインドウではなく、Oracle Databaseとしてのメンテナンスウインドウを指しています。 RDS for OracleのスケジューラーはEST5EDT(米国東部標準時)であるため、設定された時刻の13…

Windows 10上のVirtualBoxのNATが正常に動作しなくなった(不具合が発生した)際の解決方法

Windows 10の一部の端末でVirtualBoxのネットワークが正常に動作しなくなる現象が発生したため、その解決方法をメモとして記載します。 現象 Windows 10環境上のVirtualBox上で動作するゲスト(VM)のネットワークアダプターがNATの場合に、インターネットや…

Windows Server 2012 R2 EssentialsへSystem Center Endpoint Protectionをインストールする方法

はじめに Windows Server 2012 R2 Essentials環境へSystem Center Endpoint Protection (SCEP) をインストールしようとすると(scepinstall.exeを実行すると)、以下のようなメッセージが表示され、インストールすることができません。 対応方法 scepinstall…

PHPからaws-sdkで実行したLambda関数の戻り値を取得するには

はじめに AWS SDK for PHPを利用してLambda関数を実行(invoke)した際の戻り値をどのように取得すればよいのかという情報を探してみたのですが、なかなか情報が見つかりませんでした。 ※API Gatewayを利用してLambda関数を実行して戻り値を取得するという方法…

aws-cliやaws-sdkが動かない時は時刻が正しいか確認する(原因と対応)

VirtualBox等の仮想化環境でawsコマンド(aws-cli)やaws-apiライブラリを使用したシステムよりAWSの各種APIへアクセスすると、次のようにエラーが表示される場合があります。 An error occurred (RequestTimeTooSkewed) when calling the ListBuckets operati…

Nginx起動時に重複している設定がないのに「"xxx" directive is duplicate」と言われるときに確認すること

現象 Nginx起動時に重複している設定がないのに次のように怒られてNginxが立ち上がらない場合があります。 -- Unit nginx.service has begun starting up. Mar 25 00:26:37 hoge nginx[1742]: nginx: [emerg] "proxy_buffer_size" directive is duplicate in…

AWS Lambda Layers上でHeadless Chromeを動かすいくつかの方法

メモとして。 chrome-aws-lambda https://www.npmjs.com/package/chrome-aws-lambda Lambda layersでの対応手順の記載もあり、Lambda layersを使うのであればこちらがおすすめ。 同梱されているChromiumのバージョンも新しめ。 serverless-chrome https://gi…

ローカルからリモートホストのJMXへSSHポートフォワーディング経由で接続する

Tomcatへの設定追加 catalina.shに対して以下の設定を追加します。 ※改行せず、1行でつなげます。 CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=8180 -Dcom.sun.management.jmxremote.rmi.port=…

LISTAGG関数の戻り値がUNICODE文字列となる問題とその対応

OracleのLISTAGG関数の戻り値が、以下のように半角スペースが含まれるように見える文字列、あるいはUNICODE文字列(エンコーディングされた文字列)となる場合があります。 SELECT LISTAGG(HOGEFIELD, ',') WITHIN GROUP (ORDER BY HOGEFIELD) FROM HOGETBL …

Debian, Ubuntuへapt(-get)でAdoptOpenJDKをインストールする方法

はじめに Oracle JDK 8のサポート終了や、Oracle JDKの有償化に伴い、AdoptOpenJDKが注目を浴びています。例えば、豪Atlassian社のJiraやConfluence等は、AdoptOpenJDKをサポートしています。 AdoptOpenJDKのインストールは、AdoptOpenJDKのサイトからtar+gz…

Dockerの上にLXDコンテナを作成する(ことはできない)

Docker in Dockerというものがあるので、LXD in Dockerをやりたくなった。 結局できなかったけれど、その記録として。 Dockerコンテナを作成する # docker pull ubuntu:16.04 # docker run -ti -d --privileged --name ubuntu ubuntu:16.04 # docker exec -t…

OracleでISO 8601形式の日付を出力する

timestamp型の日時をUTCへ変換したうえでISO 8601形式で出力します。 前提条件 ISO 8601形式で表示させる日付列の型はtimestamp型であること 日付列の各行の値は、DBMS(Oracle)のタイムゾーンに準じたものであること(例えば、DBMSのタイムゾーンがJSTである…

Oracle上にあるテーブルをISO 8601形式の日付で範囲指定して絞込検索を行う方法

日付を利用した絞込において、ISO 8601型式の日付を検索に利用すると、タイムゾーンにかかわらず等しい検索結果を得ることができます。 条件 テーブル上の日付はtimestamp型でセットされている(=DBのタイムゾーンに応じた日付がセットされている)こと 検索…

Ubuntu18.04のLXDコンテナ上でDockerが起動しない問題の対応

以下の記事の続きです。 LXDコンテナでDockerが起動しない(起動に失敗する)問題への対応方法 https://qiita.com/tabimoba/items/4f7af774145c0dbd70d9 前回は特定のserviceファイルを変更するという方法で書きましたが、この方法でも解決しない場合があり…

Oracleのアーカイブログを全て削除する方法

開発環境のようなアーカイブログが不要な環境や、逆にアーカイブログが肥大化してディスクを圧迫した場合は、以下のコマンドを実行することで、アーカイブログを全て削除することができます。 $ rman RMAN> connect target RMAN> delete archivelog all;

Oracle環境を新環境へまるまる移行する方法

以下の方法は、Oracleを停止させる必要はありますが(ダウンタイムは発生しますが)、手軽にOracleの環境を移行することができます。 なお、この方法はOracle環境一式をバックアップする方法としても有効です。 1.【現環境】Oracleを止める # su - oracle $ …

Oracle Textインデックス作成時にDRG-11135エラーとなる際の確認事項

Oracle Textインデックス作成時に「DRG-11135: 機能は通常、使用できません」(DRG-11135: Feature Not Generally Available)とメッセージが表示され、インデックス作成に失敗する場合があります。 SQL> CREATE INDEX IDX_HOGE ON HOGETBL (HOGE) INDEXTYPE I…

Oracle12c:CentOS7のGNOMEへxrdpで接続すると、インストーラーやDatabase Configuration Assistantの文字が白ける問題への対応

はじめに CentOS7のGNOMEへxrdp接続すると、以下のようにDatabase Configuration Assistantのウインドウ内の文字列が白けてしまい、可読困難となる場合があります。また、インストーラーでも同様の問題が発生する場合があります。 原因 リモートデスクトップ…

Vagrantで作成したCentOS7環境へVirtualBox Guest Additionsをインストールする

はじめに CentOSが公式に提供しているCentOS7のVagrantイメージ(Vagrant box)は、デフォルトでVirtualBox Guest Additionsが含まれていません。 VirtualBox Guest Additionsが無くてもCentOS7を利用することはできますが、VirtualBoxの共有フォルダが利用で…

Ubuntu 18.04 LTSでLXDの初期設定~コンテナ作成~実行まで

Ubuntu 18.04 LTSにおけるLXDの初期設定~コンテナ作成~実行までの手順です。 /etc/sysctl.confへの設定追加 sysctl.confを開き、次の通りカーネルパラメータを追加して保存します。 user.max_user_namespaces = 3883 fs.inotify.max_queued_events = 10485…

CentOS7でxrdpがインストールできない場合の対応方法

CentOS7にxrdpへインストールする際、パッケージの依存性の問題により、xrdpをインストールすることができない(正しくはxorgxrdpのインストールができない)場合があります。 # yum install xrdp tigervnc-server Loaded plugins: fastestmirror, langpacks…

LXDコンテナでDockerが起動しない(起動に失敗する)問題への対応方法

2019/2/7:こちらに最新の対応方法を記述しました。 https://qiita.com/tabimoba/items/e14ad812a148afc10b13 はじめに Dockerの仕様変更により、LXDコンテナ上にDocker 18.09にインストールしてDockerを起動しようとすると、Dockerサービスが立ち上がらない…

CentOS 7でLXDを動かしてみる

はじめに LXDはLinuxのシステムコンテナの1つです。LXDはCanonicalが主導しているコンテナ技術であるため、Ubuntuでは、標準で利用することができます。(Ubuntu 16.04 LTSおよびそれ以降のサーバ向けディストリビューションでは、標準でインストールされて…

PostgreSQLでビューをもとにテーブルを作成する

ビューを定義する CREATE VIEW public.v_tasks AS SELECT * from <テーブル名> ~ ビューをもとにテーブルを作成する PostgreSQLの create table asは、テーブルだけでなく、ビューを指定することも可能です。 create table <作成したいテーブル名> as selec…

パブリックなLXDイメージリポジトリの構築と、構築したパブリックLXDイメージリポジトリからのイメージ取得

LXDイメージリポジトリの構築 LXDイメージリポジトリとするサーバ(LXDイメージリポジトリサーバ)で設定を行います。 # lxd init Would you like to use LXD clustering? (yes/no) [default=no]: no Do you want to configure a new storage pool? (yes/no)…

REST APIによるLXDコンテナイメージリストの取得方法

https://<LXDが稼働するサーバ>:8443/1.0/images を実行すると、イメージのハッシュ値が、https://<LXDが稼働するサーバ>:8443を除いた形式のURLで、JSON形式で返ってくる。 上記をもとに、以下のURLへアクセスすると、イメージの詳細(lxc image infoで出力されるよりやや情報量の少ない内容)がJSON形</lxdが稼働するサーバ></lxdが稼働するサーバ>…

Ubuntu 18.04LTSでAWS EC2のNATインスタンスを構築する

2020/4/24更新:以下にUbuntu 20.04LTSの場合の手順を記載しました。 www.tabimoba.net 前提条件(事前準備) Ubuntu 18.04LTS がインストールされたEC2インスタンスを用意します。 インスタンスタイプは最初はt2.nanoやt2.micro(あるいはt3,t3a系の同等タイ…