tech.guitarrapc.cóm

Technical updates

Windows AzureのOpenLogic CentOS 6.3 で GNOME (X Window)を使うまでセットアップをしてみる part1

クラウド楽しいですね。 費用対効果とか言う時に、良くオンプレミスなどと比較されますが貴方にとってのメリットは何でしょうか? 私にとっては、スケールアウト、スケールアップ、スナップショット、冗長化 など、どれも「物理」で関わると難しいことが正にクラウドの最大の利点だと思っています。 勿論、物理上に構築なので、オーバーヘッドがー、という意見は分かりますが、それにもまして大事な事と感じるのですみ分ければいいのではないでしょうか。 さて、普段はAWSを使っていますが、尊敬すべき先生から AzureでX Window使いたいから構築手順よろしくって言われたのでちょっと触ってみました。 手順はテキトーさがにじんでますが、ご勘弁下さいませ。 長いので、何回かに分けてご提供します。
  1. Open Logic CentOS 6.3のインスタンス作成と接続
  2. yum更新とRemi Repositoruの導入
  3. ssh 公開鍵暗号での接続に切り替え
  4. zshのインストール
  5. gccなどDevelopment Toolsをインストール
  6. GNOMEの導入
  7. VNCの導入
ところどころでAmazon AWS (EC2) との印象の違いも入れています。 なお、「PowerShell」は使っておりません。おかげでストレスがヤバいです。

Open Logic CentOS 6.3のインスタンス作成と接続

まずは、インスタンス (要はOS環境) を作成します。 基本的には、クラウド上なのでセキュアな接続 を確保するため、SSHで接続することになります。 ここはAWSと同程度に簡単です。安心しましょう。

Azureを無料でたのしもう

AWS同様にAzureも一定の制限付きですが、無料で楽しめます。
Windows Azure の 3 か月間無料評価版
条件は以下の通りだそうです。(May/6/2013時点)
コンピューティング / 毎月 750 時間分の S コンピューティング SQL Server / 750 時間分の Web/Standard/Enterprise Edition Web サイト / 10 個の Web サイト モバイル サービス / 10 個のモバイル サービス リレーショナル データベース / 1 つの SQL データベース SQL レポート / 毎月 100 時間分の S コンピューティング ストレージ / 70 GB (5,000 万回のストレージ トランザクション付き) バックアップ / 20 GB データ転送 / 受信無制限、送信 25 GB メディア サービスのエンコード / 50 GB (入出力の合計) CDN / 送信 20 GB (50 万回のトランザクション付き) キャッシュ / 128 MB Service Bus / 1,500 リレー時間および 500,000 メッセージ
今回は、コンピューティングです。 AWSで言うところのEC2インスタンスだと思ってください。

まずはアカウント登録から

AWSもそうでしたが、Azureも「クレジット情報付きのアカウント登録」が必須です。 これは、クラウド費用がCPU使用時間ベースなため当然と言えば当然ですね。 「無料で試す」から進むと、アカウントでのログインを求められるので、MSアカウントでログインしましょう。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211408&authkey=AH_U7PQ8jQ2YOBQ" width="319" height="219"] 初めてのAzure利用の場合、サブスクリプションを作ることになります。 (要は支払い情報の紐づいたAzure Account) [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211410&authkey=AIqNui3HcNfT_-Y" width="319" height="271"] ポータルに進むとアカウントの作成画面に移動するので、進めます。(クレジットカード情報が必要です) [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211409&authkey=AG-KFLthXG7cGXc" width="319" height="229"] 名前などを入れて進んで、クレジットカード情報を入れます。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211411&authkey=ADP6alCRmNY___E" width="320" height="311"] サブスクリプションが作成されます。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211412&authkey=ALuiI0hIvHAoYrw" width="319" height="208"] Azure Portalが開けばアカウント作成は完了です! [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211413&authkey=ACrlkLy4PY2fJaw" width="320" height="273"]

OpenLogic CentOS 6.3インスタンスの簡易作成

続いて、Azure のインスタンスを作成します。 ここでは簡易作成例を紹介しますが、正直ギャラリーから作れば、初めから公開鍵暗号できるのでいいかもです。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211414&authkey=AMOip-vw7bhi7os" width="319" height="258"] とはいえ、AWSとは違い秘密鍵などは自分で事前に準備が必要なので、初めて Linux に触られる方には、今回の一連で紹介する 自分で公開鍵を作成して切り替えることを覚えるのもいいかもしれません。 馴れてる人には面倒なだけですが。

CentOS 6.3での作成例

こんな感じでサクッと作成しました。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211415&authkey=AE1Lno00nr-nBNI" width="319" height="258"]
DNS名 : 公開されるURLにもなるので、他の方と重複できません。この場合なら、cherishacquire.cloudapp.netですね。
  • イメージ : OpenLogic CentOS 6.3というAzureカスタマイズされたものです。AWS同様に、minimum install + Azure管理系が入っていますね。
  • サイズ : スケールアップの要素です。今回は最小のXSで作成しています。
  • ユーザー名 : ログインユーザー名です。デフォルトはazureuserですね。
  • パスワード : ログインで利用するパスワードです。 ssh にした後も、su やsudo 、 X Windowでのログインで聞かれますのでご注意下さい。
  • 場所 : インスタンスの作成場所です。 AWS同様、近い方が例天使が低いため有利です。 AWSの場合は、東京は新機能導入が遅かったりしますがAzureはどうでしょうか。
インスタンスの決定をしたら、生成されるまで5~10分待ちます。 これはAwsとも同程度の時間ですね。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211417&authkey=AOlXD_KDDysbdKg" width="320" height="260"]

ギャラリーから作成の場合

AWS同様に、イメージのOS、ユーザー名、DNS名、共通鍵認証の鍵アップロードなどが聞かれます。 AWSは、共通鍵onlyなので、パスワード認証できるのは新鮮ですね。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211416&authkey=AOjShrV7qWr57bo" width="319" height="231"]

エンドポイントで外部との接続を制御する

インスタンスは、外部とエンドポイントを介して接続します。 つまり、エンドポイント ≒ Port制御 (Firewallとはちょっと違う) と考えると分かり易いかもしれません。 負荷分散も含まれるので、LBもという印象ですが。 エンドポイントは、AWSで言うところのSecurity Groupが近いです。 (機能的には + ELB かな) AWSではVPCでないとoutbandの制御が出来ないので、Publicスペースのインスタンスでもoutband制御できるのはいいですね。 ただし、インスタンスごとの「グループ」の割り当てではないので面倒な予感? エンドポイントを設定するには、インスタンス一覧でインスタンス名称を選択してクイックスタート画面に行きます。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211419&authkey=ACYbgtw7pYKPO1c" width="231" height="204"] 次に、クイックスタート画面で、画面上部のエンドポイントを選択します。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211418&authkey=AK3VWZ9TGIyp7Do" width="319" height="238"] これでエンドポイントの設定が可能です。 初期は、SSHのパブリックポートが22でないので注意です。 面倒な人は、図のようにTCP 22に変更してもいいですが、セキュリティ観念からは飼えた方がいいです。 (TCP22のままでは、port scanでssh であるとばらしているようなものなので) [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211420&authkey=AOZMUfnp9D9TEiw" width="320" height="71"] エンドポイントの追加、編集、削除は、画面下部のトーストチックなメニューからどうぞ。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211421&authkey=APNw5xTwtJW4X3E" width="315" height="48"]

SSH接続する

ここまでくれば、後はSSH接続するだけです。 Windowsの場合: TeratermでもPuTTYでもお好きな方法でどうぞ。 公開鍵認証なら、私が自分用に作成したPowerShellでTeraTermを呼び出すモジュールも使えます。 近々アップデートするので、多少使いやすくなるかと。
https://github.com/guitarrapc/PowerShellUtil/tree/master/TeraTermConnection
Teratemの場合は、こうですね。 ホストアドレスと、ポートを入れます。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211422&authkey=AOM8pieo2bO6FOY" width="319" height="211"] パスワード認証の場合は、ユーザー名とパスワードを入れてください。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211423&authkey=ALJUtULiPdsD_4A" width="320" height="310"] 接続できましたね。 [office src="https://skydrive.live.com/embed?cid=D0D99BE0D6F89C8B&resid=D0D99BE0D6F89C8B%211424&authkey=ALFRerD4hkZXVvU" width="319" height="211"] Linuxの場合: 超お手軽簡単です。
ssh azureuser@Azureのhost名-o ServerAliveInterval=180
公開鍵認証の場合は、鍵を登録したbash空間からどうぞ。
ssh-agend bashrc
ssh-add
ssh-add ~./.ssh/秘密鍵
ssh azureuser@Azureのhost名-o ServerAliveInterval=180

まとめ

AWSと同程度の気楽さでした。 しかし簡易作成で共通鍵認証を選べないのは失策だと思うのですが…。 次回は、yum updateとrepositoryの導入です。