クラウドとマレーシアでぐだぐだする日記

いい感じのITエンジニアでいるためにアウトプットします

海外拠点の立ち上げに必要なIT機器を規模別に考えてみる

こんにちは、海外にきて随分たったなーと感慨深いシゲルです。

仕事がらいろんな会社のオフィスに行ってIT機器の導入をやってきたので必要になってくるIT機器を一度まとめてみます。製造業で工場や倉庫を立ち上げる場合、最初から大規模になる場合が多く状況が変わってきますので分けて紹介します。

海外進出した時に必要なIT機器はコレだ!規模別に紹介

海外拠点の立ち上げに必要なIT機器を会社の規模別に紹介していきます。

現地法人立ち上げ時 メンバーは5名ぐらいまで

f:id:shige_shigetan:20170530085359j:plain
海外拠点立ち上げの一番最初の時期でレンタルオフィスに間借りしている場合も多いかと思います。メンバーとしてはアカウントとセールスの人間を雇って、さあ仕事するぜいぃ!!って感じのタイミングです。まあ5名ぐらいまでと書きましたが6名、7名になってもさして変わる訳ではありません。

日本だったら@XXXX.co.jp, マレーシアだったら@XXXX.com.myのような会社のアドレスが必要です。ドメインを確保したらOffice365やGoogleAppsなどのサービスを利用してメールアドレスを使えるようにしましょう。

  • ファイヤーウォール機器

レンタルオフィスの場合にもFWが必要となります。外側(レンタルオフィス側)と内側(自分たちのオフィス側)をネットワークとして区別
最近だとランサムウェアによる被害も流行っているようですので、ぜひ入れておきたい所です。

  • 無線アクセスポイント

 小さなオフィスで配線するのも面倒だと思うのでいっその事、パソコンは無線で接続してしまいましょう。最近ではノートパソコンだけではなくデスクトップでも無線LANが使えるタイプがあります。そもそもレンタルオフィスの場合、配線できないかもしれません。

  • NASサーバー

 ファイルを共有するための機器です。大きめのファイル(CADファイル、映像ファイル)を業務でメンバーとやり取りする必要がある場合、導入しておいたほうが良いでしょう。あるとかなり便利です。個人のPCはハードディスクは故障するとデータが飛びますがNASのハードディスクは複数で構成されていることが多く故障に強い仕組みとなっています。

  • プリンター

紙でのドッキュメン(経理書類など)の保存が必要な場合プリンターを買っておきましょう。この段階では人数も少ないので業務用の大きな複合機を用意する必要はありません。

  • 大事な事

現地でPCを買う場合は必ずオペレーションシステム(windows10, windows7とか)が英語表示のものにしましょう。
日本語バージョンと英語バージョンを比べると、おそらく値段は同じか日本語バージョンの方が割高になりますが 海外での入手のしやすさで考えると断然、英語バージョンです。また日本語バージョンを使うと日本人しかメンテナンスできないパソコンができあがります。購入元の会社がサポートしてくれたとしても、日本人が来なきゃいけない事をかんがえると対応までの時間が伸びる事を覚悟しなければなりません。


事業拡大期、メンバー10人以上

f:id:shige_shigetan:20170530085522j:plain
めでたく事業が拡大期に入りました、おめでとうございます。初期の立ち上げが完了しメンバー10人以上に増えていったところでしょうか。
おそらくパソコンも10台以上になってるとおもいます。

  • インターネット

もともとの事務所がレンタルオフィスだった場合、レンタルオフィスの共用のインターネットを使っていたかと思います。事業拡大を機会に別のオフィスに移る場合は忘れずインターネット回線の申込を行いましょう。

 パソコンが10台以上になってくると管理が面倒になってきます。またメンバーが増えスタッフ間でITスキル、リテラシーに差があることが分かってくる場合もあると思います。そんな時にPCの設定、各メンバーのアカウント情報を一括で管理できるようにしてくれるのがこのAD(Active directory)サーバーです。

  • バックアックのためにNASを使う

以前に購入したNASをサーバーのデータバックアップ用に使います。NASにあったデータはサーバーへ移します、これでバックアップが担保された構成となりました。

  • アクセスポイント(AP)

もし立ち上げ期の段階で家庭用の無線アクセスポイントを使っている場合、家庭用の場合、接続台数(PCとスマフォ)が10台 ぐらいが上限です、業務用に買い替えましょう。

  • ドアセキュリティー、監視カメラ

レンタルオフィスではなく新たにオフィスを借りた場合、ドアセキュリティーと監視カメラを設置しておきましょう。

工場や倉庫の場合

f:id:shige_shigetan:20170530085538j:plain
製造業、運輸業で工場、倉庫がある場合は事務所のみの場合と大きく必要なIT機器が変わってきます。最近では工場、倉庫のエリアにパソコンだったりハンディーターミナル、バーコードリーダを置いて現場でデータ入力を出来るようにしている所も多いです。特に工場の場合そうなのですが、遮蔽物が多く自由にLANケーブルを配線するといったことが難しいです、そこで必要となってくるのが無線のアクセスポイントとなります。

  • 無線アクセスポイント(たくさん)

広い工場エリアを全てカバーできるように配置を考える必要があります。またアクセスポイントまでの配線も気にする必要があります。実際に配置を考えるときはパズルの様に制約の有る条件をいろいろ考慮して考えるわけでなかなか面白いです。

  • 無線アクセスポイントコントローラー

こちらのコントローラがあると無線アクセスポイントの電波の強さ(機器によっては向きも)自動でコントロールしてくれるようになります。アクセスポイントが4個以上になってくると、設置前に調整して設置する、後はそれぞれのアクセスポイントが自律的に動作するということが難しくなります。そこでこのコントローラで集中管理する必要になってきます。


以上、海外の現地法人で必要なIT機器をまとめてみました。もう一回、クラウドを利用したバージョンも書いてみたいと思います。

Windowsマシンの初期設定を自動でババ〜ンっとやってみる

こんにちは、普段はネットワークエンジニアをやっています。しげるです。

先日の記事でAnsibleを使ってWindowsの構成管理をする場合に必要な設定と簡単なサンプル実行をやってみました。

shigeluma-tech.hatenablog.com


最終的にはボタン一発でAzureにActiveDirecrotoyを立ててなんなら冗長化構成にして1台壊れた場合に自動で検知してサーバー生成するぐらいにしてみたいと思います。(できるかな、、、、)

今回はWindowsマシンをセットアップする場合の初期に行う設定をAnsibleを使って自動でやっていきます。

実施したOSのバージョン、インストールした各ソフトウェアのバージョン

構成管理の対象のWindowsマシン、構成管理、Ansibleを実行する側のWindowsマシン、両方のWindows Firewallは切ってあります。

構成管理の対象のWindowsマシン

 Windows2012R2
 Powershell4

構成管理、Ansibleを実行する側

 Windows10上でLinux環境「Virtual box」+「vagrant」(CentOS)
 Ansible 2.3
 Python 2.7.5

初期設定をする前のWindowsマシンの状態

インストールメディアからインストールを行いadministratorアカウント、パスワードが設定されており、ネットワーク関連の設定(固定IPアドレス、サブネット、ゲートウェイを設定)がされている状態です。Windows Remote Management(WinRM)とパッケージ管理ツール「Chocolatery」についても事前に手動でインストールしております。(ココらへんはもう少し手間を減らしたい。。)
確認のためにリモートデスクトップも接続できる状態にしました。

Ansibleで初期設定、セットアップする項目はこんな感じ

だいたいサーバーを手動でセットアップする時の項目を思い浮かべて並べてみました。

設定項目については公式ドキュメントのWindowsの部分に詳細がのっています。
http://docs.ansible.com/ansible/list_of_windows_modules.html

今回、YAMLファイルをWindows Update関連のものとそれ以外のものに分けました。

タイムゾーンDNSサーバー、アプリケーションのインストールのためのYAMLファイル
アプリケーションはGitクライアント、PDFビューア、Firefoxを入れています。

---
- hosts: all

  tasks:
    - name: タイムゾーンの設定
      win_timezone:
        timezone: "Tokyo Standard Time"
    
    - name: DNSサーバーの設定
      win_dns_client:
        adapter_names: "*"
        ipv4_addresses:
          - 8.8.8.8
          - 8.8.4.4     
        log_path: c:\dns_log.txt

    - name: パッケージのインストール(Chocolatery)
      win_chocolatey: name={{ item }} state=latest
      with_items:
        - git
        - PDFXChangeViewer
        - Firefox

Windows Updateと再起動のためのYAMLファイル

---
- hosts: all

  tasks:
    - name: Windows updateの実施
      win_updates:
        category_names: 
          - SecurityUpdates
          - CriticalUpdates
          - UpdateRollups
     
    - name: Windows 再起動の実施
      win_reboot:
        when: update_result.reboot_required
        shutdown_timeout_sec: 3600
        reboot_timeout_sec: 3600

Ansibleで操作できなかった項目

Ansibleで操作できなかった項目についても正直に書いておきたいと思います。こちらはのちほどPowerShellあたりで実現できそうな方法を探してみます。

  • Windows Updateの有効化
  • 表示言語の設定
  • ファイルの拡張子を表示させる
  • chocolateryのインストー

Ansibleでのwindowsマシンの構成管理の始め方を解説するよ

f:id:shige_shigetan:20170510180733j:plain

こんにちは、Ansibleを使うのは6ヶ月ぶりぐらいです、シゲルです。

企業内の基幹システムもクラウドファーストと言われている昨今ですが一般の企業ですとWindowsサーバをたくさん使ってたりします。

基幹系のエンタープライズシステムもクラウドも合うよねーと思いますが、特にActive Directoryについてはクラウド上にポコポコっとADサーバーと並べて立ててネットワーク越しに使って、壊れたらパパっと再構成というような考え方は有りなんじゃないかと思っています。
そこで「ansible 」と「windows」の組み合わせについて調べて見ることにしました。

最終的にはコマンド一発でAzure上でADサーバーを立てれるぐらいを目指してみます。(無理かもしれない、、)。今回はAnsibleを使ってwindowsマシンを構成管理する場合に必要な準備と簡単なサンプルを実行する方法を紹介していきます。

実施した環境のOSのバージョン、インストールした各ソフトウェアのバージョン

構成管理の対象のWindowsマシン、構成管理、Ansibleを実行する側のWindowsマシン、両方のWindows Firewallは切ってあります。

構成管理の対象のWindowsマシン

  • Windows2012R2
  • Powershell4 (標準でインストールされています。)


構成管理、Ansibleを実行する側

自分の環境で一番手軽だった「Virtual box」+「vagrant」(CentOS)で実施しました。
vagrant(Ubuntu)やMacでも実施できると思います。ただ、Windows Subsystem for Linuxについては一度やってみたのですがansible 1.5.4しかapt-getでインストールできず、apt lineの変更方法がすぐわからなかったので断念しています。本当であれば操作する側も素のWindowsマシンだけで出来たらもう少し簡単だったかな~と思っています。

Ansibleを使ってできるwindows内の設定項目

Ansibleを使ってできるwindows内の設定項目については以下の通りです。

公式ドキュメント
https://www.ansible.com/windows

  • Windowsマシンの情報を集める事ができる
  • Windows MSI ファイルを使ってのインストール、アンインストー
  • Windowsの機能の有効化または無効化
  • サービスの起動停止、管理
  • ローカルユーザ、グループの作成
  • パッケージマネージャ「Chocolatey」をつかったWindowsアプリの管理
  • Windowsアップデートのインストール、管理
  • ファイルのリモートサイトへの送付
  • PowerShell scriptsの実行

こうやって見てみると色々できそうですね。わーい。今回はサンプルとしてサービスの起動停止、管理としてWindows Updateのサービスを起動状態にする様にしていきます。

構成管理の対象のWindowsマシン側の準備

Ansibleを使ってWindowsを操作する場合は操作対象のWindowsマシンにWindows Remote Management(WinRM)のインストールが必要となります。
PowerShellを通じてインストールを行いますが、PowerShellの実行ポリシーを変更しておきます。

こちらが公式のインストールスクリプになります。
ansible/ConfigureRemotingForAnsible.ps1 at devel · ansible/ansible · GitHub

#Powershellの実行ポリシーの変更
PS C:> Get-ExecutionPolicy
Restricted
PS C:>Set-ExecutionPolicy RemoteSigned
Execution Policy Chang

PS C:> Get-ExecutionPolicy
RemoteSigned

#Ansible用WinRMモジュールのインストール
PS C:\> mkdir C:\work
PS C:\> cd .\work

PS C:\work> Invoke-WebRequest -Uri https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRem
otingForAnsible.ps1 -OutFile ConfigureRemotingForAnsible.ps1

PS C:\work> powershell.exe .\ConfigureRemotingForAnsible.ps1

Ansibleを実行するマシンでの必要なパッケージのインストー

pythonとansiblleのインストー

 #パッケージのインストール
sudo yum -y install epee-release   ※ansibleは標準リポジトリに無かったのでこちらを追加します。
sudo yum -y install python
sudo yum -y install ansible
sudo yum -y install python-pip

sudo yum -y install git
sudo pip install --upgrade pip
sudo pip install pywinrm

#バージョンの確認
$ ansible --version
ansible 2.3.0.0

$ python -V
Python 2.7.5

構成管理の対象サーバーを示すhostsファイルの作成

続いて、Ansibleで構成管理する対象の情報を示すhostsファイルを作ってきます。
対象のWindowsマシンをIPもしくはFQDNで記載します。次にansible_ssh_use、ansible_ssh_passにwindowsのユーザー名とパスワードを下記の様に書きます。

[windows]
192.168.0.221

[windows:vars]
ansible_ssh_user=administrator
ansible_ssh_pass=XXXXXXXXXX
ansible_ssh_port=5986
ansible_connection=winrm

ansible_winrm_server_cert_validation=ignore

続いてここまでの動作確認です。pingを打つとpongが帰ってくるいう、プログラミングでいうと「Hello, world!!」的なアレです。インベントリファイルは同じディレクトリに入っているhostsファイルを使っています。

$ ansible windows -i hosts -m win_ping192.168.0.221 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

インターネットが雨の日に遅い理由を考えてみる

こんにちは、天気予報は降水確率40%なら傘を持っていかないシゲルです。大体ずぶ濡れです。ハイ。

日本で過ごしていたときはそうでも無かったんですが、マレーシアに住んで以来、雨が降ってたりスコールで土砂降りになってたりすると、「あれっ???ネット遅いんちゃうん??」と思う機会が多くなりました。

以前の仕事でたまたまインターネットの会社の人と話す機会がありまして、その時に話してた内容から雨の日にネットが遅くなる原因をまとめたので紹介してみます。

雨の日にネットの速度が遅い原因は??

インターネットプロバイダーの通信設備の故障や漏電?

インターネットの光回線のなどの物理的な回線があなたのお家からインターネットサービスを行う会社の通信設備まで敷設されているわけですが、ずーっと一直線にケーブルが引かれている訳ではなく網目の様に近くの通信設備で周囲一体の回線を集約して上位の通信設備につながっています。雨の日になると、どこかの通信設備が漏電し動かなくなる事があります(住んでるマンションの所かもしれませんし、ちょっと先の基地局かもしれません。)


インターネット回線の経路はバックアップの経路があったりするのですが普段使う経路が故障している分、バックアップ回線の負荷が多くなり、これが原因であなたのインターネットのスピードが遅くなる、といった塩梅のようです。他にもネズミなんかが雨のせいで建物の中に避難してきて、部屋の中の通信設備をかじったりして故障、、、みたいなコンボも有りそうですね。

雨でインターネットを使う人が多くなる?

二つ目の理由は雨の日は外出する人が減り、家にいる人が増えるのでインターネットを使う人が増える。そして、インターネット回線の能力がひっぱくして遅くなるというものでした。確かに雨が降るとタクシーは捕まらない、Grab、Uberは割増料金になる、道路は渋滞する、電車もめっちゃ混むなど出かける気を削がれる事が多くなります。


またマレーシアのような途上国では通信キャリアの設備も日本よりショボかったりします。(それでもマレーシアのインターネット速度は速い方だけど)ついでに言うと、故障を検知するシステムもショボかったりするします。つまり、サービスプロバイダーの人も故障があっても即座に気づくことができません。

モバイル通信、インターネットも雨の日は調子が悪い?

Wimaxなんかのモバイル・インターネットも雨のはスピードが遅くなる場合があります。
これは電波の波の大きさからすると雨粒ってめちゃくちゃ大きいので雨粒があると迂回は出来るけど勢いが弱くなるかんじですかね。海で波が岩場で勢いが弱まるけど、波は進んでくイメージです。

まえの2つと別々に発生するわけではなく、悪条件さらに一個追加!!といった所です。


まとめ

まとめと言うか、ココまで書いておいてごめんなさい。

コレを読んでも雨の日にインターネットが遅いのは解決できません。

インターネットプロバイダーのエンジニア頑張れっ!!と祈っておきましょう。

コミュ障気味のITエンジニアが続けている英語学習の戦略について紹介するよ

こんにちは、ITエンジニアのしげるです。

私は現在、マレーシアで働いていますが同僚エンジニアとのコミュニケーションは全て英語となりますす。しかし、もともと英語が得意ではなかったので今でも英語の勉強を続けています。

今まで3ヶ月ぐらい続けてみた勉強方法で仕事で英語を使う上でそこそこ効果が得られたと感じた方法を紹介してみます。ITエンジニアという職業やコミュ障気味、人見知りな自分の性格についても考慮して方法を考えました。

英語学習の壁となる人見知り、コミュ障という性格について

まず初めに自分の人見知り、コミュ障気味な性格が残念なことに英語学習という点ではマイナスに働くかも?という部分に触れなければいけません。人見知りとかコミュ障とまで言うかは別として、ITエンジニアの人は内向的な人が多くないでしょうか?私はまんま当てはまります。

これって英語学習でどういう点でダメなのかというと、必要なアウトプットの機会が減る事につながっているじゃないかと考えています。私は営業の人がお客さんと雑談なんかを難なくこなすのを見てるとなんだか羨ましいなーとたまに感じだりします。

英語学習の目標設定

英語学習の目標を以下の様に設定しました。ざっくり言うと英語で仕事を進められるという感じでしょうか。

同僚エンジニアとネットワークやサーバの設計、実際の導入作業、トラブルシュートを英語で議論できる。作業内容や作業の目的を伝えられる、逆に意見を求めたり出来る。

ネイティブ並みに日常会話を喋るとか無理な目標は立てないようにしました。仕事で自分の関連する技術分野について英語で話す方が簡単です。

具体的な英語学習方法

上に書いた目標を達成するために学習する分野を大きく2つに分けました。「同僚エンジニアとコミュニケーションを取るための英語」と「自分の技術分野に関する英語」の2つです。

ローカルのエンジニアの指示、フィードバック、依頼についての英語

ローカルエンジニアへ英語での指示、フィードバック、依頼については以下の本から勉強する事にしました。
amzn.asia
収録されている文章も相手へのフィードバック(良い場合、悪い場合も)、仕事の依頼から、上司として部下とやり取りする場合(勤務評定、部下からの昇給の依頼)とさまざまなケースなケースが含まれており、便利です。

また、前半の部下に依頼するケースについてはテンプレートとして使いやすいので自分は同僚エンジニアになにか頼む場合はよく使っています。

自分の技術分野に関する英語

世界展開しているような製品で有れば必ず英語のマニュアルが作られていることが多いのでこちらからより単語文章を取り入れる事にしました。自分の場合はJuniper、Fortigate、Cisco、Brocade、Windowsサーバ、大きくざっくり言うとネットワーク、サーバー分野に関するマニュアルをよく読んでいます。

自分の仕事関するマニュアルというのは書いてある単語、文章がそのまま同僚とのコミュニケーションに使えます。またマニュアルを調べている時というのは、だいたい、すぐに調べた結果を同僚と共有する必要のある場合が多く、すぐにアウトプットする機会があるのは上達に効果的だと考えています。

おまけ:技術系Youtube

英語の習得を目的して見ていたわけでは無いですが、ネットワーク、サーバの分野で設定なんかで分からない所があると
Googleで検索しながら英語のYoutubeの解説動画をよく見ていました。

公式の解説動画じゃない場合は若めのYoutuberのお兄ちゃんが「ヘイっ!!メ~ン!」ってな感じのノリで解説してくれるモノが多かったです。設定が分からなくて切羽詰まっている時はココロの安らぎが少し得られるのでオススメします。

この戦略で超えられないモノ

最後にこの戦略をつかっても特定の部分は英語で喋れるようにならないなーと感じた事について書いていきます。自分の場合、設定した英語で同僚エンジニアと議論できるという目標に対してはある程度効果があったのですが自分のバックグラウンドに無いもので英語の文脈に無いものは喋れるようにはならないと考えています。

バックグラウンドにあるけど、英語の文脈に無いものとしては例えば、同僚のマレーシア人エンジニアにドラマ「半沢直樹」の感想を言われたとして、感想を言い合ったり議論したりできるか、と考えると難しいだろうなと感じています。

マレーシアでUnifi導入後の支払い方法について知っておきたいこと

こんにちは、先日こちらの様にクアラルンプールの自宅でインターネットを導入して数ヶ月が経ちました、シゲルです。
shigeluma-tech.hatenablog.com

Unifiのインターネットを数ヶ月使ってみての感想はピークタイム夜8時ぐらいから12時ぐらいは遅い場合があるけど、そこそこ安定して速さもそこそこ、Youtubeを初め動画サイトも問題なく見れるといった具合です。

インターネットの契約をした時に初期費用RM500と毎月のインターネット料金RM179 (2017年4月ごろの料金)で請求書がくるよ、と確認していたのですが、当初は料金をどうやって払うのかよく分かっていませんでした。

今回、初回と2回めの料金支払いを済ませたのでインターネット工事の後、どんな流れで料金を支払うのか書いてみます。

インターネット導入工事後の初期費用の支払い

導入工事の時に初期費用も支払うと思ってたけど・・・??

f:id:shige_shigetan:20170422163013j:plain

導入工事の前まではてっきり工事の当日に初期費用を払うのかなーと思ってました。しかし、当日はそんなイベントもなくエンジニアのおっちゃんたちも工事が完了するとじゃあねー、と帰っていきました。

ここらへんは、もし作業に来ていたエンジニアに直接、初期費用を渡すと彼らが横領したり、追加料金くれないとインストール作業やらないぜっ!みたいにゴネだしたりするのを防止しているのかなーと感じました。

初期費用の支払いの通知はSMSでやって来る

そんなこんなで導入工事の後、初期費用RM500の支払いはどうするのかなーと思ってたら、料金に関するSMS(ショートメッセージ)がやってきました。
f:id:shige_shigetan:20170422170211j:plain

結局、このSMS、ショートメッセージには支払い方法については書かれてませんでしたので、Quail Mallの3階のTMpoint(テレコムマレーシア直営店)に確認しに行きました。ここのTMpointは平日夜10時まで、土曜日も営業しているので便利、自分はかれこれ、何やかんやで5回以上言っている気がしますw。

TMPointで店員さんに聞いてみると、「SMS来ただろう??アカウント番号が書いてあるはずだから、そこの隣にある自動支払機でアカウント番号を入力して払うんだぜー」と教えてもらいました。
f:id:shige_shigetan:20170422172346j:plain

料金を払うとしばらくすると支払い完了のSMSやって来ます。
f:id:shige_shigetan:20170422170220j:plain

導入2ヶ月後以降の料金支払いについて

インターネットを使い始めて暫く経つと(1ヶ月ぐらい?)またUnifiの支払いのメールがやって来ます。
f:id:shige_shigetan:20170422175814j:plain

このメールで料金がマイナスになっていてなんじゃこりゃ??と思ったので、またTMPointで店員さんに教えてもらったのですが初めのうちは(1ヶ月目、2ヶ月目ぐらいまで)初期費用のRM500から月毎のインターネット利用料金が引かれていく、初期費用の残高が残っているうちは表示がマイナスで表示されるって事でした。

なので大体ですが3ヶ月目ぐらいから実際の支払いが必要となってきます。

そのほかの支払方法

偶然、街なかのセブンイレブンでこんなカンバンを見つけました。
f:id:shige_shigetan:20170422175920j:plain

どうやらセブンイレブンで払えるようです。実際、後日、月ごとのインターネット料金をセブンイレブンで払ってみました。店員さんにTMのインターネット料金払える??って聞いてみてアカウント番号を伝えると店員さんから名前の確認がありレジで支払うことが出来ました。支払いが完了すると同じようにSMSで通知が来ます。

「Chocolatey」を使ったWindowsアプリケーション一括インストール

f:id:shige_shigetan:20170420082409j:plain

こんにちは、この頃、使ってるパソコンがぶっ壊れましてOSとアプリの再インストールという非常にダルい作業を実施したシゲルです。

この手作業は、あんまり楽しい作業でもないモノでも無い割に、後からコレが無い、アレが無いといったインストール漏れが発生しがちでまあまあ、面倒ですよね??

自分としては2度と手動ではアプリケーションのインストール作業はやりたくないのでツールを使って次回は楽をできる方法を考えてみたので紹介します。

使ったツールはアプリケーション一括インストールツール「Chocolatey」です。

Windowパッケージ管理ツール「Chocolatey」って何??

Ubuntuで使われるapt-get、CentOSで使われるyumのようなコマンドラインで使えるパッケージ管理ツールのWindows版です。コマンドから一括でインストールされている全てのパッケージをアップデートしたり、コマンド一発で依存するコンポーネントも一括でインストールしたりする事ができます。

自分のITエンジニアとしての立ち位置

私自身はSIのネットワークエンジニア、Windowsサーバ関連のサーバエンジニアといった立ち位置になります。なので、この記事で一括インストールするアプリケーションは自分向けのものとなります。

自分と近い場合はこの記事を参考に、自分はWebアプリケーション開発とか、Androidディベロッパーだ!!って人(そもそも、Windowsなんて使いませんか、、そうですか、、)は一括インストールできるアプリケーションの確かめ方も載せておきますので確認してください。

Windowsパッケージ管理ツール「Chocolatey」のインストー

PowerShellからでもコマンドプロンプトからでもインストールできます。

PowerShellでインストールする場合の前準備

ますPowershellを管理者として実行します。
次に「Chocolatey」 をインストールするためにPowerShellのポリシーを変更します。

PS C:\Users\Administrator> get-ExecutionPolicy
<span style="color: #d32f2f">Restricted</span>

PS C:\Users\Administrator><b> Set-ExecutionPolicy RemoteSigned</b>

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might
expose you to the security risks described in the about_Execution_Policies help topic at
http://go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y

「Chocolatey」のインストー

PowerShellもしくはコマンドプロンプトを管理者権限で実行します。
続いてインストールのためChocolateyのサイトにあるコマンドを実行します。

chocolatey.org
https://chocolatey.org/install

f:id:shige_shigetan:20170420023324j:plain

「Chocolatey」でインストール出来るアプリケーションの確認方法

対象のパッケージ、アプリケーションが「Chocolatey」でインストール出来るかどうかを
確認する方法として以下のコマンドがあります。

choco search [パッケージ名]

しかし、上の方法だと一個ずつ確認しなければなりません。

choco list > c\chocolist.txt

一旦こんな感じでリストをテキストに落として
そのテキストファイルをアプリケーション名を検索すると速いです。

私がいれたアプリケーション一覧

自分が導入したアプリケーション一覧を晒しておきます。chocolateyをインストールした状態でコマンドラインもしくはPowerShellにコピペすればOKです。