2013年2月13日水曜日

XenServer 6.1の「activate free xenserver」ボタンがグレーアウトされてアクティベートできないぃ!!(涙目

こんにちわ。

つい先日自宅のXenServerを5.6から6.1に変更しました。
ライセンスは後でいいや。と思っていたら、あと16日となったので手続き開始。

XenCenterで該当サーバに接続して手続きをしようとしても
「activate free xenserver」がグレーアウトのままで押せない^^;

これはピンチです。貴重な日曜日を割いてサーバを移設したのに・・・再インストールとかだったら全米が泣くレベル。

よく考えたらXenCenterのバージョンをあげてなかったな・・・
と思ってXenServerにブラウザで接続。インストーラをゲットしてインストールを実施。

再度接続したらあっけなくアクティベートするサーバを選択することができました。

XenCenterもXenServerと同じバージョンを使いましょうねって事ですかね。


2013年2月5日火曜日

はじめてのAWSでわかったこと、わからないこと -3-

第三回目です。そろそろ終わりかな。

2NIC構成のマシンをAutoScalingでデプロイすると1NICになる

どうやってもわからなかったので、今なお1NICでデプロイしています。
AutoScalingで2NICのWebサーバをデプロイしたい。上はELBからのバランスを受けて後ろではNFSサーバと接続したい。
こういう構成でAutoScalingを使いたかったので。

でも、AutoScalingするときに2NICにできない。設定が無いような気がする。
実際に2NIC構成をデプロイする方法、ご存知であればご教示いただけませんか。


ELB作成時に2Zoneの構成とし、片側にだけインスタンスをぶら下げると不定期にWebの表示が行えなくなった

ELBを作成してぶら下げるインスタンスを選定します。セオリーに従い2つのZone上のインスタンスをぶら下げる予定でした。ですから2つのAvailabilityZoneを設定しましたが、この時点ではぶら下げるインスタンスは1個しかありませんでした。
それでも設定は可能なので2つのAvailabilityZoneを設定したのに1つのAvailabilityZone、1台の構成で検証を続けました。
すると、不定期に無応答となり、気がつくとまた応答が帰ってくるような状況になりました。
ApacheのログをみるとAccessに来ていないようです。
この状態でELBのPublicDNS名をLookupしてみると2つのIPが帰って来ました。もしかすると、インスタンスが無い方のAvailabilityZoneに行こうとしているのかなと思いELBの設定からインスタンスが無いZoneを削除しました。
これで再度Lookupすると帰ってくるIPアドレスは1つとなりました。
その後は正常にアクセスできるようになりました。

ヘルスチェックしてるから、インスタンスが無い方には行かないと思っていましたが、最初から2つのAvailabilityZoneを指定してインスタンスを置かない状況だと行っちゃうこともあるのかな?
それらしき原因は見当たるけど、これが意図した動きなのかどうかは不明。
だから、最初から2Zoneを構成してインスタンスを置かないというような事は止めておきます。
必要ならAvailabilityZoneを増やしてインスタンスを追加します。

インスタンスはAvailabilityZoneをまたいで2NICの構成はとれない

VPC内にNFSサーバをおいた場合、AvailabilityZoneをまたぐと2-3ms程度の遅延が発生するので、同一AvailabilityZoneでNFSを組みたかったのですが、どうするかな・・・と考え。
そうだ!NFSを2NICにして、それぞれのAvailabilityZoneに出せばいいじゃん!オレカッコイイ!とか安易に考えたのですが・・・
結果はインスタンスがあるAvailabilityZoneと同じところにしか2つ目のNICを作る事ができませんでした。
当たり前といわれば当たり前かもしれませんが、当たり前じゃ無いことができちゃうAWSなので。

サブネット内にDHCPによる動的割り当てと明示的な固定割り当てが共存して良いのか

最初のシンプルな構成はPrivateIPを固定して構成しました。その後AutoScalingで自動的に仮想マシンをデプロイする場合はDHCPでの割り当てとなると思います。
このような場合、同じサブネット内に静的に定義されたIPとDHCPによる自動割り当てが混在する事になります。果たしてIPアドレスのバッティングが発生しないのかが疑問でした。
DHCPの動作を考えればバッティングしてもそのまま重複したままということは無いんじゃないの?というのが大方の意見でしたが、AWSとしてこれはどういう動きをするのか、とても知りたいです。
こちらも動作の仕様をご存知の方がいらっしゃれば是非ご教示ください。


他にも色々あったのですが、いい勉強になりました。
AvailabilityZoneとネットワークまわりの理解は進んだ気がします。
インスタンスタイプやその他のサービスについて、もう少し理解したいです。

2013年2月3日日曜日

AccessGateway 個人的な関連ナレッジ

個人的に構築する際にはまった内容のまとめ。

◆ログイン後に401エラーが発生する。

AGで認証後に401エラーとなる場合は、SSL証明書関係の不備の可能性が高い。
WebInterfaceサーバにもAGの証明書を認証している中間認証局の証明書が必要。
オレオレ証明とか使ってる場合は必須となる作業だと思う。

CTX126312:Citrix Access Gateway Enterprise Editionのログオンページで認証に成功した後に、「401 - 権限がありません:資格情報が無効であるため、アクセスが拒否されました」というエラーメッセージがWebブラウザに表示される
http://support.citrix.com/article/CTX126312

証明書をインポートするが、ユーザとしてでなく、コンピュータとしてインポートする。



◆AccessGateway用のサイトをWebInterfaceに作る際の注意

簡単に作れるが、HTTPSとHTTPの違いや単純なパスやファイル名の入力ミスに注意する。
また、ICAプロキシとして稼働させる場合は、ag用サイトの「セキュアなアクセス」の設定は
・ゲートウェイ直接を指定
・アドレス(FQDN)にはAccessGatewayのドメイン名
・ポートは443
セッション画面の保持を有効にする のチェックがデフォルトなのでチェックを外す
以上で設定する。


◆Online PluginのダウンロードをWebInterfaceからに変更

C:\Program Files (x86)\Citrix\Web Interface\5.4.0\Clients\Windows\Online Plug-in に
CitrixOnlinePluginWeb.exeを配置する。

C:\inetpub\wwwroot\<サイト名>\conf の WebInterface.conf を編集し

# ClientIcaWin32=Filename:CitrixOnlinePluginWeb.exe の先頭のコメントを削除

これでクライアント側に何もない場合はCitrixサイトではなくWebInterfaceからダウンロードできるようになる。

2013年2月1日金曜日

はじめてのAWSでわかったこと、わからないこと -2-

引き続き、実際の構築で色々あった内容の総括です。

EC2環境のインスタンスにEIPを設定していても、インスタンス停止→開始のタイミングで勝手に外れる

基本的なオペレーションはManagementConsoleから実施しています。

停止→起動のタイミングでいつまでたってもEIPが割り当てられず ん?? となっていました。

Google先生に聞いたところ、解決方法まで示していただけている先人がおられたので参考というか丸パクリで解決です。

EC2 インスタンス起動時に自動で EIP をセットする (AWS Advent Calendar 2012 20日目)
http://dogmap.jp/2012/12/20/aws-advent-calendar-2012-day-20/

やってる事としては、インスタンスが起動してきたタイミングで自動的に実行されるCronを仕込んでおくというものです。インスタンス内には「EC2 API Tools」等のインストールが必要です。
今回は、AmazonLinuxでインスタンスを作成していたため、最初から入っていました\(^o^)/

Cronの先頭を @reboot とすると、起動時だけに実行されるCronになるんですね。知らなかったです。
他にもあるみたいですね!

@yearly → 0 0 1 1 * と同意
@monthly → 0 0 1 * * と同意
@weekly → 0 0 * * 0 と同意
@daily → 0 0 * * * と同意
@hourly → 0 * * * * と同意

と、寄り道しましたけど、これで誰がオペレーションしても確実にEIPが割り当てられるようになりました。

EC2やRDSのパッチってどうなってるの?

これも不明でした。特にAmazonLinuxを使うという事が確定していまいたがパッチの提供方法や適用について誰も知らなかったので調べてみると、これも自動的に適用されるという事が分かりました。

自動的に適用されるためのスケジュールがManagementConsoleに示され、それまでの範囲内で管理者の希望する日時に再設定も可能なようです。

Amazon Elastic Compute Cloud Maintenance Help Page
http://aws.amazon.com/jp/maintenance-help/

2013/02/01修正
↑これは、ハイパバイザレベルのパッチに関する記述でした。

正しくは、Amazon側が用意したリポジトリにパッチが挙げられるので、その後利用者側にてアップデートが必要なようです。
検索を行なってみると、インスタンスコンソールにログインした際にアップデートがある旨のメッセージがでるとの記事がありました。


RDSについては、DB作成時に自動的なマイナーアップデートを行うか否かのチェックボックスがあるのでこちらで設定を行います。
適用時期についてはEC2と同じくManagementConsoleで確認することができます。

Amazon RDS よくある質問
http://aws.amazon.com/jp/rds/faqs/#75

作成した2NIC構成のインスタンスをAMI化。手動でデプロイしてみたけど、2個目のNICが正しく認識されない。

2NICとしてWebサーバをAMI化し、それを手動でデプロイしてみましたが、2個目のNICがいつまでたっても通信できません。

ip addrで確認すると、Eth0,Eth2として認識されているようです。ifcfg-eth2をみてみると、実際に接続されているENIとは異なるMACが記載されています。
結果的には

/etc/udev/rules.d/70-persistent-net.rules
を削除し、再起動することで認識されました。
AMI化する前のベースインスタンスで、/etc/udev/rules.d/70-persistent-net.rulesを削除した後に停止。この状態をAMI化することで手動デプロイを行なっても問題なく利用できるようになりました。
運用時のオペレーションに制約が増えてしまいますが、これはやむを得ないのでしょうか。
良い案がありましたら是非、ご教示ください。

メンテナンス用のOpenVPNサーバに接続しても、VPC側にパケットが流れない。

これは、少しハマったというか今回の件以前からうまくいかなかった事です。
今回の構築で解決できて、個人的にもすっきりしました。
AmazonLinuxにOpenVPNサーバを構築し、TAP構成としてクライアントから接続を行います。
OpenVPNサーバとクライアント間はあっさりと接続できていますが、VPC側にパケットが流れません。VPC側のルーティングは途中で気づいたのですが、あと2つ設定が必要でした。

一つは、OpenVPNサーバのIPパケット転送を有効にする事でした。
/etc/sysctl.conf を編集して
net.ipv4.ip_forward = 1
とする必要がありました。

2点めは、AWSのManagementConsoleで行いました。
OpenVPNサーバのインスタンスを右クリックし「Change Source / Dest Check」をDisableとする必要がありました。

どれも、検索すえば出てくるようなものですけど、メモ。という事で。

次回に続く(かな)