mac EC2にWindows10環境からSSH・VNC接続してみた
「AWS Late Night Week1」にて発表された何かと話題!?のmac EC2にWindows10環境から接続してみました。
やってみた
検証環境
専有ホストの割り当て
mac EC2は専有ホスト上で稼働するのでEC2コンソール画面から以下のような感じで専有ホストの割り当てを行います。
割り当てが上手くいくと、専有ホスト一覧画面に以下のように表示されます。
mac EC2起動
EC2コンソールから[インスタンス]>[インスタンスの起動]をクリ ック
AMIの選択
macOS Catalinaを選択します
インスタンスタイプの選択
mac1.metalが選択されていることを確認して、「次のステップ: インスタンスの詳細の設定」ボタンをクリック
インスタンスの詳細の設定
配置するVPC、サブネットを選択します。ただし、サブネットは専有ホストで設定したAZにあるものを選択してください。
割り当てを行ったホストを選択します
ストレージの選択
適当に選択、設定します
タグの選択
適当に入力、設定します
セキュリティグループの設定
最後に確認ボタンをクリックして、EC2を起動させます。
mac EC2にSSH接続し、VNCサーバ起動
SSH接続します。ちなみにデフォルトのSSHユーザーはec2-userです。
接続後、ec2-userのVNC接続用のパスワードをリセットします
sudo dscl . -passwd /Users/ec2-user <Password文字列>
VNCサーバの有効化
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw <Password文字列> -restart -agent -privs -all
mac EC2にVNC接続
以下のVNC クライアントをインストールします。
Download VNC Viewer | VNC® Connect
インストール後、起動し、左上の[File]>[New Connection]をクリックすると、以下のProperties画面が表示されるので VNC Serverにmac EC2のグローバルIPを入力して、OKをクリックします
接続情報一覧画面に新しく追加されるので選択します
選択すると、ユーザー名、パスワードを求められるので入力します
VNC接続が上手くいくとログイン画面が表示されるので再度パスワードを入力してEnterを押下します
ログインに成功すると、macOSのデスクトップ画面が表示されます。
まとめ
まさかのmac EC2とは驚きでした。来年にはM1 Chipなmac EC2も出るみたいなので余裕あればそれも試してみたいですね。
参考
New – Use Amazon EC2 Mac Instances to Build & Test macOS, iOS, ipadOS, tvOS, and watchOS Apps | AWS News Blog Amazon EC2 Mac Instance を早速使ってみました - Qiita
AWS Systems Manager ハンズオンをやってみた
最近業務でWindows serverを扱う必要が出てきてSSMを利用して定期実行タスクを実行・管理したいと思ったので今年のAWSinnovateのSSMのハンズオンをやってみました。
AWS Innovate オンラインカンファレンス | 2020 年 3 月 10 日 (火) 〜 5 月 8 日 (金) 開催
チュートリアル内容
Windows ServerもしくはLinuxに対してSSMを利用して運用の自動化や効率化をするチュートリアルで私はWinsows Serverの方を選択してやりました。
流れ
- Systems Manager を管理対象となる EC2 インスタンスに導入し設定する方法
- サーバへのリモートアクセスを行う方法(セッションマネージャ)
- サーバ群にコマンドを一括して投入する方法(Run Command)
- パッチ適用を自動化させる方法(メンテナンスウィンドウ)
- OS 上のログやメトリックを CloudWatch で監視、およびその設定を一括して行う方法
- 本ハンズオンで作成したリソースのクリーンアップを行う方法
学び
- ハンズオンでは「AmazonEC2RoleforSSM」ポリシーをロールにアタッチしているが実務ではより権限の狭い「AmazonSSMManagedInstance」をベースに割りあてるほうがよいらしい
RDPポートを開ける必要がないだけでなく、keypairも作成不要 (セッションマネージャでnet uer コマンドを使ってパスワード変更できるため)
メンテナンスウィンドウを利用してOS上で定期実行できるタスクを管理・運用できる
パラメータストアにはRDSの接続情報だけでなく、CloudWatchAgentのログ設定ファイルも保存して参照できる
感想
SSMの全機能を試したわけではないが、主機能は試すことができたので良かった。業務でもうまく生かしたい。
AWS公式チュートリアル「サーバーレスのウェブアプリケーションを構築」をやってみた。
最近業務でサーバレス開発に触れる機会があり、自身のサーバレスに対する苦手意識を感じたため、少しでも払拭するためにAWSの公式チュートリアルをやってみました。
チュートリアル内容
VueアプリケーションをAWS Amplifyでホスティングし、ユーザー管理、ログイン認証をCognitoで、ブラウザから叩くバックエンドAPIをAPI Gateway、AWS Lambda、Amazon DynamoDBで構築するチュートリアルでした。
流れ
学び
- Amplify Consoleを利用するとCI/CD環境を含む静的なWebアプリケーション環境を瞬時に構築できる
- Cognitoでログイン認証後に受け取るJWT(JSONトークン)を利用してAPI Gatewayを実行するための認証を行う
- 上記認証のためにCognitoユーザープールオーソライザーを利用する
感想
AmplifyやCogniteは本当にまだ触ったことが少なく、苦手意識があるので今後がっつり触りながら苦手意識を払拭したい。
「AWS認定セキュリティ・専門知識」を読んだ。
読んだきっかけ
佐々木さんが新しく本を出されたというのがtwitterで回ってきた&クラウドを利用する上でセキュリティの知識は大切ということを感じていたので。
- 作者:NRIネットコム株式会社,佐々木 拓郎,上野 史瑛,小林 恭平
- 発売日: 2020/07/29
- メディア: 単行本(ソフトカバー)
目次
第1章 AWS試験概要と学習
第2章 IDおよびアクセス管理
第3章 インフラストラクチャのセキュリティ
第4章 データ保護
第5章 ログと監視
第6章 インシデント対応
第7章 Well-Architected
第8章 練習問題
2章~6章は認定セキュリティ試験の試験ガイドに書かれている分野と対応している章立てになっていて非常にわかりやすかった。
感想
一応AWSソリューションアーキテクトプロフェッショナルまで取得しているので内容的に既知の内容が多いと思っていたが、意外と知らないことが多かったので勉強になった。
SlerのエンジニアがSRE NEXT2020に行ってきた
twitterで「ブログ書くまでが~」と書いていて、実際に#srenextで調べたところ、かなり書いている方が多かったので私も書くことにしました。
きっかけ
Slerに所属しているとあるあるだが、定型作業が自動化されていませんでした。
AWSリソースも昨年まではAWSコンソール上から作成することが多かったので
自動化やインフラのコード化などに興味があった。
たまたまSREで初のカンファレンスがあると知ったので参加しました。
聞いたセッション
- 分散アプリケーションの信頼性観測技術に関する研究
- 40000 コンテナを動かす SRE チームに至るまでの道
- パフォーマンスを最大化するための SRE のオンボーディング事例
- Practices for Making Alerts Actionable
- 冗長性と生産性を高めるハイブリッドクラウド環境の実現
- スクラムを1年回してSREと開発組織がどう変わったのか
- ZOZO MLOps のチームリーディングとSRE(Engineering)
- Webサービスを1日10回デプロイするための取り組み
分散アプリケーションの信頼性観測技術に関する研究
- 自動化すると作業不可は減るが、認知不可は高まる。
- 認知不可に耐えるには高度な訓練が必要
- SREとは「サイト信頼性を制御するための工学」
2020年の抱負
1年の計は元旦にありということで今年の抱負をまとめたいと思います。
今年は以下に注力したいです。
- コードをたくさん書く。
- DevOps周りの知識を身に着ける。
- アウトプットを増やす。
コードをたくさん書く
正直自分のやりたいことが現時点ではまだ明確に見えていないのですが、インフラエンジニアでも今後はコードが書けない・読めないとやっていけないことは目に見えているのでできるだけ毎日コードを書くようにしたいです。
DevOps周りの知識を身につける。
今のところ DevOps周り(Docker、Terraform、CircleCI、kubernates)についてあまり詳しくはないので今年は使いこなせるようにしっかりと理解したいです。
アウトプットを増やす。
去年はブログ9本、登壇0回、書籍出版0本だったので、今年は勉強したことの深い理解とエンジニアとしてプレゼンスを高めるために以下を目標に頑張りたい。
ブログ:2回/週 登壇:1回/月