今回はAWSのEC2/Ubuntu 20.04.2 LTS内にデスクトップをインストールし、noVNCを利用してブラウザからアクセスできる環境を構築してみました。設定項目がかなりあるので、本来であればAnsible化したほうがいいですが、まずは手動で試してみました!


Environment

  • AWS EC2 IAM(Ubuntu 20.04.2 LTS)
  • Disk 100GB
  • t3a.large(t3a.mediumでもOK)
  • セキュリティーグループ 22,3389,5901,6080

※間違えてAWS MarketにあるUbuntu Desktopを選択しないように!コスト高いので!


Install Desktop

  • upgrade package

  • add user 

  • install XRDP

  • Access

https://apps.apple.com/jp/app/microsoft-remote-desktop/id1295203466?mt=12

日本語化

  • Activities > updateを検索して選択
  • Activities > langを検索して選択
  • 下記のように設定して再起動(日本語のままですんません)

  • 入力ソース設定 > 日本語(Mozc)を追加

  • パッケージの追加 > ソフトウェアの追加でCanonicalパートナーにチェック

日本語が打てればOK。

  • キーマップ変更

  • 時刻の変更

これでリモートデスクトップからの初期設定は完了。次はVNC Serverを構築します。


Setting VNC Server

  • install

  • run

  • fix xstartup 

  • vnc pass

  • again run

  • Access

Mac > Finder  > 移動 > サーバーへ接続

VNCのportからアクセスできるようになったので次はブラウザからログインできるようにnoVNCをインストールします。


Install noVNC

  • install package

  • restart vncserver

  • add systemctl and start novnc

    VNC Serverのみsystemctlがうまくいかんのであとで調査しましょう!

    • Access

    http://xxx.xxx.xxx:6080/vnc.html

    これでブラウザからアクセスすることができました。セキュリティグループの3389,5901は使用しないので削除しましょう。ただ、セキュリティのことを考えるとEIP開放しているので、EIPは利用せずにALBのRProxy(社内用)でIP制限と、かつドメインでhttpsアクセスできるようにすると尚ベストです。それが以下。


    ALB RProxy https access

    こんな感じで社内向けRProxy用ALBがあればIP制限もできますし、ポートをターゲットグループでプロキシすればドメインでかつhttpsでアクセスできるようになります。

    https://hoge.adachin.me/vnc.html


    まとめ

    手順が多すぎる!一つでも漏らすとまったく繋がらないので手順書はしっかり書くといいですね。てかAnsible化しよう… プラスこのUbuntuサーバーにDockerもインストールとなると新しく別ユーザでVNCやnoVNCサーバーを動作しないとアクセスはできるものの、ログインができないので結構ハマった…

    しかしブラウザからアクセスできるのはめちゃくちゃ便利だな〜

    ※追記

    [Ubuntu Desktop][Apache Guacamole]ブラウザからVNCで複数ユーザーをログインしたい場合

    参考
    https://qiita.com/osugizmo/items/21578272ae2db05ab001
    https://qiita.com/nnagashima/items/21d9526979344f51121c
    https://qiita.com/DaiGuard/items/3faebe98fe0f0e997567
    https://qiita.com/makaaso-tech/items/013de0d81bdca03bd25e


    カテゴリー: AWSnoVNCUbuntu

    adachin

    1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

    0件のコメント

    コメントを残す

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください