こんばんは
新しい年を迎えましたね。昨年度末は色々と体調を崩したりして大変でしたが、まあそれは、生活習慣などを考え直すいいチャンスをもらったのだと前向きに捉えて、今年は色々と食生活などにも注意して生活していきたいと思います。ここ2年ほどは、新型肺炎が流行したこともあって、家からはあまり出なくなって、運動は全くしなくなり、食事もめんどくさくなって簡単なもので済ませてしまったりすることが多かったなと思います。運動も心がけていきたいと思いますが、何よりも食事に注意したいと思います。
前置きとは全く関係がないのですが、今日は、AWSに作成したWindowServer2016インスタンスから、カスタムAMIを作成して、インスタンの作成を簡略化してみようかと思います。
AMI作成元のインスタンスの準備
まず、インストールしたアプリケーションの状態や設定が残っているかどうか確認するため、いくつか適当にアプリケーションをインストールしてみました。Acrobat DC、Google Chrome、Microsoft Edgeをインンストールしました。
「IEのセキュリティ強化の構成」を無効にして、「タイムゾーンをUTC+9」にします。
キーボード設定を「106/109」にもしています。
AMI作成
ユーザープロファイルの削除
ローカルのアカウント以外のユーザプロファイルを削除します。「コントロールパネル」の「ユーザーアカウント」をクリックします。
「ユーザープロファイルの詳細プロパティの構成」をクリックします。
「ユーザープロファイル」が開くので、一覧から不要なアカウントのプロファイルを選択して「削除」ボタンをクリックします。以下のようにAdministratorだけになっていれば良いと思います。
Sysprepの実行
スタートメニューから「EC2LaunchSettings」を起動します。
起動すると以下のような画面になりますので、「Random(Retrieve from console」(ランダム、コンソールから取得)を選択して、「Shutdown with Sysprep」をクリックします。
「Sysprep Confirmation」と表示されるので、特に変更せずそのまま「Yes」ボタンをクリックします。
「Sysprepを実行しています...」と表示されますので、そのまましばらく待ちます。処理が終わるとシャットダウンされて、接続が切断されると思います。AMIを作成する時に、サーバが停止している必要がありますので、再起動しにないように注意してください。
AMIの作成
EC2コンソールを開いて、先ほどSysprepを実行したインスタンスを選択して、「アクション」、「イメージとテンプレート」、「イメージを作成」を選択します。
「イメージを作成」という以下のような画面が開きますので、「イメージ名」「イメージの説明」を設定します。「再起動しない」の「有効化」という箇所はチェックを外して、「イメージの作成」ボタンをクリックします。「再起動しない」オプションは、起動しているインスタンスを再起動せずにそのままイメージを作成するオプションなのですが、不具合の元となるので緊急時以外はチェックを外して実施した方が良いようです。
AMIの一覧に作成されていることが確認できます。上のRHEL7.9は前回作成したイメージです。
AMIからインスタンスを起動する
AMIからインスタンスを起動する
作成したAMIからインスタンスを起動してみます。EC2コンソールから「インスタンスの起動」ボタンを押して、「マイAMI」を選択し、先ほど作成したAMIの横にある「選択」ボタンをクリックします。
インスタンスタイプ選択画面が表示されます。作成した際に使っていたインスタンスと同じでなければいけないわけではありません。好きなインスタンスを選択して良いと思います。
起動したインスタンスに接続してみます。まず、デスクトップですが、インストールしたアプリケーションは残っているようですが、タスクバーに固定したプリケーションのアイコンは消えてしまっていますね。パブリックユーザープロファイルに登録されているものは残りますが、個々のユーザに登録されている情報は消えてしまうようです。
サーバーマネージャで確認してみると、「IEセキュリティ強化の構成」は「無効」のままになっていますが、「タイムゾーン」はUTC時間になってしまっています。それから、なんと、「プロダクトID」が「ライセンス認証されていません」になってしまっています。
手動でライセンス認証を行う
AWSのドキュメントそのままコピーペーストですが、以下のコマンドを実行してみてください。まず、アウトバンドでTCPポート1688への通信をブロックしている場合は解除する必要がありますので、解除しておいてください。
TCPポート1688からアウトバンド通信が許可された状態で以下のコマンドを実行します。
Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1"
Add-RoutesSet-ActivationSettings
slmgr /ato
実行例をいかに示します。
PS C:\Users\Administrator> Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1"PS C:\Users\Administrator> Add-RoutesifIndex DestinationPrefix NextHop RouteMetric PolicyStore------- ----------------- ------- ----------- -----------6 169.254.169.254/32 10.20.2.1 15 ActiveStore6 169.254.169.254/32 10.20.2.1 15 Persiste...6 169.254.169.250/32 10.20.2.1 15 ActiveStore6 169.254.169.250/32 10.20.2.1 15 Persiste...6 169.254.169.251/32 10.20.2.1 15 ActiveStore6 169.254.169.251/32 10.20.2.1 15 Persiste...6 169.254.169.249/32 10.20.2.1 15 ActiveStore6 169.254.169.249/32 10.20.2.1 15 Persiste...6 169.254.169.123/32 10.20.2.1 15 ActiveStore6 169.254.169.123/32 10.20.2.1 15 Persiste...6 169.254.169.253/32 10.20.2.1 15 ActiveStore6 169.254.169.253/32 10.20.2.1 15 Persiste...再同期コマンドをローカル コンピューターに送信していますコマンドは正しく完了しました。PS C:\Users\Administrator> Set-ActivationSettingsPS C:\Users\Administrator> slmgr /atoPS C:\Users\Administrator>
上記のようにコマンドを実行すると、以下のように表示されて、ライセンス認証が正常に行われたようです。
サーバーマネージャのライセンス認証のところを確認します。今度は、ライセンス認証済みになりました。
自動でライセンス認証を行う
自動でライセンス認証する方法は、なんかうまく行ったようなうまくいかないような感じになってしまっていますので、今のところは手動でやる方が良いような気がします。
まず、AWS System Managerコンソールを開いて、左の欄から「自動化」を選択します。
次のような画面が表示されますので、「オートメーションの実行」ボタンをクリックします。
同じ画面で、「インタラクティブなインスタンススピーカーを表示する」をチェックして「すべてのインスタンスを表示する」を選択し、ライセンス認証を行いたいホストを選択します。
最後に、「Allow Offline」を「True」に設定して、「実行」ボタンをクリックします。「Allow Offline」が「True」になっていると、サーバが再起動しますので注意してください。ライセンス認証が行われていないサーバが再起動されても問題ないかもしれませんが。。。
実行すると、次のようにステータスが表示されます。が、なんだか最後のステップが「保留中」のまま進みません。
おかしいなと思いながら、ライセンス認証を行なったはずのサーバに接続してみると。。。。あれ?すでにライセンス認証が行われています。
あらためて、ステータスを見ると、「成功」に。。。
自動実行によりライセンス認証されたのか、時間が解決したのかよくわからない状態に。。。オートメーションの実行結果は成功になっているので、うまく行ったということにして良いのでしょうか?
やっぱり、なんとなく不安なので、私はサーバ立ち上げるごとにします。どうせいくつか設定変更が必要ですので、手動でやってもいいかなと思います。
0 件のコメント:
コメントを投稿