10.24.2015

Launching Windows Server in Amazon Web Services

AWS で Windows サーバ (EC2) を起動する

 

インスタンスの作成

  • AWSマネジメントコンソール にサインイン
  • サービス -> EC2
  • 画面右上のメニューからリージョンを選択: 今回は節約のため「米国東部 (バージニア北部)」
  • EC2 ダッシュボード -> インスタンスの作成

 

ステップ 1: Amazon マシンイメージ (AMI)
  • クイックスタート -> Microsoft Windows Server 2012 R2 Base (64ビット) を選択
    • 日本語版を使用したい場合は、コミュニティ AMI -> 「2012-R2 Japanese Base」などで検索して見つかったものを選択
ステップ 2: インスタンスタイプの選択
  • t2.micro を選択し、「次の手順: インスタンスの詳細の設定」をクリック
ステップ 3: インスタンスの詳細の設定
  • デフォルトのまま、「次の手順: ストレージの追加」をクリック
ステップ 4: ストレージの追加
  • ルートディスクが 30GB 以上でないと作成に失敗する。
  • 「次の手順: インスタンスのタグ付け」をクリック
ステップ 5: インスタンスのタグ付け
  • キー: Name
  • 値: win2012-1 (適宜設定)
  • 「次の手順: セキュリティグループの設定」をクリック
ステップ 6: セキュリティグループの設定
  • セキュリティグループの割り当て: 新しいセキュリティグループを作成する
  • セキュリティグループ名: security-win
  • 説明: Security group for Windows servers
  • タイプ: RDP (プロトコル: TCP, ポート範囲: 3389)
  • 送信元: マイIP
  • 「確認と作成」をクリック
ステップ 7: インスタンス作成の確認
  • 「作成」をクリック
  • 既存のキーペアを選択するか、新しいキーペアを作成します。
    • 新しいキーペアの作成
    • キーペア名: aws-win (適宜設定)
    • 「キーペアのダウンロード」をクリック
    • aws-win.pem をダウンロードし保存
      $ mv -i ~/Downloads/aws-win.pem ~/.ssh/
      $ chmod 600 ~/.ssh/aws-win.pem
  • 「インスタンスの作成」をクリック
  • 作成処理に成功したら、「インスタンスの表示」をクリック

 

パスワードの入手

  • 起動してから数分後、インスタンス一覧の画面で Windows サーバを右クリックし
    「Windows パスワードの取得」を選択

  • キーペアのパス: aws-win.pem の保存先を選択
  • 「パスワードの暗号化」をクリック
  • 画面に以下の情報が表示される
    • パブリック IP
    • ユーザー名
    • パスワード

 

リモートデスクトップ接続

  • Mac から Windows に接続する場合、まず App Store から Microsoft Remote Desktop をインストールする
  • アプリ起動後、New で新規接続情報を入力
    • Connection name: win2012-1
    • PC name: (先程入手したパブリックIP)
    • User name: Administrator
    • Password: (先程入手したパスワード)
    • Start session in full screen: チェックを外す (お好みで)
    • Use all monitors: チェックを外す
      (デュアルディスプレイの場合に、Windows側 も 2画面になってしまうのを防ぐ)
  • 接続時、Verify Certificate のウィンドウが出たら、
    Show Certificate -> Always trust ... にチェックを付けてから Continue をクリック
  • フルスクリーンの切り替えは Command+1 でできる

Fullscreen 10 24 15 7 09 PM

 

Windows 上で Python をセットアップしてみる

  • Internet Explorer を起動し、Python 公式サイトからインストーラーをダウンロードし実行。
  • PowerShell 上でパスを通す
    setx PATH $Env:PATH";C:\Python27;C:\Python27\Scripts"
  • その後、PowerShell の落とし上げをすれば、python や pip が使えるようになる。

 

数百円で、すぐに使える Windows 環境が手に入るのは本当に素晴らしい。

10.21.2015

Running Windows-OS CI for Python Projects on AppVeyor

AppVeyor を使って Windows 環境で Python プロジェクトの CI を回す

 

easy-menu を AppVeyor の CI に載せたので簡単にメモ。

AppVeyor とは

Windows OS (デフォルトは Windows Server 2012) 環境で CI を実行してくれるサービス。

OSS は無料で制限なく使えるので、Windows 版 Travis CI のようなものと考えてよい。

セットアップ

プロジェクト追加

GitHub のアカウントで認証し、画面からプロジェクトを追加するだけ。

appveyor.yml

以下のリポジトリから、appveyor.yml と appveyor ディレクトリ配下のスクリプトを拝借した。

基本的にそのままで動くが、バリエーションが多すぎるので適宜減らすとよい。
(最初、appv「a」yor.yml と typo していたため全く機能せず、焦った)

ハマりどころ

mock インストール失敗

環境の setuptools が古いせいか、mock ライブラリのインストールで失敗した。

ワークアラウンドとして、'mock == 1.0.1' とバージョンを固定したら通るようになった。

そもそもテストが通らない

OS に対して透過的なテストを書くことは、本当に難しい。