Month: March 2011

Elastic IPを自動で割り振りたい

  AWSはインスタンスを起動する度にPublic IPが変わってしまい、非常にウザいので、Elastic IPを使って固定IPを割り振ることにした。Elastic IPはインスタンスのInstance IDと紐付くことになるため、Amazon EBSと同じく、インスタンスを起動するタイミング、shutdownするタイミングで紐付きを解除することにした。 参考:[TechDay] 第7回 Amazon Elastic Compute Cloud (Amazon EC2) : Elastic IP http://builder.japan.zdnet.com/member/u502383/blog/2008/11/08/entry_27017766/ 1、固定IP取得 AWS Management Consoleとかで固定IPをallocateする。 2、スクリプト準備 /rootに.ec2envを作成。自分とこの環境に合わせて適宜修正。 (2014/10/12追記) EC2_PRIVATE_KEY、EC2_CERT環境変数を使ったAWS CLIツールアクセスはできなくなるので、IAM Roleを活用しましょう。 参考:Private key authentication has been deprecated from the CLI. export JAVA_HOME=/usr/local/jre1.6.0_13 export EC2_HOME=/usr/local/ec2-api-tools-1.3-34128/ export PATH=$PATH:$EC2_HOME/bin:$JAVA_HOME/bin export EC2_PRIVATE_KEY=/root/pk-.pem export EC2_CERT=/root/cert-.pem /etc/init.dにaws_elastic_ipを作成。 #! /bin/sh # ELASTIC_IP_ADDRESS=自分とこのelastic IP ..

Amazon EBSのボリュームを自動でattachしてマウントしたい

  EC2でインスタンスを起動すると、Instance IDが割り振られる。Amazon EBS(Elastic Block Store)のボリュームをインスタンスにattachすると、このInstance IDとボリュームが紐付くことになる。fstabにマウント情報を書いておけば、インスタンスを再起動してもこの紐付きは維持され、再起動後も普通にマウントされる。 だが、Instance IDはインスタンスをshutdownすると変わってしまい、都度ボリュームをattachし直さないといけない。これはウザい。耐えられない。 おなじことを考えている(?)人がいた。 Possible to Auto-Attach/Mount EBS at Boot? http://developer.amazonwebservices.com/connect/thread.jspa?messageID=103331&#103331 そして、EBSのボリュームを自動でattach/detachして、マウントするためのスクリプトをPythonで書いた勇者がいた。 Scripts to automatically attach and mount an EBS Volume at Boot Time http://developer.amazonwebservices.com/connect/thread.jspa?messageID=99100 早速試してみたときのメモ。 ■インスタンスを起動して、EBSをattach AWS Management ConsoleとかでEBSのボリュームを作成しておく。今回、デバイス名はsdfとした。 今回は、Oracleが提供しているAMIを使って、インスタンスを起動した。AMI IDはami-cecb2fa7のやつを使った。 以下を参考に、EBSをattach。 Amazon EBSを活用してデータをバックアップしてみよう ~Amazon EC2/S3環境構築のすべて~ http://codezine.jp/article/detail/3546 EBSボリュームが認識されているか確認。 $ cd /dev $ ls sd* sda1 sda2 sda3 sdf.

Amazon Web Services(AWS)でOracle環境構築

  (旧ブログから移行) さて、Linuxの環境もできたし、Oracleインストールするべ~。GUIがいるから、まずはXのインストールだ! yum groupinstall “X Window System” “GNOME Desktop Environment” ・・・え? Oracle and AWS http://www.amazon.com/gp/browse.html?node=728072011 Cloud Computing Center http://www.oracle.com/technology/tech/cloud/index.html? Amazon Machine Images(AMIs) -Oracle Database 11g Release 1 Enterprise Edition -32 Bit http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1718&categoryID=205 Oracle、クラウドコンピューティングに参戦、Amazon Web Servicesへのサポート開始 http://codezine.jp/article/detail/3063 [ITproカンファレンス:Amazonクラウド]「AWSで1時間以内にOracle環境をクラウド上に構築できる」と日本オラクル http://itpro.nikkeibp.co.jp/article/NEWS/20090410/328218/ なん・・・だと・・・? AWS Management Consoleで検索すると、AMIあった。 AMIをLaunch。CentOSより若干Pending時間が長い。でも5分ぐらい。 ログインしてみる 1、rootでログインすると、License Agreementsが表示される。acceptすると、oracleユーザのパスワードを設定させられる。 2、Would you like to create a database now.

Amazon Web Services(AWS)で環境構築

  (旧ブログから移行) AWSへのユーザ登録から、インスタンスの起動(EC2)、OSイメージの保存(S3)、ストレージのマウント(EBS)まで試してみた。Web上にAWSを解説したサイトは数多くあるが、なんだかよくわからない点が色々あり、実際に環境を作ってみて少しだけ理解できた気がした。 なんでS3とEBSって分かれてるの?両方ストレージじゃないの? 実際に使ってみて、S3はマウントできないNASで、EBSはSANみたいなものと理解した。 EC2は、インスタンスを停止するとデータが全て消えてしまうため、システムバックアップ(と言っていいのか?)をどこかに保存しておく必要がある。EC2のサーバ側でec2-bundle-volコマンドを実行し、システムバックアップを取得し、それをネットワーク経由(HTTP?)でS3に保存する。S3に保存したシステムバックアップを元に、クライアント側でec2-registerコマンドを実行し、AMI(Amazon Machine Images)を登録することができる。AMIを元にEC2のインスタンスを起動すれば、システムバックアップを取得した時点から、システムの利用を再開できる。逆に言うと、システムバックアップを取得する前にインスタンスが落ちると、データは消えることになる。 一方、EBSに保存したデータは、EC2のインスタンスが落ちても消えない。S3はEC2のインスタンスからマウントできないが、EBSはできる。DBサーバのデータなんかはEBSにマウントした領域に保存しておき、不測の障害でインスタンスが死んだ場合も、データを残すことができる。 環境構築の時になんか色々ツールとかでてきてめんどくさいんですけど 環境構築に必要そうなツールやサイトとして、 ・Amazon EC2 API Tools(コマンドラインツール) ・S3 FireFox Organizer(FireFoxのプラグイン) ・AWS Management Console(AWS管理用のWebサイト) が存在し、機能が重複しているため、色々と混乱した。結論として、現状ではコマンドラインの操作をベースに手順を解説しているサイトが多いので、Amazon EC2 API Toolsベースで作業するのが良いだろう。AWS Management ConsoleはブラウザでAWSの管理を行えるかなりイケてるサイトなのだが、現状ではS3を操作することができず、またWeb上の解説もコマンドベースが多いので、若干混乱することになる。あと、S3上にbucket(フォルダみたいなもん)を作るためにFireFox起動するのがかなりウザかった。早く全部AWS Management Consoleでできるようになってほしい。 とはいえ、AWSおもしろい。

”XXXX”はこのiPodで再生できないため、iPod”iPod”にコピーされませんでした。

  久しぶりにYouTubeの動画をiPodに取り込もうとして、.MP4ファイルをつくったのだが、標題のエラーが発生してiPodに取り込めなかった。 また、YouTubeのアドレスの最後に「&fmt=18」をつけて、H.264フォーマットのファイルを取得して試してみたけど、やっぱりだめだった。 若干ググッて、最終的には 1、iTunes上で取り込めない動画を選択 2、メニューの「詳細」 3、「選択項目をiPod/iPhone用に変換」で.M4Vファイルに変換 したらうまくいった。

CISSP試験の勉強に役立つ情報まとめ

  CISSPの試験勉強についての情報をググると「試験受かったー!やったー!!!」みたいな情報が結構ヒットするが、「それで?」ということが多かったので、本当に役に立ちそうな情報だけ集めてみる。 [Webサイト] Blue Pill: http://blog.sparky.jp/archives/cissp/ 老舗?試験に役立ちそうなリンク集、書籍紹介、受験体験記を含む。 基本として参照した。 Hatena::Question – CISSP保有者の方にお聞きします。 http://q.hatena.ne.jp/1208585336 試験というか、そもそもCISSPを取得する意味について再考するための情報。 回答は日本での現実・現状を的確に表していると思う。 それでもあなたは受験しますか?みたいな。 CISSP試験問題の7分類 http://blog.goo.ne.jp/tksmsmyu/e/25f69c222b0427ebe61172992d23d430 海外のサイトに掲載されたCISSP試験問題の分析をサマってある。 cccure http://www.cccure.org/ Blue Pillでも言及されている、CISSP Quizの掲載サイト。 あくまでクイズである。が、やっておいて損はない。 [wp_ad_camp_3] [書籍] これもBlue Pillとかぶるが、参考意見は多いほうがよいと思うので。 CISSP認定試験 公式ガイドブック 体系立てて書いてあることが一番良いポイント。 ばかちょんで内容を暗記するのではなく、「なぜそうなる/そうすべきなのか」を論理的に考えながら読むと吉。 きっと、試験でも実務でも役立つだろう。   情報セキュリティ技術大全―信頼できる分散システム構築のために ※絶版みたいです。 上記公式ガイドブックよりも更に踏み込んだ内容。 cccureのクイズサイトに出てくる「Biba model」「Clark-Wilson model」「Bell-LaPadula model」等の アクセスコントロールの概念についても書かれており、公式ガイドでカバーされていない領域を学習するために良い。   CISSP Certification All-in-One Exam Guide, Fourth Edition 賛否両論あるようだが・・・個人的にはもっときちんと読んでおけばよかったと思った。 そして、待望の日本語版が発刊されました! 発刊キャンペーンで、Kindleで半額(4000円、2016/4/20現在)で発売中です! 【発刊記念キャンペーン価格】ALL-IN-ONE CISSP認定試験 学習参考書 第5版 ~情報セキュリティプロフェッショナルのための総合事典~.

ORA-12152: TNS: ブレーク・メッセージの送信に失敗しました。

  アプリケーションサーバ側のログにORA-12152が出力される場合は、アプリケーションサーバとDBサーバ間のネットワークで問題が発生している可能性が高い。ルータ、L2/L3スイッチ、負荷分散装置、ファイアウォール等、経路上の各種機器でエラーやパケットロスが発生していないかどうか確認する必要がある。 [amazon_enhanced asin=”4798124974″ /] 切り分けに時間がかかる場合は、コネクションプールの接続を検証し、通信が途切れないようにする設定を採用する。ODP.NETの場合は、接続記述子にValidate Connection=trueを入れることで問題を緩和できる可能性がある。 今回この設定を入れた環境ではあまり問題にならなかったが、コネクションプールの接続検証が行なわれる分性能は多少なりとも劣化することになるため、本格適用前に性能検証はしっかりと行なうべき。 http://otn.oracle.co.jp/sample_code/dotnet/3_1.html   [amazon_enhanced asin=”4797349808″ /]

Apache2.xでOWA(Outlook Web Access)用のリバースプロキシ環境構築

  (注意)実はこの設定でリバースプロキシを構築した際、不具合があってうまくOWAを参照できなかったことがあった。一応、参考までに当時の手順を残しておく。 Apacheでリバースプロキシを構築し、バックエンドのOWA(Outlook Web Access)にリクエストを転送する手順を確認した。 これもWindowsサーバをインターネットに晒したくないための措置。 実装方法はいくつかあるようだが、動作確認がとれたのは以下の方法。 ApacheはCentOS上の2.x系、Exchangeは2003を使用。 ■Apache側の設定メモ Apacheのconfigure時、mod_ssl、mod_proxy、mod_headers等を組み込んだ。 ※mod_headersは後述のRequestHeader設定のため必須 参考までに、動作確認時のLoadModuleは以下のとおり。davやrewriteはOWA連携の観点では必要なし。 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule ssl_module modules/mod_ssl.so LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule headers_module modules/mod_headers.so conf/extra/httpd-vhosts.confは以下のように設定した。 ※httpd.confでIncludeしておくこと。 ApacheはインターネットからのSSLリクエストを受信し(基本認証を使用するため、SSL必須)、バックエンドのExchangeにはhttpでリクエストを転送。 # # Virtual Hosts # # If.

PostfixとExchangeでインターネット接続

  Exchangeを使ってインターネットメールの環境を構築する場合、Exchangeサーバ自体はインターネットに晒したくない。 Exchangeと既存のSMTP環境の連携手順はあまりネットでみつからなかったので、メモとして記載。 以下、手順を試した際の仮想要件。 ・会社のドメイン名はmiracosta.co.jp ・インターネット側の既存SMTPとして、CentOSベースのPostfixを利用 ・内部ネットワーク上にActive DirectoryとExchangeの環境構築済み ・メールアカウントとメールボックスの管理はActive DirectoryとExchangeで行なう ・Active Directoryのドメイン名はds.miracosta.co.jp ・Postfixはインターネットから受信したメールをExchangeにリレー ・Exchangeはインターネット向けメールをPostfixにリレー ■Postfix側の設定 main.cfの主な設定は以下。スパムの制御やSMTPアクセス制御は省いたので注意。 myhostname = gateway.ds.miracosta.co.jp mydomain = miracosta.co.jp ←リレーしたいメールのドメインを指定 myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost ←$mydomainは含めない mynetworks_style = subnet mynetworks = , 127.0.0.0/8 relay_domains = miracosta.co.jp ←リレーしたいメールのドメインを指定 relay_recipient_maps = hash:/etc/postfix/relay_recipients transport_maps = hash:/etc/postfix/transport ←デフォルトのmain.cfにはないので追記 /etc/postfix/transportの末尾にリレーしたいメールのドメイン名とリレー先を指定。 # TRANSPORT(5) TRANSPORT(5) # #.

ドメインコントローラの時刻同期

  PDCエミュレータの役割を持つドメインコントローラをセットアップすると、イベントログに以下のようなイベントID 12が記録される。 タイム プロバイダ NtpClient: このコンピュータは、ドメイン階層を使ってタイムソース を決定するように構成されていますが、フォレストのルートにあるドメイン用の PDC エミュレータであるため、ドメイン階層のその上にはタイム ソースとして使用する コンピュータがありません。ルート ドメインの信頼できるタイム サービスを構成するか、 または手動で PDC を構成して外部のタイム ソースと同期させることをお勧めします。 そうでない場合、このコンピュータはドメイン階層内の権限のあるタイム ソースとして 機能します。外部のタイム ソースが構成できない場合、またこのコンピュータで使用で きない場合は、NtpClient を無効にすることをお勧めします。 タイムサーバはデフォルトの「time.windows.com」を指定しているが、上記イベントが発生することから考えると、time.windows.comは「Client Mode」の要求しか受け付けないようだ。 ※もちろんタイムサーバはtime.windows.comじゃなくてもいい。むしろ、商用環境ではtime.windows.comじゃない方がいい。レスポンスがないことが多々ある・・。 設定方法はいろいろあるようだが、今回はドメインコントローラ上でレジストリの値を修正して対処した。 1、ドメインコントローラ上でregedit 2、HKEY_LOCAL_MACHINEの\SYSTEM\CurrentControlSet\Services\W32Time\ParametersのTypeの値を、NT5DSからALLSyncに修正 3、HKEY_LOCAL_MACHINEのSYSTEM\CurrentControlSet\Services\W32Time\ParametersのNtpServerの値を、time.windows.com,0x1からtime.windows.com,0x8に修正 ※末尾のフラグは0x1だと方式が「Symmetric Active/Passive Mode」、0x8だと「Client/Server Mode」となるらしい。ちなみに、0x2では時刻同期されなかった。http://network.station.ez-net.jp/report/servers/ntp/ntp-windows.asp 4、ドメインコントローラ上のプロンプトでnet stop w32time 5、ドメインコントローラ上のプロンプトでnet start w32time 6、ドメインコントローラ上のプロンプトでw32tm /resync 同期結果。 C:\>w32tm /resync 再同期のコマンドを送信: local computer… コマンドは正しく完了しました。