クラウド楽しいですね。 費用対効果とか言う時に、良くオンプレミスなどと比較されますが貴方にとってのメリットは何でしょうか?
私にとっては「スケールアウト」「スケールアップ」「スナップショット」「冗長化など」どれも物理で関わると難しいことが正にクラウドの最大の利点だと思っています。 もちろん、物理上に構築なのでオーバーヘッドがーという意見は分かりますが、それにもまして大事な事と感じるのですみ分ければいいのではないでしょうか。
さて、普段はAWSを使っていますが、尊敬すべき先生からAzureでX Window使いたいから構築手順よろしくって言われたのでちょっと触ってみました。
かずき@働きたくないでござる (@okazuki) May 3, 2013
手順はテキトーさがにじんでますが、ご勘弁下さいませ。 長いので、何回かに分けてご提供します。
- Open Logic CentOS 6.3のインスタンス作成と接続
- yum更新とRemi Repositoruの導入
- ssh公開鍵暗号での接続に切り替え
- zshのインストール
- gccなどDevelopment Toolsをインストール
- GNOMEの導入
- VNCの導入
ところどころでAmazon AWS (EC2) との印象の違いも入れています。
なお、「PowerShell」は使っておりません。おかげでストレスがヤバいです。
Open Logic CentOS 6.3のインスタンス作成と接続
まずは、インスタンス (要はOS環境) を作成します。 基本的には、クラウド上なのでセキュアな接続を確保するため、SSHで接続することになります。
ここはAWSと同程度に簡単です。安心しましょう。
Azureを無料でたのしもう
AWS同様にAzureも一定の制限付きですが、無料で楽しめます。
条件は以下の通りだそうです。(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アカウントでログインしましょう。初めてのAzure利用の場合、サブスクリプションを作ることになります。 (要は支払い情報の紐づいたAzure Account)
ポータルに進むとアカウントの作成画面に移動するので進めます。名前などを入れて進んで、クレジットカード情報を入れるとサブスクリプションが作成されます。
Azure Portalが開けばアカウント作成は完了です!
OpenLogic CentOS 6.3インスタンスの簡易作成
続いて、Azureのインスタンスを作成します。
ここでは簡易作成例を紹介しますが、正直ギャラリーから作れば、初めから公開鍵暗号できるのでいいかもです。
とはいえ、AWSとは違い秘密鍵などは自分で事前に準備が必要なので、初めてLinuxに触られる方には「自分で公開鍵を作成して切り替える」といいでしょう。
馴れてる人には面倒なだけですが。
CentOS 6.3での作成例
こんな感じでサクッと作成しました。
- 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とも同程度の時間ですね。
ギャラリーから作成の場合
AWS同様に、イメージのOS、ユーザー名、DNS名、共通鍵認証の鍵アップロードなどが聞かれます。 AWSは、共通鍵onlyなので、パスワード認証できるのは新鮮ですね。
エンドポイントで外部との接続を制御する
インスタンスは、外部とエンドポイントを介して接続します。エンドポイント ≒ Port制御 (Firewallとはちょっと違う) で考えるとわかりやすいです。 負荷分散も含まれるので、LBもという印象ですが。
エンドポイントは、AWSで言うところのSecurity Groupが近いです。 (機能的には + ELBかな) AWSではVPCでないとoutbandの制御が出来ないので、Publicスペースのインスタンスでもoutband制御できるのはいいですね。 ただし、インスタンスごとの「グループ」の割り当てではないので面倒な予感?
エンドポイントを設定するには、インスタンス一覧でインスタンス名称を選択してクイックスタート画面に行きます。 次に、クイックスタート画面で、画面上部のエンドポイントを選択します。
これでエンドポイントの設定が可能です。 初期は、SSHのパブリックポートが22でないので注意です。 面倒な人は、図のようにTCP 22に変更してもいいですが、セキュリティ観念からは飼えた方がいいです。 (TCP22のままでは、port scanでsshであるとばらしているようなものなので)
エンドポイントの追加、編集、削除は、画面下部のトーストチックなメニューからどうぞ。
SSH接続する
ここまでくれば、後はSSH接続するだけです。
Windows
Teraterm・PuTTYお好きな方法でどうぞ。公開鍵認証なら、私が自分用に作成したPowerShellでTeraTermを呼び出すモジュールも使えます。
近々アップデートするので、多少使いやすくなるかと。
Teratemの場合は、ホストアドレスとポートを入れます。パスワード認証の場合は、ユーザー名とパスワードを入れてください。
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の導入です。