tag:blogger.com,1999:blog-55896244150305398802024-03-24T16:10:28.266+09:00TECH BLOG技術ネタのブログです。blogdesk0http://www.blogger.com/profile/12345239435259903298noreply@blogger.comBlogger290125tag:blogger.com,1999:blog-5589624415030539880.post-84706874658137783512024-02-29T18:00:00.200+09:002024-02-29T18:00:00.131+09:00Prometheus で k8s 環境の監視に挑戦してみる 第5回 Grafanaで可視化<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
ホワイトボックス監視についてやっていこうかと思いましたが予定を変更して、Grafana での可視化をやっていきます。<br>
まずは、Grafana のサーバーを構築します。<br>
<br>
Grafana のインストール手順については以下から確認可能です。<br>
https://grafana.com/docs/grafana/latest/setup-grafana/installation/redhat-rhel-fedora/<br>
<br>
インストールのコマンドは以下から確認可能です。<br>
今回は CentOS を使いました。<br>
https://grafana.com/grafana/download<br>
<br>
インストール
<pre class="prettyprint">
# yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.3.1-1.x86_64.rpm
</pre>
インストール後の確認
<pre class="prettyprint">
# yum list installed | grep grafana
</pre>
systemctl で操作ができるようなので起動します。<br>
ちょっと時間かかるので待ちます。
<pre class="prettyprint">
# systemctl start grafana-server.service
</pre>
ついでに自動起動するようにしておきます。
<pre class="prettyprint">
# systemctl enable grafana-server.service
</pre>
Grafana は3000番ポートを使うので必要に応じて設定するか、ファイアウォールを停止してください。<br>
今回は検証環境なのでファイアウォールを停止・・・しようと思ったのですが、ChatGPT先生にポート開放の方法を聞いてみました。<br>
<br>
ポートの開放
<pre class="prettyprint">
firewall-cmd --zone=public --add-port=3000/tcp --permanent
</pre>
設定の読み込み
<pre class="prettyprint">
sudo firewall-cmd --reload
</pre>
これでOKなはず。<br>
Grafana にアクセスしてみたところ無事成功しました。<br>
初回ログイン時は、ユーザー/パスワードに admin を入れます。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHm8bFMzrHVziB2v2Q9xurWI3xHX4jm1aOk7PD532nOb9ykQizGbmQHo9ODmHb7cehNQQjTlxDy7eKuy-PYZ3SE0qM2XNJBkasf7BZNpBpRtF_ug3LFLb-FXj84JymqPGOHOIZYdWriZuMhNVly4OK_fKzGfRljtiltaJ2HV395HHb4Alr_Zcl14wAvOD1/s1868/WS000016.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="958" data-original-width="1868" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHm8bFMzrHVziB2v2Q9xurWI3xHX4jm1aOk7PD532nOb9ykQizGbmQHo9ODmHb7cehNQQjTlxDy7eKuy-PYZ3SE0qM2XNJBkasf7BZNpBpRtF_ug3LFLb-FXj84JymqPGOHOIZYdWriZuMhNVly4OK_fKzGfRljtiltaJ2HV395HHb4Alr_Zcl14wAvOD1/s600/WS000016.JPG"/></a></div>
新しいパスワードの入力を求められるので設定します。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-e48LIMJ1S-tk5xpyqVSej7cmN2pMvmN6Yg-Y0w0MguVqCQCWl4tQyGCYZXewxhmrE2sb8yH7-tHZnDPFI2rimynXS4g0fP40Fn1-OyzQsCt-NEpMPxWAFU3r6qSwbSpq3LBMk3nFV4Hm_hlSYsOpvnfMqxEkP9Wwy4Xqw3nBhdzPjQSS4peQ7mohMAzk/s1873/WS000017.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="961" data-original-width="1873" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-e48LIMJ1S-tk5xpyqVSej7cmN2pMvmN6Yg-Y0w0MguVqCQCWl4tQyGCYZXewxhmrE2sb8yH7-tHZnDPFI2rimynXS4g0fP40Fn1-OyzQsCt-NEpMPxWAFU3r6qSwbSpq3LBMk3nFV4Hm_hlSYsOpvnfMqxEkP9Wwy4Xqw3nBhdzPjQSS4peQ7mohMAzk/s600/WS000017.JPG"/></a></div>
ログイン出来たら、Prometheus をデータソースとして連携させます。<br>
「≡」からメニューを開き「Connections」をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLLN3x97FCwDLrB2AVY5Ty49LD1SyWfMiDMOJ44Cl78zmkC7n1XHTx8VQON_qnX3txAy7kGSdKls65MHnYAU1LdqHCKtR2m1Tx72c8W6XwPvVogDv2wRDHvK0TaI3t3t375QPnjwHMKAiDCxMWc9EtXdj7-4LrmYhZ4Qb6TALz3tuVa7xq9h_vrbhXUp41/s1873/WS000018.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="956" data-original-width="1873" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLLN3x97FCwDLrB2AVY5Ty49LD1SyWfMiDMOJ44Cl78zmkC7n1XHTx8VQON_qnX3txAy7kGSdKls65MHnYAU1LdqHCKtR2m1Tx72c8W6XwPvVogDv2wRDHvK0TaI3t3t375QPnjwHMKAiDCxMWc9EtXdj7-4LrmYhZ4Qb6TALz3tuVa7xq9h_vrbhXUp41/s600/WS000018.JPG"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdXwn6BXw9Cc42Vr56lanYRzHiZu6kskRny8OJk-NukyMCdzbBqCsZi5yyKmWcqH_SBEHK7QMe8Cn6joKx5Bi8kX_I8K1CVBGm53OiJ5CpIhUdXNfeO-bYkuTSS9jlGI3V2mtVBhbfewS1txVeA1oy1pQe7N1O6_nV6GAWrdMdHxFyhEBN7J5JdnXGk89w/s1867/WS000019.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="956" data-original-width="1867" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdXwn6BXw9Cc42Vr56lanYRzHiZu6kskRny8OJk-NukyMCdzbBqCsZi5yyKmWcqH_SBEHK7QMe8Cn6joKx5Bi8kX_I8K1CVBGm53OiJ5CpIhUdXNfeO-bYkuTSS9jlGI3V2mtVBhbfewS1txVeA1oy1pQe7N1O6_nV6GAWrdMdHxFyhEBN7J5JdnXGk89w/s600/WS000019.JPG"/></a></div>
「Data sources」をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKdlH0B2Q6QMzMdns_O80CmpL5NVa7x35_FnXPZu2K-i7UNHhEUlLKJw6cDhMTr_5JVif2o_HiDgRsVFQPnu_9F0Nl94I9QvukIZDBS_Ks1q7d6XGfxJ7ZiM4d1ENpj2BE8PTK5_38ymJY9_jCqS6bmWp9ZjyeB1__UTtcxd3YpbDMaFM5uDuN2_VPStKK/s1872/WS000020.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="959" data-original-width="1872" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKdlH0B2Q6QMzMdns_O80CmpL5NVa7x35_FnXPZu2K-i7UNHhEUlLKJw6cDhMTr_5JVif2o_HiDgRsVFQPnu_9F0Nl94I9QvukIZDBS_Ks1q7d6XGfxJ7ZiM4d1ENpj2BE8PTK5_38ymJY9_jCqS6bmWp9ZjyeB1__UTtcxd3YpbDMaFM5uDuN2_VPStKK/s600/WS000020.JPG"/></a></div>
「Add data source」をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTCi5OFiF-f_mITC7FzIGE5TBxo5vKDQvY0pKG4HIk_no4UlwnDKHP8XPAmf-k8W0ETKFQonmKW_oo8w9UnKQIqDWRKkN7lshvvbiC4gSfUcemsk_xqUo4R2XSatkYKtLClliQpfSY7qBNrykPCRN5suMbtTuYv-x8mtBl0zlnX3l3lZr5qWgKSztDNlvi/s1865/WS000021.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="955" data-original-width="1865" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTCi5OFiF-f_mITC7FzIGE5TBxo5vKDQvY0pKG4HIk_no4UlwnDKHP8XPAmf-k8W0ETKFQonmKW_oo8w9UnKQIqDWRKkN7lshvvbiC4gSfUcemsk_xqUo4R2XSatkYKtLClliQpfSY7qBNrykPCRN5suMbtTuYv-x8mtBl0zlnX3l3lZr5qWgKSztDNlvi/s600/WS000021.JPG"/></a></div>
「Prometheus」をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihWnyiQsjqhitUhyPSe3fEv3mpdx-1A7ULMYJ0PbRGey8NYHqAq97bk2MiyetQg6HipycIXEFMa4Pjn-7NTcRApz4SNXSSmsaKbIOR73QuXvUqOCe_8ladTt6XcLxnPKbDsG5bjKuPw1rJ-grPXjCB5gVYPD-2ZnQuxz6RHAex2aX9TrL3DoblTSVY9YiT/s1866/WS000022.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="954" data-original-width="1866" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihWnyiQsjqhitUhyPSe3fEv3mpdx-1A7ULMYJ0PbRGey8NYHqAq97bk2MiyetQg6HipycIXEFMa4Pjn-7NTcRApz4SNXSSmsaKbIOR73QuXvUqOCe_8ladTt6XcLxnPKbDsG5bjKuPw1rJ-grPXjCB5gVYPD-2ZnQuxz6RHAex2aX9TrL3DoblTSVY9YiT/s600/WS000022.JPG"/></a></div>
「Prometheus server URL」に、http://<Prometheus サーバーのIPかFQDN:9090> を入力します。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6xmzJGGQkAidY_p7xMlhkgRyFHtCBfoWSR2tp6XUvEfVNZ-GMASp-aQk6n7arApNdcvgxWC8FUHWY_PBW2-85Toul8C28TT9EbbPatPD6Tl51-AjcIqUJrPDu5ECjiwfGtHs8vdTPGJGJpjHXGKurIsS5aXw6jZeDqvcz_lui8bPW9hrb6DN4Dkp_fXf/s1869/WS000023.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="963" data-original-width="1869" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6xmzJGGQkAidY_p7xMlhkgRyFHtCBfoWSR2tp6XUvEfVNZ-GMASp-aQk6n7arApNdcvgxWC8FUHWY_PBW2-85Toul8C28TT9EbbPatPD6Tl51-AjcIqUJrPDu5ECjiwfGtHs8vdTPGJGJpjHXGKurIsS5aXw6jZeDqvcz_lui8bPW9hrb6DN4Dkp_fXf/s600/WS000023.JPG"/></a></div>
「Save & test」をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRQtzn9O4rFs_UNx1fOSXR8X2HQHwcM-Kz64y2Eimgn-UFQ7208LJ6xS3moKdHaYM99EqQdhE76RMa52oTMouhZ2uWNSUcV77skKAC0ITcm7qGv2SBY5fOhEeEKoouL_Yfcrk8KdST0sTo_9vG0jkL4BL9KT9fqp32u9EtkpOG830mDNWJgXbC_kcGyyWK/s1865/WS000024.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="951" data-original-width="1865" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRQtzn9O4rFs_UNx1fOSXR8X2HQHwcM-Kz64y2Eimgn-UFQ7208LJ6xS3moKdHaYM99EqQdhE76RMa52oTMouhZ2uWNSUcV77skKAC0ITcm7qGv2SBY5fOhEeEKoouL_Yfcrk8KdST0sTo_9vG0jkL4BL9KT9fqp32u9EtkpOG830mDNWJgXbC_kcGyyWK/s600/WS000024.JPG"/></a></div>
成功すると以下のようにメッセージが出ます。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2PxjAuy3bqh4SLp9X4kqha32A8y6gX0omz0_nAN3VEbnTt7WLqSCoqMfsB3icWfOsyeSr1GcsHRv7QbABl1IugaFI4Ml9OplvgpgP2FjdEBYOodNzkoLjR8j8wsQPGqEwaLiknZ3cZ8qHFvu2qHJqKMDOWkCCjOJpWT1ETtP0NXmy5AmXozL46-VGJJar/s1871/WS000026.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="948" data-original-width="1871" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2PxjAuy3bqh4SLp9X4kqha32A8y6gX0omz0_nAN3VEbnTt7WLqSCoqMfsB3icWfOsyeSr1GcsHRv7QbABl1IugaFI4Ml9OplvgpgP2FjdEBYOodNzkoLjR8j8wsQPGqEwaLiknZ3cZ8qHFvu2qHJqKMDOWkCCjOJpWT1ETtP0NXmy5AmXozL46-VGJJar/s600/WS000026.JPG"/></a></div>
これで Grafana が Prometheus を使用してデータの可視化ができるようになりました。
それでは、どのようなデータを可視化するのかを設定する Dashboard を設定していきたいと思います。
「≡」からメニューを開き「Dashboards」を表示します。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi049cZY_AUIr2kpoOyvEUIEnUx079PLwser-jTcrre_KB6le0pdMJbbQm3dcXk_V6lZRP3M1Xi-AdvaCxuuwZBGUQPrizWOTTmFj8eXDZYH8anMcqejI7wg70qD5my-RNPUMR_JBQVx4-hBw4pym9HkGKOo3On2fxLR3Dc86mRv1AUmC6wUr9pBUqzkCXf/s1865/WS000027.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="666" data-original-width="1865" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi049cZY_AUIr2kpoOyvEUIEnUx079PLwser-jTcrre_KB6le0pdMJbbQm3dcXk_V6lZRP3M1Xi-AdvaCxuuwZBGUQPrizWOTTmFj8eXDZYH8anMcqejI7wg70qD5my-RNPUMR_JBQVx4-hBw4pym9HkGKOo3On2fxLR3Dc86mRv1AUmC6wUr9pBUqzkCXf/s600/WS000027.JPG"/></a></div>
「NEW」をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_wUaBe1jFXRT_7hTBTfQjQ_hGmj72WLMdvUNWOxUdlOTqoqmdQArELKerQYhWk4E_eGyiY10Xpzd31IyFm79JwfoOpLG2bl0KAVi_dUzcdGu6qF-yEHV_iK-CL7s33JEWeWbXm5VBaHPqZtuwnaBvDmw-696e7K_gpePKilj4X4ehuGEX43VaRplQypUP/s1874/WS000028.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="873" data-original-width="1874" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_wUaBe1jFXRT_7hTBTfQjQ_hGmj72WLMdvUNWOxUdlOTqoqmdQArELKerQYhWk4E_eGyiY10Xpzd31IyFm79JwfoOpLG2bl0KAVi_dUzcdGu6qF-yEHV_iK-CL7s33JEWeWbXm5VBaHPqZtuwnaBvDmw-696e7K_gpePKilj4X4ehuGEX43VaRplQypUP/s600/WS000028.JPG"/></a></div>
「NEW Dashborad」をクリックします。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz0bFIxeh4y5uNTV1ZrerNwu-uFOVgcGHCHa0DsJnRV3qMdRRW8yBDn4m47SpWRM4XgBQbdu-O2x2sSR23GiadVKKKUZR1rEk2jGdgQ8lIOPDfVyIrxNSZNsXqJLjp9AgkRHIwTPpl4RcJXSM5GyH2u68IeTOlT65CWq8pMNpm2LaeSmdpQT3lbxnFXR49/s1869/WS000029.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="876" data-original-width="1869" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz0bFIxeh4y5uNTV1ZrerNwu-uFOVgcGHCHa0DsJnRV3qMdRRW8yBDn4m47SpWRM4XgBQbdu-O2x2sSR23GiadVKKKUZR1rEk2jGdgQ8lIOPDfVyIrxNSZNsXqJLjp9AgkRHIwTPpl4RcJXSM5GyH2u68IeTOlT65CWq8pMNpm2LaeSmdpQT3lbxnFXR49/s600/WS000029.JPG"/></a></div>
「Add Visualization」をクリックします。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixvW9jqBZfjEywO1I8OBk-GynFjKC_nO7d7YHTU-8VVKkBvJ0wW82ANxKugkoA4WIRl66Pu17WDbnqIEEaUlBbNanv2lFC0YwMrjosUzt_Rsu3AnS8dl4Q9sQpbi4uOkflsGfs8Pjavk2yayJJvRKzWeTCMp4ogWdakHkbodokVpT9NnZ_ps4eAglAAoVZ/s1874/WS000030.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1002" data-original-width="1874" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixvW9jqBZfjEywO1I8OBk-GynFjKC_nO7d7YHTU-8VVKkBvJ0wW82ANxKugkoA4WIRl66Pu17WDbnqIEEaUlBbNanv2lFC0YwMrjosUzt_Rsu3AnS8dl4Q9sQpbi4uOkflsGfs8Pjavk2yayJJvRKzWeTCMp4ogWdakHkbodokVpT9NnZ_ps4eAglAAoVZ/s600/WS000030.JPG"/></a></div>
Dashboard の作成画面は3つのエリアに分かれていてそれぞれ以下の役割を持っています。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMNAhIFA4uC66QxRJsZd1Qd_p5YyTwp_pzUgoDkX5u1XJJRTWQIE2hC8Ld_29OJAm2zaHlds1Kk6GhArf1a2zT3SSj2EveIWlO641Ce6FOaqZrNHYhi70LV1hSW8xXVwbASqUtio5S3pxw3Pxu3EHw_Y1gSDsQT4PiQWVwik0GUNX9TGrkHc1mrSSAGQ0D/s1280/%E9%81%A9%E5%BD%93%E3%81%AA%E5%9B%B3.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="720" data-original-width="1280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMNAhIFA4uC66QxRJsZd1Qd_p5YyTwp_pzUgoDkX5u1XJJRTWQIE2hC8Ld_29OJAm2zaHlds1Kk6GhArf1a2zT3SSj2EveIWlO641Ce6FOaqZrNHYhi70LV1hSW8xXVwbASqUtio5S3pxw3Pxu3EHw_Y1gSDsQT4PiQWVwik0GUNX9TGrkHc1mrSSAGQ0D/s600/%E9%81%A9%E5%BD%93%E3%81%AA%E5%9B%B3.jpg"/></a></div>
主にクエリエリアで何を表示するかクエリを設定します。<br>
それでは設定してみましょう。<br>
クエリエリアの「Metric」で「Select metric」をクリックし、どのメトリックでデータを収集するか指定します。<br>
今回は、アクティブなメモリの動きを見てみようと思います。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbESQwQPgvuM1Jw3TwlQ2k58VYUdUDQw2huRaO4Ta8oM_igeQSD7GFh838mcJRcMkxiGtC5nMOELa-8A9dbyiGpK5tcMBnkGkOSLgmlYzGLP63LsK8V5zxG3rBDxQSLs8Od3gLREY8lUhZY9ilrA1Dkd_Y6Dk4xTPJWdFFKsDXzyV_GCWBwAqgEUAYFBeL/s1259/WS000032.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1115" data-original-width="1259" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbESQwQPgvuM1Jw3TwlQ2k58VYUdUDQw2huRaO4Ta8oM_igeQSD7GFh838mcJRcMkxiGtC5nMOELa-8A9dbyiGpK5tcMBnkGkOSLgmlYzGLP63LsK8V5zxG3rBDxQSLs8Od3gLREY8lUhZY9ilrA1Dkd_Y6Dk4xTPJWdFFKsDXzyV_GCWBwAqgEUAYFBeL/s600/WS000032.JPG"/></a></div>
プレビューエリアの右上にある更新ボタンで、設定したクエリのプレビューを確認します。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg9Th7qFz3M074CiEmzZlwipbCpK5OvUT9_kzECaOtqu66rqz9Nk9X52PulR8tyQfJ6pCTPjeO4-2oDIOJQpFqQOaXuW13p3kBCjrn_bgbsiRpIQa9TMPckiETv9cdT-YUVTYcTjo29W-fDHz4hLLX4RhlHtQR7uAUGquqlo1bFzmr9RjKkz7DOZJYIjnC/s1267/WS000034.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1106" data-original-width="1267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg9Th7qFz3M074CiEmzZlwipbCpK5OvUT9_kzECaOtqu66rqz9Nk9X52PulR8tyQfJ6pCTPjeO4-2oDIOJQpFqQOaXuW13p3kBCjrn_bgbsiRpIQa9TMPckiETv9cdT-YUVTYcTjo29W-fDHz4hLLX4RhlHtQR7uAUGquqlo1bFzmr9RjKkz7DOZJYIjnC/s600/WS000034.JPG"/></a></div>
これで表示が可能になったため、保存して確認してみます。
右上にある「Save」をクリックします。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQy9Qa7r8lyzDqg7WpxHGvHAAkqiMOzmq7vbRjsolwPK0NQSDKUxduWyYs8eYUubNlv4prbvj3KFYODLz9yhK5ZYPkuV_1K_-gj6NW2nm_TOZ2kvcwRo72eb6ySXcujeIlPagkWaWdyLm8BhSiJwvVnj5WaY7qqoTvVu09KrnoTBePB1vJTRdPKg8_LlAy/s1866/WS000035.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="653" data-original-width="1866" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQy9Qa7r8lyzDqg7WpxHGvHAAkqiMOzmq7vbRjsolwPK0NQSDKUxduWyYs8eYUubNlv4prbvj3KFYODLz9yhK5ZYPkuV_1K_-gj6NW2nm_TOZ2kvcwRo72eb6ySXcujeIlPagkWaWdyLm8BhSiJwvVnj5WaY7qqoTvVu09KrnoTBePB1vJTRdPKg8_LlAy/s600/WS000035.JPG"/></a></div>
Dashborad の名前などを設定する画面が表示されますので必要に応じて設定を行い「Save」をクリックします。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9HJTGCFARpkLqs69IkzY8805bSx6SSWyZDvjQinVzPYM4pRkLJ14WQkBQRk8j0DJa2dvjjLn6VSB1KiqZKHciShcX21DjOPi7jo3UESOtXDll-lc2vNqqIlA78AmW0F0tbdmJ7QB87rTpD32nzd_5Vk0TmZZqTr6SBmV4sIQ0nale9Q5yYmjnimNkPHy7/s594/WS000036.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="600" data-original-height="594" data-original-width="435" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9HJTGCFARpkLqs69IkzY8805bSx6SSWyZDvjQinVzPYM4pRkLJ14WQkBQRk8j0DJa2dvjjLn6VSB1KiqZKHciShcX21DjOPi7jo3UESOtXDll-lc2vNqqIlA78AmW0F0tbdmJ7QB87rTpD32nzd_5Vk0TmZZqTr6SBmV4sIQ0nale9Q5yYmjnimNkPHy7/s600/WS000036.JPG"/></a></div>
Dashborad が作成されました。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoVHV8vZhgnYQbIvmX7vwMJt3kwfiJjnWEFvbrADMaLTiCSUZaOTWO59gzVPWwF-ZRNX2pykF0Zl4kY62Rkzu6TQYJI1RCrQuWDdqMZt4C4gES1Qhm7aiBfK0owtSIT-rnYWCFlkxRcaEgtJ0qBMfI8ZIVpGq6DmIZyGuvZK9ka5FhtQO-uyzIuXCAaqHr/s1059/WS000037.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="611" data-original-width="1059" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoVHV8vZhgnYQbIvmX7vwMJt3kwfiJjnWEFvbrADMaLTiCSUZaOTWO59gzVPWwF-ZRNX2pykF0Zl4kY62Rkzu6TQYJI1RCrQuWDdqMZt4C4gES1Qhm7aiBfK0owtSIT-rnYWCFlkxRcaEgtJ0qBMfI8ZIVpGq6DmIZyGuvZK9ka5FhtQO-uyzIuXCAaqHr/s600/WS000037.JPG"/></a></div>
この様に Dashboardを自作することができますがこれを一から必要なものすべて作るのは大変です。<br>
実は、Grafana では誰かが作って公開してくれている Dashboard をインポートする機能があります。<br>
それを使えば使いやすい Dashboard がすぐに使えるということですので、早速試してみたいと思います。<br>
<br>
Grafana の Dashboard のページ<br>
https://grafana.com/grafana/dashboards/<br>
<br>
ここで利用する Dashboard を探してIDかURLをコピーして使うか、JSONをダウンロードして使います。<br>
今回は、Node Exporter Full を使うことにしました。<br>
URLやID、JSONファイルは右下から利用可能です。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNYN4NVyyKxNQxGtp8wO3abiMpqaxUMEskaD7A_u7gw0tbM8cz5-0IcIy2qPWGqKHrtM1vqW4R_rSYwMAQR4OA8X96PsLskKQ_Rq8PW8jDw6b7-piyzvg15Ll0zfq4C1b2SNNbc_cKEWjfiX43vQ4ZgmICA4K49UcyJ31799gqIbJM1VPwK-K4gqYcGNaY/s2010/WS000039.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1240" data-original-width="2010" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNYN4NVyyKxNQxGtp8wO3abiMpqaxUMEskaD7A_u7gw0tbM8cz5-0IcIy2qPWGqKHrtM1vqW4R_rSYwMAQR4OA8X96PsLskKQ_Rq8PW8jDw6b7-piyzvg15Ll0zfq4C1b2SNNbc_cKEWjfiX43vQ4ZgmICA4K49UcyJ31799gqIbJM1VPwK-K4gqYcGNaY/s600/WS000039.JPG"/></a></div>
Grafana に戻り Dashbord の作成に入ります。<br>
先ほどと同じように「NEW」をクリックしますが、そこで「Import」を選択します。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlidKKcWfRGykIwLV0KjmGRr2hf-EqfWunrNH1g9B-TyYaw34SKf6WUx9HussQXzt2EN6f5QsEQD9y1lJTSPX0AwvGG7JtneuGpz6cmWDX8NKy73QRlJ_WtgPEcGG32qchANiMlf5kL1_yWbTikTGFuMJvqUMle7O0zKTc_mKZFzfQYFOBMjDt9npNiAPQ/s1873/WS000038.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="417" data-original-width="1873" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlidKKcWfRGykIwLV0KjmGRr2hf-EqfWunrNH1g9B-TyYaw34SKf6WUx9HussQXzt2EN6f5QsEQD9y1lJTSPX0AwvGG7JtneuGpz6cmWDX8NKy73QRlJ_WtgPEcGG32qchANiMlf5kL1_yWbTikTGFuMJvqUMle7O0zKTc_mKZFzfQYFOBMjDt9npNiAPQ/s600/WS000038.JPG"/></a></div>
使用する Dashboard のURLかIDの入力または、JSONファイルをアップロードします。<br>
ここではIDを読み込ませました。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyDE3GVVYUHL93wmlFuK5m4NDEPWtfI6ZTmzHCkU0WhllmBcwx3DxywFVqKOOncMqCV59xHgbpj612rXOdhS7bJoxMk5eT4mrGkR2W4Bf_HXNFAkbEbm0ZcjW2UnD_rxMGM_q3D0qQiidV_hI6iPm0JWuYTUSQFqG4LzAbNRKb_KOWJnf5izd3VBRff0zk/s1399/WS000041.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1120" data-original-width="1399" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyDE3GVVYUHL93wmlFuK5m4NDEPWtfI6ZTmzHCkU0WhllmBcwx3DxywFVqKOOncMqCV59xHgbpj612rXOdhS7bJoxMk5eT4mrGkR2W4Bf_HXNFAkbEbm0ZcjW2UnD_rxMGM_q3D0qQiidV_hI6iPm0JWuYTUSQFqG4LzAbNRKb_KOWJnf5izd3VBRff0zk/s600/WS000041.JPG"/></a></div>
「Prometheus」で登録してある Prometheus を選択します。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWNNw4TtcYQoUFRInK2J5tdWYb3uGytjUoSdJEb0O115LK-n3Ek2Vqe5_58OlyJaemBJ8Bo5eV7GR5LSuJICTJUOjMFqP11cblTSikU7XBSzYi3Flrlyj_wa4_LjCw7kll4vGh95ZJMBu1VT-5SCPYLV2v8mFSDGnFW56IL2Vhb7sxV7pTW424vnHgg921/s1411/WS000042.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1128" data-original-width="1411" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWNNw4TtcYQoUFRInK2J5tdWYb3uGytjUoSdJEb0O115LK-n3Ek2Vqe5_58OlyJaemBJ8Bo5eV7GR5LSuJICTJUOjMFqP11cblTSikU7XBSzYi3Flrlyj_wa4_LjCw7kll4vGh95ZJMBu1VT-5SCPYLV2v8mFSDGnFW56IL2Vhb7sxV7pTW424vnHgg921/s600/WS000042.JPG"/></a></div>
「Import」をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheefS9uqEA_ufg5AEo_oUFa-OlrifJO5p3BpFxewnDgtSZoMHZEN1wiQHRk6I8CWLvvPO0BPKjrcBk9xGlOvGWJLC3JkTYnYJJ5TdfHtHKBNctlx5awgZJKXW5D-cvCKNoNhY-IXP9Ryuay2Js8aEWBnMtrSP79AepwG9Bnwb41OvhKUEOqjRdnP9Ahge6/s1353/WS000043.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1098" data-original-width="1353" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheefS9uqEA_ufg5AEo_oUFa-OlrifJO5p3BpFxewnDgtSZoMHZEN1wiQHRk6I8CWLvvPO0BPKjrcBk9xGlOvGWJLC3JkTYnYJJ5TdfHtHKBNctlx5awgZJKXW5D-cvCKNoNhY-IXP9Ryuay2Js8aEWBnMtrSP79AepwG9Bnwb41OvhKUEOqjRdnP9Ahge6/s600/WS000043.JPG"/></a></div>
おお・・・カッコイイ。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBHBm9PnFGNzCscD5bppz8X6X5Gmqvdd9jBB1fEtky5Cc_To0riDfnOFVv3chzdvvRofch2wy48LOlXPqwWr0_PKsypRRsphXbvdosghD9l2QF1MDEu4UxEkfUhsLuEkBPIVKITg1pBmUMD1FRnVpvGX82TRXxrC7nzE4AONTbWkT8L7bTU5jqamQs6_Ue/s1865/WS000044.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="994" data-original-width="1865" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBHBm9PnFGNzCscD5bppz8X6X5Gmqvdd9jBB1fEtky5Cc_To0riDfnOFVv3chzdvvRofch2wy48LOlXPqwWr0_PKsypRRsphXbvdosghD9l2QF1MDEu4UxEkfUhsLuEkBPIVKITg1pBmUMD1FRnVpvGX82TRXxrC7nzE4AONTbWkT8L7bTU5jqamQs6_Ue/s600/WS000044.JPG"/></a></div>
というわけで今回は、Prometheus の情報を可視化してくれる Grafana の構築と連携、Dashbord を使用した Prometheus のデーター可視化方法についてやってみました。<br>
ではまた次回<br>
hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-55859443114385753322024-01-31T18:00:00.005+09:002024-01-31T18:00:00.135+09:00Prometheus で k8s 環境の監視に挑戦してみる 第4回 ブラックボックス監視<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
今回は、Prometheus を使ったブラックボックス監視について実施してみたいと思います。<br>
ブラックボックス監視とは、システムを外部からのアクセスで状態を確認することのようです。<br>
pingを実行して死活監視を行うような監視の仕方がこれに該当するようです。<br>
対義語として、システム内部のアプリケーションの動作や連携を監視するホワイトボックス監視があります。<br>
<br>
Prometheus でどのようにブラックボックス監視を行うのかというと、それ用のエクスポーター blackbox_exporter があるのでそれを使います。<br>
こちらは node_exporter のように監視対象に導入するのではなく blackbox_exporter から監視対象へ確認を実行できます。<br>
その情報を Prometheus へ連携して確認することができ、Prometheus と blackbox_exporter は同居させることもできます。<br>
<br>
なのでイメージとしてはこんな感じに<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBRmZskshEBNTTMdn_MbYXZc4fhy_vYOeyvS2SOf2Wn2MtVE_OA-JTo2DFr5CJVkcNfKa87JWJSxOq1Cdin-oPxeZ7zhfYJejgd12hSjkEao_RUSNpOdyAii3mIR3UHJn0VTN5KsZ75M0UGiTWifJntLSlCqMww8N0ELvX8m0iOX7T7ZYTD31Xej5t8-ls/s1280/nodeexporter.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="720" data-original-width="1280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBRmZskshEBNTTMdn_MbYXZc4fhy_vYOeyvS2SOf2Wn2MtVE_OA-JTo2DFr5CJVkcNfKa87JWJSxOq1Cdin-oPxeZ7zhfYJejgd12hSjkEao_RUSNpOdyAii3mIR3UHJn0VTN5KsZ75M0UGiTWifJntLSlCqMww8N0ELvX8m0iOX7T7ZYTD31Xej5t8-ls/s600/nodeexporter.png"/></a></div>
では、導入していきましょう<br>
node_exporter で実施可能なブラックボックス監視の種類は以下の4つのプロトコルが利用可能です。<br>
・HTTP → HTTPサーバーにリクエストを送ってその応答で監視<br>
・TCP → SSH等のTCPを使用してその応答で監視<br>
・DNS → DNSサーバにクエリを実行しその結果でレコードの内容などを監視<br>
・ICMP → pingを実行してその応答で監視<br>
<br>
今回は ping での死活監視をやってみたいと思います。<br>
まずはモジュールのダウンロード<br>
<pre class="prettyprint">
# wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.24.0/blackbox_exporter-0.24.0.linux-amd64.tar.gz
</pre>
解凍します
<pre class="prettyprint">
# tar zxvf blackbox_exporter-0.24.0.linux-amd64.tar.gz
</pre>
ディレクトリを移動します
<pre class="prettyprint">
# cd blackbox_exporter-0.24.0.linux-amd64
</pre>
以下で起動可能です。
blackbox_exporter はport9115でアクセスします
<pre class="prettyprint">
# nohup ./node_exporter > /dev/null 2>&1 &
</pre> <br>
起動ができたら、ブラウザから blackbox_exporter が起動しているサーバーのport9115にアクセスして以下のような画面が出るか確認します。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmlvs-a7G0tkrBEXPBxKRHEBujstmecEUQn_RGLdunKO9nvj5_6ixrx-Y-qZcDCZl0ERdcD7hOBkNjUgGxn2dQT2j2uM6RqUzGWaaOwG4lqVDGZPtJfvebRzZrlge_nAyun9cwGk3dgPvw6RfuGWoIya3rahdARD4qoQvuqOPC-4Mz6YLJonOxdDS2Plih/s712/WS000000.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="358" data-original-width="712" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmlvs-a7G0tkrBEXPBxKRHEBujstmecEUQn_RGLdunKO9nvj5_6ixrx-Y-qZcDCZl0ERdcD7hOBkNjUgGxn2dQT2j2uM6RqUzGWaaOwG4lqVDGZPtJfvebRzZrlge_nAyun9cwGk3dgPvw6RfuGWoIya3rahdARD4qoQvuqOPC-4Mz6YLJonOxdDS2Plih/s600/WS000000.JPG"/></a></div>
<br>
続いて監視対象に対して監視が実行できるか以下のコマンドを実行します<br>
<pre class="prettyprint">
# curl 'http://localhost:9115/probe?module=icmp&target=dev-nfs-01'
</pre>
curl で指定している内容ですが、『blackbox_exporter』『実行する監視内容』『監視対象』を指定しています。<br>
・blackbox_exporter → http://localhost:9115/probe<br>
・実行する監視内容 → module=icmp<br>
・監視対象 → target=dev-nfs-01<br>
<br>
実行してみると以下のようにいろいろ情報が出てきますが、最後に probe_success 1 と出たら成功しています。<br>
<pre class="prettyprint">
# curl 'http://localhost:9115/probe?module=icmp&target=dev-nfs-01'
# HELP probe_dns_lookup_time_seconds Returns the time taken for probe dns lookup in seconds
# TYPE probe_dns_lookup_time_seconds gauge
probe_dns_lookup_time_seconds 0.001482621
# HELP probe_duration_seconds Returns how long the probe took to complete in seconds
# TYPE probe_duration_seconds gauge
probe_duration_seconds 0.002647711
# HELP probe_icmp_duration_seconds Duration of icmp request by phase
# TYPE probe_icmp_duration_seconds gauge
probe_icmp_duration_seconds{phase="resolve"} 0.001482621
probe_icmp_duration_seconds{phase="rtt"} 0.000778443
probe_icmp_duration_seconds{phase="setup"} 0.00015706
# HELP probe_icmp_reply_hop_limit Replied packet hop limit (TTL for ipv4)
# TYPE probe_icmp_reply_hop_limit gauge
probe_icmp_reply_hop_limit 64
# HELP probe_ip_addr_hash Specifies the hash of IP address. It's useful to detect if the IP address changes.
# TYPE probe_ip_addr_hash gauge
probe_ip_addr_hash 2.973617495e+09
# HELP probe_ip_protocol Specifies whether probe ip protocol is IP4 or IP6
# TYPE probe_ip_protocol gauge
probe_ip_protocol 4
# HELP probe_success Displays whether or not the probe was a success
# TYPE probe_success gauge
probe_success 1
</pre>
<br>
この『'http://localhost:9115/probe?module=icmp&target=dev-nfs-01'』を Prometheus から blackbox_exporter へ実行させるように設定変更を行うことで、Promethuesの『Targets』から結果を確認できるようになります。<br>
prometheus.yml を編集するのでその前にコピーを取っておいてください。<br>
<br>
編集内容は『scrape_configs:』フィールドに以下の形で情報を記入します。<br>
<pre class="prettyprint">
scrape_configs:
- job_name: "blackbox_icmp_v4"
metrics_path: /probe
params:
module: [icmp]
static_configs:
- targets: ["dev-nfs-01"]
relabel_configs:
- source_labels: [__address__]
target_label: instance
- source_labels: [__address__]
target_label: __param_target
- target_label: __address__
replacement: localhost:9115
</pre>
その後は、Promethues を停止して再起動します。<br>
<br>
再起動が終わったら Promethues で Target を見てみましょう。<br>
『blackbox_icmp_v4』が追加され監視が行われていることがわかります。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDnnscd8T9eO41nBJFpMr1ZNNBpt03SUdlGKpBqz8tyEiBXOIuljN8c9B8SH84vSY1M2zJAwHHJkN3qvbAeR-SvZwqN8QNsEi5aDZzrzPekEhY2MAU_4ky6tPDdUIFnnDOFev4cUjnvLnb-dm66qBCal4eWHk8RGppXcZsWFJ6eTwhaWfXXYu2Qf0JXNXp/s2080/WS0000001.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="966" data-original-width="2080" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDnnscd8T9eO41nBJFpMr1ZNNBpt03SUdlGKpBqz8tyEiBXOIuljN8c9B8SH84vSY1M2zJAwHHJkN3qvbAeR-SvZwqN8QNsEi5aDZzrzPekEhY2MAU_4ky6tPDdUIFnnDOFev4cUjnvLnb-dm66qBCal4eWHk8RGppXcZsWFJ6eTwhaWfXXYu2Qf0JXNXp/s600/WS0000001.JPG"/></a></div>
今回はサーバーの状態を外から確認するブラックボックス監視についてやってみました。<br>
次回はサーバーの中で動いているものを監視するホワイトボックス監視についてやってみようと思います。<br>
hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-50328175646563712342024-01-14T00:00:00.000+09:002024-01-14T00:28:48.698+09:00CSV利用してADにユーザー一括作成。。<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiMj6pLhHepP3YMuKTrdYht0HpvhQBrCFZx2EFjnIsa_5XGifszhb2E9jGWP9aphwknARhiow7OifgZhFPtgj8wTd7zbFQAnlqOHGkNFclbJVYuKSHVBjBVCTrSnInDWICr7R2jABDT1gfYWMB7kEZqBtoyDhaRyN436W_-cwpHzYlrlh0rdTyG2px39gY" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="378" data-original-width="400" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiMj6pLhHepP3YMuKTrdYht0HpvhQBrCFZx2EFjnIsa_5XGifszhb2E9jGWP9aphwknARhiow7OifgZhFPtgj8wTd7zbFQAnlqOHGkNFclbJVYuKSHVBjBVCTrSnInDWICr7R2jABDT1gfYWMB7kEZqBtoyDhaRyN436W_-cwpHzYlrlh0rdTyG2px39gY" width="254" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div style="text-align: left;">ADで検証するときに複数ユーザー欲しいときがあります、、よね。</div><div style="text-align: left;">いろいろなところに情報があるのでブログを書くまでもないのですが、、<br />今後、自分が検証環境で使うときにすぐ使えるためのメモとして残します。。</div></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">利用した環境:Windows Server 2022(評価版)</div><div class="separator" style="clear: both; text-align: left;">ゴール:”Grp001-B-支社”にユーザーを一括作成<br />完成図↓</div><div class="separator" style="clear: both; text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEijtCO2aIUBV06g3I5Aq5a9FXodvBzDQVXGAsZV9O7xE-HDqhTW7P_HZ7_tY0bf6hyIcyobSs_rXzxViAxOt0m3nFL2b8VrpxVPFMivzWH2UzgkWAVvcZTb7fSppLATv54RDTY6m0YELv2z2sWN7h7hk8IGbsX3x0x8i4MY73F68nr4W0RFtM0YldOYq_c" style="margin-left: auto; margin-right: auto;"><img alt="" data-original-height="614" data-original-width="1630" height="151" src="https://blogger.googleusercontent.com/img/a/AVvXsEijtCO2aIUBV06g3I5Aq5a9FXodvBzDQVXGAsZV9O7xE-HDqhTW7P_HZ7_tY0bf6hyIcyobSs_rXzxViAxOt0m3nFL2b8VrpxVPFMivzWH2UzgkWAVvcZTb7fSppLATv54RDTY6m0YELv2z2sWN7h7hk8IGbsX3x0x8i4MY73F68nr4W0RFtM0YldOYq_c=w400-h151" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"></td></tr></tbody></table><br /><div class="separator" style="clear: both;"><div style="text-align: left;">実現までのステップ</div><div style="text-align: left;"><ol style="text-align: left;"><li>グループを使う場合は、先にグループを作成する</li><li>dsadd userコマンドでOU内に作成したいユーザーを作成できるコマンドを確定する</li><li>一括ユーザー作成用のパラメーターCSVを作成する</li><li>実行コマンド作成</li><li>コマンドプロンプト(管理者権限)でコマンド実行</li><li>作成できたことを確認する</li></ol><br /></div><div style="text-align: left;">1.グループを使う場合は、先にグループを作成する</div><div style="text-align: left;"> 一括作成したユーザをグループに登録する場合は、先にグループを作成しておく</div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi1oil1u5mrNF7UpsEgYNgMw3jCHM5dQ2dsmogQRw7BJpqUli1e5iOxSMZzw6WBhePhmukD-Nh8axEvHSIzul-lbJMjGbF_VUZMN94Slfo0dMOOiHwr6uUwJFTRVAIeaOCkNRb3RqumcvoB7ycZMu783qsxjC-7_ml8Ex6_ccWl2L7HGuxgAu1EsKKZPIA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="564" data-original-width="702" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEi1oil1u5mrNF7UpsEgYNgMw3jCHM5dQ2dsmogQRw7BJpqUli1e5iOxSMZzw6WBhePhmukD-Nh8axEvHSIzul-lbJMjGbF_VUZMN94Slfo0dMOOiHwr6uUwJFTRVAIeaOCkNRb3RqumcvoB7ycZMu783qsxjC-7_ml8Ex6_ccWl2L7HGuxgAu1EsKKZPIA" width="299" /></a></div><br /><div>2.dsadd userコマンドでOU内に作成したいユーザーを作成できるコマンドを確定する</div>ユーザーを1つ作成できるコマンドとパラメーターを確定する<br />作成するユーザー</div><div style="text-align: left;">・OU”Grp001-B-支社”にユーザーを作成<br />・作成したユーザーをグループ”Grp001-B-支社-一般”に追加</div><div style="text-align: left;">・氏名、モバイル、社員番号、会社情報、部署、役職など必要パラメーターを設定する<br /> ※モバイル番号はダミー番号を使用する(テストなので、、)</div><div style="text-align: left;"> ダミー番号は総務省ホームページ参照 → <a href="https://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/number_shitei.html" rel="nofollow" target="_blank">☆リンク☆</a></div><div style="text-align: left;"> </div><div style="text-align: left;">作成したスクリプト例:</div><div style="text-align: left;"><blockquote>dsadd user CN="Grp001-B-GA user01",OU=Grp001-B-支社,OU=Grp001-総務,DC=site001,DC=demo,DC=test -ln Grp001-B-GA -fn user01 -empid 20100001 -mobile 070-XXXX-XXXX -pwd "パスワード" -pwdneverexpires yes -samid grp01-b-ga-user01 -upn grp01-b-ga-user01@site001.demo.test -email grp01-b-ga-user01@site001.demo.test -display "Grp001-B-GA user01" -company "TEST Lab Co.Ltd." -office "支社" -dept "総務部" -title "一般" -memberof cn="Grp001-B-支社-一般",OU="Grp001-B-支社",OU="Grp001-総務",DC="site001",DC="demo",DC="test"</blockquote></div></div><div style="text-align: left;"><div>3.一括ユーザー作成用のパラメーターCSVを作成する<br /> こんな感じでまずパラメーターごとのCSVを作成してみる。<br /> あとで流すコマンドで列(カラム)の対応が必要なので準備する。</div><div><div> また、コマンドでカラムの数を指定するので数えておく。</div></div><div><div class="separator" style="clear: both; text-align: center;"><div style="text-align: left;"> コマンドのパラメータで重複がある場合は整理する。</div><div style="text-align: left;"><br /></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"></div></div></div></div><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1uJHlqHhAHO5f4U1zUQ7VdnCiuA705KGAboRA6RCNhivwSL_p6eQvY0eqhlzkKZ56YKvRidPCNV-ZBQXZaa2rOK3QiMTQfsHSQ9ZK3Jxq9VYq6zZpA2Gfcq1m8GdrVhAP2SojH7q0QHyag-q7fmIniPkVmUrpZo92h08lQ1HPCbohBQ2VmJlcQ6fN3CY/s764/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-01-14%20002716.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="128" data-original-width="764" height="68" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1uJHlqHhAHO5f4U1zUQ7VdnCiuA705KGAboRA6RCNhivwSL_p6eQvY0eqhlzkKZ56YKvRidPCNV-ZBQXZaa2rOK3QiMTQfsHSQ9ZK3Jxq9VYq6zZpA2Gfcq1m8GdrVhAP2SojH7q0QHyag-q7fmIniPkVmUrpZo92h08lQ1HPCbohBQ2VmJlcQ6fN3CY/w400-h68/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-01-14%20002716.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div></div><div style="text-align: left;"> 最終的にこんな感じにまとめる。以下のキャプチャは一部。</div></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg-1zJpXetIBnjLInCFAu9dUsp1JepofGn20KXgAHgxfWIGYvcaXVfJEMsoDjSBLYI8fEDJRPstmbxACPiYhNNW1mA9tN049jLlpDrz4ECwHL64vPu3ukFrdkHvnaG4M2FEDMo9g6sC5M02FlnFzi03gd9W9zQzmRvE11S2hp5217-wUReDQ5oVwfNiydQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="311" data-original-width="1091" height="114" src="https://blogger.googleusercontent.com/img/a/AVvXsEg-1zJpXetIBnjLInCFAu9dUsp1JepofGn20KXgAHgxfWIGYvcaXVfJEMsoDjSBLYI8fEDJRPstmbxACPiYhNNW1mA9tN049jLlpDrz4ECwHL64vPu3ukFrdkHvnaG4M2FEDMo9g6sC5M02FlnFzi03gd9W9zQzmRvE11S2hp5217-wUReDQ5oVwfNiydQ=w400-h114" width="400" /></a></div><div><br /></div><div> 作成したCSVファイルで日本語文字列を使用する場合は、文字コードをANSIにして任意の場所に保存する。作成したCSVファイルはコマンドでパスを指定するのでパスを控えておく。</div></div><div><br /></div><div>4.実行コマンド作成</div><div> 整理して以下のようなコマンドを作成する<br /> ※以下のコマンドはもう少しまとめられたが、今後流用するときに戻すのが面倒なので<br /> パラメーターの集約はほとんどしていない</div><blockquote><div>for /F "tokens=1-20 delims=," %A in (C:\user.csv) do dsadd user CN="%A",OU=%B,OU=%C,DC=%D,DC=%E,DC=%F -ln %G -fn %H -empid %I -mobile %J -pwd "%K" -pwdneverexpires yes -samid %L -upn %M -email %N -display "%O" -company "%P" -office "%Q" -dept "%R" -title "%S" -memberof cn="%T",OU="%B",OU="%C",DC="%D",DC="%E",DC="%F"</div><div></div></blockquote><div><br /></div><div>5.コマンドプロンプト(管理者権限)でコマンド実行</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM5w4-FUBftL-GJ6L4BHWK_eGCPSZYISBEP9Ll0eVKJF2wXu8PLn1u3a_qSk-rG4m2xn87BY0r-Wib24G6ICaKfO8PPFZue2xQPI2xCErxtWJoPZv0gdLeYiMf_bYxDZ6ZMZjYRAl2LEoQUPPDOhAgIM2tekSzsxbHE-tXz31BLiKhYWBQMJihnL98bA0/s1125/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-01-14%20001708.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="271" data-original-width="1125" height="96" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM5w4-FUBftL-GJ6L4BHWK_eGCPSZYISBEP9Ll0eVKJF2wXu8PLn1u3a_qSk-rG4m2xn87BY0r-Wib24G6ICaKfO8PPFZue2xQPI2xCErxtWJoPZv0gdLeYiMf_bYxDZ6ZMZjYRAl2LEoQUPPDOhAgIM2tekSzsxbHE-tXz31BLiKhYWBQMJihnL98bA0/w400-h96/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-01-14%20001708.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"></div></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both;"><div style="text-align: left;"><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;">”dsadd 成功”と表示され、ユーザーが作成されたことを確認する。</div><div>エラーとなる場合は、パラメーターの置換によりコマンドがおかしくなっているはず。。<br />エラー箇所もメッセージから推測できるので該当箇所を修正する。</div></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">6.作成できたことを確認する</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEijtCO2aIUBV06g3I5Aq5a9FXodvBzDQVXGAsZV9O7xE-HDqhTW7P_HZ7_tY0bf6hyIcyobSs_rXzxViAxOt0m3nFL2b8VrpxVPFMivzWH2UzgkWAVvcZTb7fSppLATv54RDTY6m0YELv2z2sWN7h7hk8IGbsX3x0x8i4MY73F68nr4W0RFtM0YldOYq_c" style="margin-left: auto; margin-right: auto;"><img alt="" data-original-height="614" data-original-width="1630" height="151" src="https://blogger.googleusercontent.com/img/a/AVvXsEijtCO2aIUBV06g3I5Aq5a9FXodvBzDQVXGAsZV9O7xE-HDqhTW7P_HZ7_tY0bf6hyIcyobSs_rXzxViAxOt0m3nFL2b8VrpxVPFMivzWH2UzgkWAVvcZTb7fSppLATv54RDTY6m0YELv2z2sWN7h7hk8IGbsX3x0x8i4MY73F68nr4W0RFtM0YldOYq_c=w400-h151" width="400" /></a></td></tr><tr></tr></tbody></table><br /></div><div class="separator" style="clear: both; text-align: left;">以上。</div><div class="separator" style="clear: both; text-align: left;"><br /></div></div></div></div></div></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-36538328056398156882023-12-28T18:00:00.002+09:002024-01-16T08:58:27.067+09:00Prometheus で k8s 環境の監視に挑戦してみる 第3回 監視対象への情報取得<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
今回は Prometheus に監視対象として追加したサーバーへどのような情報が取得できるのかを確認していきたいと思います。<br>
情報の取得には PromQL というクエリを発行するのですが、それをどう実行するのかというと式ブラウザという Prometheus にアクセスした際に最初に表示された画面で実行できてしまいます。<br>
<br>
実際に以下の情報を取得してみたいと思います。<br>
<br>
・CPU<br>
・メモリ<br>
・ディスク<br>
・ネットワーク<br>
<br>
まずは、CPUから。<br>
指定した期間のCPU使用率を表示させる式を使って、直近10分間の情報を表示してもらいます。<br>
式ブラウザに以下を入力します。<br>
<pre class="prettyprint">
rate(node_cpu_seconds_total[10m])
</pre>
node_cpu_seconds_total がCPUの情報を取得するメトリクスです。<br>
rate() で指定した期間の平均値を求めることができます。<br>
[10m] が10分間を指定しています。<br>
結果はこちら<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPuTaYyksbY1YgQxQdIkVgqMZ892ySLJqpTWR1x6JBS3HhHFc0I4mZq0nB7L9NVzjt20sXpxuSG31p2Q3oBCUkdHkdCqnu0xqV-fp9A_Qy9NvjPHy-TvlXt4HfxxJvC0ty4jDmTA7AxBli_vn54VnpnIDcXtTEl3wyQOVciKUSwbjee9a_cPpRZezkR6Eq/s1898/WS000309.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1053" data-original-width="1898" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPuTaYyksbY1YgQxQdIkVgqMZ892ySLJqpTWR1x6JBS3HhHFc0I4mZq0nB7L9NVzjt20sXpxuSG31p2Q3oBCUkdHkdCqnu0xqV-fp9A_Qy9NvjPHy-TvlXt4HfxxJvC0ty4jDmTA7AxBli_vn54VnpnIDcXtTEl3wyQOVciKUSwbjee9a_cPpRZezkR6Eq/s600/WS000309.JPG"/></a></div>
<br>
cpuのidle状態やiowaitについても情報を出してくれるようです。<br>
また、以下のように特定の情報に絞ることもできます。<br>
<pre class="prettyprint">
rate(node_cpu_seconds_total{mode="iowait"}[10m])
</pre>
{mode="iowait"} でiowaitの情報だけに絞っています。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaPHNcT-NKSs7cTPzRTLB3OaU9uDtDflVzcZov1PXhFKK9gyGSY8AXN5Yxleiq8_Y84nnI61aQmm54VPk_4FyCZWdr2NVwCOEM8-EkLDF-deIo1VbklVwWeJw_P5fEvxGE6kzOx8S0762WP2fagZJj53tqFVpMCothE0J-lBlDfaYjClVDUWJ3sxVdJWLX/s1920/WS000310.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="758" data-original-width="1920" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaPHNcT-NKSs7cTPzRTLB3OaU9uDtDflVzcZov1PXhFKK9gyGSY8AXN5Yxleiq8_Y84nnI61aQmm54VPk_4FyCZWdr2NVwCOEM8-EkLDF-deIo1VbklVwWeJw_P5fEvxGE6kzOx8S0762WP2fagZJj53tqFVpMCothE0J-lBlDfaYjClVDUWJ3sxVdJWLX/s600/WS000310.JPG"/></a></div>
つづいてメモリの使用量を見たいと思ったんですが、node_exporterにはメモリ使用量を取得するメトリクスがないようです。<br>
結構意外な気もしましたが、メモリの総量を取得するメトリクス(node_memory_MemTotal_bytes)と空きメモリを取得するメトリクス(node_memory_MemFree_bytes)から算出するやり方で表示するようです。<br>
以下のような式になります。<br>
<pre class="prettyprint">
node_memory_MemTotal_bytes - node_memory_MemFree_bytes
</pre>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_m-Z9w9lrEbEXNVtpYZ8rzJW9vRl8_UOKCiwhQCK46SeXuTXjllYLgMCkR7RbPZmm5df7QgO-5gpE-ARh7nrWdfzuzRL_UP9su9RHv2kH527xK-gqQnO8dodNApnI0w54_Z_WPWkjku_-wLDaPSkLUScIoFaOaKNAt7MkuC4pD8NCHKNq7BjqIbyLBzjo/s1925/WS000311.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="628" data-original-width="1925" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_m-Z9w9lrEbEXNVtpYZ8rzJW9vRl8_UOKCiwhQCK46SeXuTXjllYLgMCkR7RbPZmm5df7QgO-5gpE-ARh7nrWdfzuzRL_UP9su9RHv2kH527xK-gqQnO8dodNApnI0w54_Z_WPWkjku_-wLDaPSkLUScIoFaOaKNAt7MkuC4pD8NCHKNq7BjqIbyLBzjo/s600/WS000311.JPG"/></a></div>
この様に、メトリクスを使って式を組み立てていくようなやり方で見たいものを見るというのがプロメテウスのようです。<br>
あまりこのようなやり方をした経験がなかったので新鮮でした。<br>
使いこなすのに時間がかかりそうですけどねw<br>
<br>
次は、ディスクの使用量を表示させてみたいと思います。<br>
こちらは、node_filesystem_avail_bytes メトリクスで表示できるようです。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh58gLdye3H_nA7rUKD2viexiA7WYQqoXUSgOLhPCfmCtreqsCW_oVYq4buaBWmBkzHSjFns7I0-CnKExQFVTEguTzg0ehLd8RfDdnclswhucH3QNM1xWlmNvu8v9A2rhYSToYdssMdagq3dMnhRL9Lc6Tnn_3QXG74qcVjSuNqTpJz1m8GXNf_HDdiBJ7v/s1926/WS000312.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="632" data-original-width="1926" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh58gLdye3H_nA7rUKD2viexiA7WYQqoXUSgOLhPCfmCtreqsCW_oVYq4buaBWmBkzHSjFns7I0-CnKExQFVTEguTzg0ehLd8RfDdnclswhucH3QNM1xWlmNvu8v9A2rhYSToYdssMdagq3dMnhRL9Lc6Tnn_3QXG74qcVjSuNqTpJz1m8GXNf_HDdiBJ7v/s600/WS000312.JPG"/></a></div>
個別のデバイスに絞って確認したいときは、デバイスを以下の形で指定します。<br>
<pre class="prettyprint">
node_filesystem_avail_bytes{device="/dev/mapper/centos-root"}
</pre>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfvD4DdU91_U97GAuPe71w6MwJxYmyb1DgRSSgwQWnZJUxfRgWcErD76A2xXVDGtoVOS3KIVI-f5dU5mgmdFDP8J-nr7e8-Xod776rJMYRvCFbdBBC-GNwsj_c7kGe61XO7mlc3XwWIsV-tzQjerpemKJRPw5UTIqrEN_D-BiYUACigixyHM1PAqO4QqGg/s1925/WS000313.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="577" data-original-width="1925" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfvD4DdU91_U97GAuPe71w6MwJxYmyb1DgRSSgwQWnZJUxfRgWcErD76A2xXVDGtoVOS3KIVI-f5dU5mgmdFDP8J-nr7e8-Xod776rJMYRvCFbdBBC-GNwsj_c7kGe61XO7mlc3XwWIsV-tzQjerpemKJRPw5UTIqrEN_D-BiYUACigixyHM1PAqO4QqGg/s600/WS000313.JPG"/></a></div>
最後にネットワークの情報を表示してみます。<br>
10分間の送信トラフィックと受信トラフィックの量を見てみたいと思います。<br>
複数NICを追加してるわけではないですがNICを絞って表示してみます。<br>
<br>
式はそれぞれ、以下となります。<br>
<br>
受信量<br>
<pre class="prettyprint">
rate(node_network_receive_bytes_total{device="ens192"}[10m])
</pre>
送信量<br>
<pre class="prettyprint">
rate(node_network_transmit_bytes_total{device="ens192"}[10m])
</pre>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2xJgK0IFvdTpheZjkw86D1HRQRGE597jOkO8lAdu52WGtWNtCjOd4gRUqDZ-LtWtPEvfv9jqepSXb08qvP5ymmZyyMS9gKBSIJLXuv94IGXMIYr7c0F1xc6xXiGTQo4n3HbWTKx8k1M67DpDiLbVaALnCocDkrKw4KJ_4ZUGLhsuXjyGNcsox60dp4YiL/s1927/WS000314.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="836" data-original-width="1927" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2xJgK0IFvdTpheZjkw86D1HRQRGE597jOkO8lAdu52WGtWNtCjOd4gRUqDZ-LtWtPEvfv9jqepSXb08qvP5ymmZyyMS9gKBSIJLXuv94IGXMIYr7c0F1xc6xXiGTQo4n3HbWTKx8k1M67DpDiLbVaALnCocDkrKw4KJ_4ZUGLhsuXjyGNcsox60dp4YiL/s600/WS000314.JPG"/></a></div>
式は『Add Panel』をクリックすることで追加できます。<br>
並べて見れるようになるので便利ですね。<br>
<br>
今回は、Node exporter を使用して監視対象の情報を表示してみました。<br>
これはごく一部の内容だと思いますので、興味をひかれた方は調べてみてください。<br>
<br>
では、よいお年を。<br>
<br>
--------<br />
参考情報<br />
Prometheus実践ガイド クラウドネイティブな監視システムの構築(書籍)<br />
公式ドキュメン(トhttps://prometheus.io/docs/introduction/overview/)hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-68552332240262932152023-11-30T18:00:00.087+09:002023-11-30T18:00:00.142+09:00Prometheus で k8s 環境の監視に挑戦してみる 第2回 監視対象を追加<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
今回はPrometheusに監視を追加してみたいと思います。<br />
Prometheus の構成ファイル(prometheus.yml)に対象を追加する方法を行います。<br />
<br />
Prometheus.yml の中身を見てみましょう。<br />
global、alerting、rule_files、scrape_configs の4つのセクションがあり、それぞれ以下の役割を持っています。<br />
<br />
・global 全体の設定<br />
・alerting アラートに関する設定<br />
・rule_files ルールファイルに関する設定<br />
・scrape_configs 監視ターゲットに関する設定<br />
<br />
監視対象を追加するには scrape_configs の部分を編集することになるようです。<br />
今回は、dev-nfs-01 というサーバーを監視対象として追加したいと思います。<br />
編集する前に、prometheus.yml のコピーを取ってどこかに保存しておいてください。<br />
なお、Prometheus のUIで監視対象を確認するには Status から Targets を表示することで可能です。<br />
<br />
scrape_configs に監視対象を追加する際の記述は以下のように、job_name で表示名を設定し、targets で監視対象のIPアドレスかホスト名と必要に合わせてport番号を設定します。<br />
<pre class="prettyprint">
- job_name: "dev-nfs-01"
static_configs:
- targets: ["dev-nfs-01:9100"]
</pre>
<br />
一度 Prometheus をCtrl + C で停止して再度起動して、Targets を見てみましょう。<br />
赤く表示され正常に監視はできていませんが、対象が追加されたことがわかります。<br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIGcmRrieh65lfK7S1igTsEPahTjC0NbdIofE-pGaKLpWwHkqC8oJaLVlkx8odpyYjCPudpj5odzMh-v17vHkaZBihL5JsFkq-HJp9bw9-DWxbTuqxJxlGuRU1KJXijVpSHxLwxJgvLkpw0OpJdvX-BA_k4PyWsgfgCpJXYLmlxBfjX_LVyJQGBiPwCc3y/s2088/WS000212.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1003" data-original-width="2088" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIGcmRrieh65lfK7S1igTsEPahTjC0NbdIofE-pGaKLpWwHkqC8oJaLVlkx8odpyYjCPudpj5odzMh-v17vHkaZBihL5JsFkq-HJp9bw9-DWxbTuqxJxlGuRU1KJXijVpSHxLwxJgvLkpw0OpJdvX-BA_k4PyWsgfgCpJXYLmlxBfjX_LVyJQGBiPwCc3y/s600/WS000212.JPG"/></a></div>
監視対象としては追加できましたが、情報を収集するためのエージェントの役割を行うエクスポーターが監視対象に存在しないのでそちらの設定を行いたいと思います。<br />
手順は以下になります。<br />
https://prometheus.io/docs/guides/node-exporter/<br />
<br />
まずは、使用する node-exporter のバージョンを確認してみましょう<br />
https://github.com/prometheus/node_exporter/releases<br />
<br />
1.6.1が最新のようですのでそちらを使っていきます。<br />
監視対象とするサーバーへログインして node-exporter をダウンロードします。<br />
<pre class="prettyprint"># wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
</pre>
ダウンロードしたものを展開します。<br />
<pre class="prettyprint"># tar zxvf node_exporter-1.6.1.linux-amd64.tar.gz
</pre>
展開したディレクトリに移動します。<br />
<pre class="prettyprint"># cd node_exporter-1.6.1.linux-amd64
</pre>
node-exporter を起動します。<br />
<pre class="prettyprint"># ./node_exporter
</pre>
バックグラウンドで実行する場合は以下です。<br />
<pre class="prettyprint"># nohup ./node_exporter > /dev/null 2>&1 &
</pre>
起動すると最後に address=[::]:9100 と表示されますがこれは 9100番port で待ち受けているためです。<br />
先ほど prometheus.yml を編集した際に 9100番port を設定していたのは、このエクスポーターが待ち受けている 9100番port へ情報を取りに行くようにするためです。<br />
設定をしないと 80番port へ情報を取りに行ってしまいます。<br />
各エクスポーターがどのport番号を使用するかはエクスポーターによるようですので使用するエクスポーターのport番号は忘れずに確認しましょう。<br />
<br />
ブラウザで Prometheus のUIを更新してみてください。<br />
エクスポーターと通信が行えるようになったため表示が正常になっていると思います。<br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18mqRb0jvsGoN4SNqPr9uefyMNiUtZgZSGvugCQIxQFWYgLE_gR7vTjm_iRAnUzMDNDPFF1I-I7JUedsoPbXKoMoTGR_xCXGz4EEPkekDZxP4XtSZXtLvKS4apipQ7YTznZaN5XGoSKBtqBJHJ6wGAeFj7l2M0RJ4zeLOGJvQkijEruWAqDCHNNiUZYJ7/s2084/WS000214.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="939" data-original-width="2084" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18mqRb0jvsGoN4SNqPr9uefyMNiUtZgZSGvugCQIxQFWYgLE_gR7vTjm_iRAnUzMDNDPFF1I-I7JUedsoPbXKoMoTGR_xCXGz4EEPkekDZxP4XtSZXtLvKS4apipQ7YTznZaN5XGoSKBtqBJHJ6wGAeFj7l2M0RJ4zeLOGJvQkijEruWAqDCHNNiUZYJ7/s600/WS000214.JPG"/></a></div>
これで監視対象として追加することができました。<br />
次回はこのサーバーに対して情報を取ってくるとどんな形で見ることができるのかなどを調べていこうと思います。<br />
--------<br />
参考情報<br />
Prometheus実践ガイド クラウドネイティブな監視システムの構築(書籍)<br />
公式ドキュメン(トhttps://prometheus.io/docs/introduction/overview/)
hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-61444774921555348322023-10-31T18:00:00.001+09:002023-11-06T13:47:46.296+09:00Prometheus で k8s 環境の監視に挑戦してみる 第1回 まずは環境の用意<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
今回から、k8s 環境の監視を行うことができる Prometheus について勉強していきたいと思います。<br>
Prometheus は情報の収集を行いますがその情報を GUI で表示する Grafana との連携などもやっていきたいと思います。<br>
<br>
それでは、Prometheus の構築をしていきたいと思います。<br>
環境構築用は CentOS 7 を使用しています。 <br>
<br>
カーネルバージョン<br>
<pre class="prettyprint"> # uname -a
Linux dev-prometheus 3.10.0-1160.66.1.el7.x86_64 #1 SMP Wed May 18 16:02:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux </pre>
Prometheus は以下の方法で構築が可能です。<br>
・バイナリを使用する<br>
・ソースからコンパイルする<br>
・Docker を使用する<br>
<br>
今回はバイナリを使用してインストールしていきます。<br>
最新版を使おうと思うので、以下のサイトでバージョンの確認をしたいと思います。<br>
<br>
https://github.com/prometheus/prometheus/releases<br>
<br>
一番新しいのが Pre-release となっている場合もあると思いますが、ちゃんとした最新版を使いたいとおもうので Latest と表示があるバージョンを使いたいと思います。<br>
2.47.2が最新版のようなのでそちらを使っていきたいと思います。<br>
<pre class="prettyprint">
# wget https://github.com/prometheus/prometheus/releases/download/v2.47.2/prometheus-2.47.2.linux-amd64.tar.gz
</pre>
ダウンロードしたファイルを解凍します。
<pre class="prettyprint">
# tar zxvf prometheus-2.47.2.linux-amd64.tar.gz
</pre>
展開したフォルダに移動して Prometheus を起動します。
<pre class="prettyprint">
# cd prometheus-2.47.2.linux-amd64
# ./prometheus
</pre>
Prometheus を起動したサーバーの9090ポートにブラウザでアクセスし以下のような画面が表示されれば構築成功です。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLfemDR0OPD-QGlStPn2zg8ViOJILhHI2Co7GL_eIDlbEmTkjedPi4iyevYfO5ihmivss-GPZAPz53uk4FIuuWZiK3oCQ0Gl9WNFH-2EUZwNVxSFYIJr6fwp909sBBz1kpm5ny3RKsqm4CGeP_XS79o-PyLT7YUY4MDmIPuDMAAofCNIld7-VLZOOloLS1/s2092/WS000308.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="646" data-original-width="2092" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLfemDR0OPD-QGlStPn2zg8ViOJILhHI2Co7GL_eIDlbEmTkjedPi4iyevYfO5ihmivss-GPZAPz53uk4FIuuWZiK3oCQ0Gl9WNFH-2EUZwNVxSFYIJr6fwp909sBBz1kpm5ny3RKsqm4CGeP_XS79o-PyLT7YUY4MDmIPuDMAAofCNIld7-VLZOOloLS1/s600/WS000308.JPG"/></a></div>
これでこれからの検証や設定確認で使用する環境が用意できました。<br>
Prometheus では、監視対象に合わせてエクスポーターというものを使用して情報の収集を行うようなので、適当なサーバーを対象に情報の収集を行ったりしてみたいと思います。<br>
その後は、k8s のクラスタや Pod の情報収集が可能なるようにしていきたいと思います。<br>
ではまた次回お会いしましょう。<br>
--------<br>
参考情報<br>
Prometheus実践ガイド クラウドネイティブな監視システムの構築(書籍)<br>
公式ドキュメン(トhttps://prometheus.io/docs/introduction/overview/)hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-18666516307200312252023-09-29T18:00:00.001+09:002023-10-19T13:23:51.465+09:00Rancharでkubernetesの管理をしてみる 第6回 Rancharのグローバルセッティング<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
今回はRancharのグローバルセッティングで、意外といろいろ自分好みに変更が可能なところをご紹介していきたいと思います。<br>
グローバルセッティングはメニューの一番下から設定が可能です。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGd6c_AZf6Maco8r5D_HdY8eRSC7mhG3VFEkxANkGWiTjxLtqlDI-soPrMlwrYY2uis9tAV8PVAUeUxWCM1WktPuuyryQE05cpZEX3FVqAI4XFtE6_7cZFfSASyGbGtFjX6umSduG8ca_TNbUnGoQrcb36aowLrXDDCUgl0XnJa97SySh6YRnNmGSKaY-a/s2057/WS000249.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="852" data-original-width="2057" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGd6c_AZf6Maco8r5D_HdY8eRSC7mhG3VFEkxANkGWiTjxLtqlDI-soPrMlwrYY2uis9tAV8PVAUeUxWCM1WktPuuyryQE05cpZEX3FVqAI4XFtE6_7cZFfSASyGbGtFjX6umSduG8ca_TNbUnGoQrcb36aowLrXDDCUgl0XnJa97SySh6YRnNmGSKaY-a/s600/WS000249.JPG"/></a></div>
まずSettingsから、個人的に表示されてるのが気になっていたlocalのクラスタの非表示設定。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-R0o5mmKj6IJCjrBDpxOTQcEkJQP8wPO7U5f0SaNxCcbSB5RoucvAVNc_CfyGOFlxZGEgpInTDVvdtodb4NXs-hcOVQhvrVKUkGAzLZ0H_xldvI179gnuhxhbZHNgZPWrE6oofZPPUz-AtToJgu9FNJu1ZBPcRkhNfX_aDs-8g0lUi5D278MlL0JPmFdJ/s2116/WS000250.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="984" data-original-width="2116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-R0o5mmKj6IJCjrBDpxOTQcEkJQP8wPO7U5f0SaNxCcbSB5RoucvAVNc_CfyGOFlxZGEgpInTDVvdtodb4NXs-hcOVQhvrVKUkGAzLZ0H_xldvI179gnuhxhbZHNgZPWrE6oofZPPUz-AtToJgu9FNJu1ZBPcRkhNfX_aDs-8g0lUi5D278MlL0JPmFdJ/s600/WS000250.JPG"/></a></div>
右側の「︙」から「Edit Setting」を選択し、「True」を選んで「Save」します。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi3kc8p1ikakbu6HyhvFUubXyPqG1exfcgzeNMEIaAjiTziou3dAwI6hvZnsBfD0WbRcZvSRZMYdqsKmIBsH9A8uL2chiMG5SGn-Ijq4Cw2SAVyQDZaB-_BzO2XTU9zyMlX4jDQ7DO9y3QS4v6S6HHTau-EzhpKsKL4-L5vYWW6-fEZ4WX-XHhwOQu8YZJ/s2145/WS000252.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="911" data-original-width="2145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi3kc8p1ikakbu6HyhvFUubXyPqG1exfcgzeNMEIaAjiTziou3dAwI6hvZnsBfD0WbRcZvSRZMYdqsKmIBsH9A8uL2chiMG5SGn-Ijq4Cw2SAVyQDZaB-_BzO2XTU9zyMlX4jDQ7DO9y3QS4v6S6HHTau-EzhpKsKL4-L5vYWW6-fEZ4WX-XHhwOQu8YZJ/s600/WS000252.JPG"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbi2VW0uThv1oHrEZIwChHr3VRgvCWSlaL0Tn26oEvXbmtHks3-LCddWNHiHd5fcCvc5QdsO68KdUAlTDyWYUep3fAtK5K_DlyjKgx5Ta_2ueSd62pkGGv63rbIIE-rz-IGCQ8oiFd3AvrUU1UJJeWYSA1lIzq4yVThYlb_XNbiOD6uc4FkYrIveAn4cpj/s2149/WS000251.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="962" data-original-width="2149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbi2VW0uThv1oHrEZIwChHr3VRgvCWSlaL0Tn26oEvXbmtHks3-LCddWNHiHd5fcCvc5QdsO68KdUAlTDyWYUep3fAtK5K_DlyjKgx5Ta_2ueSd62pkGGv63rbIIE-rz-IGCQ8oiFd3AvrUU1UJJeWYSA1lIzq4yVThYlb_XNbiOD6uc4FkYrIveAn4cpj/s600/WS000251.JPG"/></a></div>
もともとはこう表示されていましたが
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDi3oMWDEkjV65GxM3fkECYEyfvzHvQ9YnYjVzuTh0CvXnXWFdMsHdsFIRGondqlz7aL7ASfZnse_VxqGyCs2wx4jYuJ51J77I1gKULx_yVgKqvIo7OBIrFtA8moKR7LDkZcWZmjcNbm3KXAtaLHZOZyJdFC4onf4aPOcbbHrRTfcPYo8corPEFT1fCmww/s2054/WS000248.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="994" data-original-width="2054" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDi3oMWDEkjV65GxM3fkECYEyfvzHvQ9YnYjVzuTh0CvXnXWFdMsHdsFIRGondqlz7aL7ASfZnse_VxqGyCs2wx4jYuJ51J77I1gKULx_yVgKqvIo7OBIrFtA8moKR7LDkZcWZmjcNbm3KXAtaLHZOZyJdFC4onf4aPOcbbHrRTfcPYo8corPEFT1fCmww/s600/WS000248.JPG"/></a>
こうなります。これですっきりしましたw<br>
</div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM4GD_YoO2pDcWzxK6Wg4Wit4so3KSCmu7kwD6z8JHf8MkRULl4olBwlRCJcfkGga2f0JFhXDts2Vs6OJ9fwP1axaC7ps5VWP2LSM2p0mLkirxV86LOIu9D36nmjG2u4nBBqs7CLGs9IRIkoLS6eIbZdJIfxyw6__XVxoVHdt2iuKfpo_vs2GMqscBZFqr/s2119/WS000253.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="947" data-original-width="2119" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM4GD_YoO2pDcWzxK6Wg4Wit4so3KSCmu7kwD6z8JHf8MkRULl4olBwlRCJcfkGga2f0JFhXDts2Vs6OJ9fwP1axaC7ps5VWP2LSM2p0mLkirxV86LOIu9D36nmjG2u4nBBqs7CLGs9IRIkoLS6eIbZdJIfxyw6__XVxoVHdt2iuKfpo_vs2GMqscBZFqr/s600/WS000253.JPG"/></a></div>
<br>
Feature Flagsでは、使える機能をオンオフすることができます。<br>
今回は特に設定変更しませんがGitやfleetとの連携などの機能についてオンオフができるようです。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5jk0-57Ko40uldL5t-654tkFl1DczWzNipcYWoGVOR5d8BsxaT2nhPUNp5iGuzSCj4OXL8yGp0cshOGuoUgX9USaurkVTE0v0jtnG0ZCoNW3emcdyUJmoA9mRUuQRmtNRFwk7zX1ieX_lpjnec7cupxYgRWXQSludTPKNiC1Jo9veI5cbT01GZ7F5TfPQ/s2099/WS000254.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="908" data-original-width="2099" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5jk0-57Ko40uldL5t-654tkFl1DczWzNipcYWoGVOR5d8BsxaT2nhPUNp5iGuzSCj4OXL8yGp0cshOGuoUgX9USaurkVTE0v0jtnG0ZCoNW3emcdyUJmoA9mRUuQRmtNRFwk7zX1ieX_lpjnec7cupxYgRWXQSludTPKNiC1Jo9veI5cbT01GZ7F5TfPQ/s600/WS000254.JPG"/></a></div>
Bannersではバナーの設定ができます。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr9R3R1M-xLvMsDZd2SIEp14i9xvG04JuDU2HfUc4o2uecntLMT6iGeWsIftq_5KZA54uDCZOh3GMEAS5c7zBlWbM3keXdKjDwsFa2nqtzcBn8JY0XWt3G6YY8vTXxOlMu1BeHpc3dE6Qck_h7JTBg7GwtzaqWKC1sz1Jc5mJbQjlA8ZZoOrOUNhB1YfYe/s2134/WS000255.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="813" data-original-width="2134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr9R3R1M-xLvMsDZd2SIEp14i9xvG04JuDU2HfUc4o2uecntLMT6iGeWsIftq_5KZA54uDCZOh3GMEAS5c7zBlWbM3keXdKjDwsFa2nqtzcBn8JY0XWt3G6YY8vTXxOlMu1BeHpc3dE6Qck_h7JTBg7GwtzaqWKC1sz1Jc5mJbQjlA8ZZoOrOUNhB1YfYe/s600/WS000255.JPG"/></a></div>
ヘッダーとフッターに文字を入れてみます。<br>
文字は「Show Banner in Header」と「Show Banner in Footer」のチェックボックスにチェックを入れることで入力等が可能になります。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCq2R5DpE3FPs5zIplyY7DgQ2KoRyO2YyRvRFSSj9p1Zm074ZomocBFnufsvVYV22YiL_av_nFYOAQEwj1_Q-EmhO_jIT_l9ScfX3hcTE9N6kUCZFCni5evicqtLQcCZRVnCSHoZh2TIoNcYudLG0qVHKS3QGStRMFbLPrunvK4cpJBY1f6dhYW45oXcjY/s2126/WS000256.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="959" data-original-width="2126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCq2R5DpE3FPs5zIplyY7DgQ2KoRyO2YyRvRFSSj9p1Zm074ZomocBFnufsvVYV22YiL_av_nFYOAQEwj1_Q-EmhO_jIT_l9ScfX3hcTE9N6kUCZFCni5evicqtLQcCZRVnCSHoZh2TIoNcYudLG0qVHKS3QGStRMFbLPrunvK4cpJBY1f6dhYW45oXcjY/s600/WS000256.JPG"/></a></div>
設定の有効化は「Apply」から行います(この辺統一してくれんもんかな・・・)
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixESKBja5wmimWLDrPouNRSvATnkvDl5xUNx5fzPOQoaESUp8MqjIyFnm6ToNljXjbYBQUJMyHHXIRZyUPnZuoiwux7w1eySBli3ZQRXHM1-6mDzporqeZXVRYLPMZqc0j8t1onn_ijDydCpswqbLuWtSnQEiOVB-uop5HFrSopCY7Rhj9PcuXiMMP5kz9/s2140/WS000257.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="944" data-original-width="2140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixESKBja5wmimWLDrPouNRSvATnkvDl5xUNx5fzPOQoaESUp8MqjIyFnm6ToNljXjbYBQUJMyHHXIRZyUPnZuoiwux7w1eySBli3ZQRXHM1-6mDzporqeZXVRYLPMZqc0j8t1onn_ijDydCpswqbLuWtSnQEiOVB-uop5HFrSopCY7Rhj9PcuXiMMP5kz9/s600/WS000257.JPG"/></a></div>
有効化するとすぐに、ヘッダーとフッターに入力した文字が表示されるようになりました。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0PphFhs2TH4DICC504nzaTZT2XtKCoZumX3ji6hWxUBXl_V0jyc8A9zfdmE1_nYBuP2D3DDO8EEX4wX8xYj9sMuh7LYP8ZeKfrPeI9ssTl_TMveo8SOsnl9IfkIdaOywOO9TcIYScY7BkBy01sozB891NGcn-BQob5oX6KcdhxQCT2DCJ8X4RAnJ6tbI4/s2165/WS000258.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="975" data-original-width="2165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0PphFhs2TH4DICC504nzaTZT2XtKCoZumX3ji6hWxUBXl_V0jyc8A9zfdmE1_nYBuP2D3DDO8EEX4wX8xYj9sMuh7LYP8ZeKfrPeI9ssTl_TMveo8SOsnl9IfkIdaOywOO9TcIYScY7BkBy01sozB891NGcn-BQob5oX6KcdhxQCT2DCJ8X4RAnJ6tbI4/s600/WS000258.JPG"/></a></div>
Brandingではロゴやファビコン、UIやリンクのカラーを変更できます。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1gPvfbIvzW7Q7aZ3lBdxkBkAEVdh_uuESliuM6X4HCATR6co5zQdNBQm0r4hfYKha3ZYKJPQq3_V4UGriscsyDNW9i5JYnxGL-n2y79WHnDR0FZ5804J-MR_v2Gjp3n5Lk-Pgsq07poE_frlPPytGIheGH3A9AwrQlt0IQQexvznQgqdX9C9x_DsT1ow9/s2128/WS000259.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="939" data-original-width="2128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1gPvfbIvzW7Q7aZ3lBdxkBkAEVdh_uuESliuM6X4HCATR6co5zQdNBQm0r4hfYKha3ZYKJPQq3_V4UGriscsyDNW9i5JYnxGL-n2y79WHnDR0FZ5804J-MR_v2Gjp3n5Lk-Pgsq07poE_frlPPytGIheGH3A9AwrQlt0IQQexvznQgqdX9C9x_DsT1ow9/s600/WS000259.JPG"/></a></div>
私は昔からロボット系のゲームでカラー変更ができる際RGBの数値をいじってオリジナルな機体カラーにしているため、個人的に大変ポイントの高い機能です。<br>
ではUIとリンクの色を変えてみましょう。<br>
「Use a Custom Color」のチェックボックスにチェックを入れると、色が選べるようになります。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN3I0Wf7pOoVYhKRUxTTxuXLQQwgw7GLMhPSskgbrBn4HlbyR7_UsR6VpmIi_4PURT9t9jkw8bDlxqFRRCtIlfwqTfE-A1ReM2Cb41QOBliw0Y1vToZDr08ohfsIrXnJQBMdNbt0Mg3PF4VGicvFCYMVLq5wvGiNbauJ4TcxloHvbWkGetv-v0KmjrSzrO/s1367/WS000260.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="778" data-original-width="1367" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN3I0Wf7pOoVYhKRUxTTxuXLQQwgw7GLMhPSskgbrBn4HlbyR7_UsR6VpmIi_4PURT9t9jkw8bDlxqFRRCtIlfwqTfE-A1ReM2Cb41QOBliw0Y1vToZDr08ohfsIrXnJQBMdNbt0Mg3PF4VGicvFCYMVLq5wvGiNbauJ4TcxloHvbWkGetv-v0KmjrSzrO/s600/WS000260.JPG"/></a></div>
色の部分をクリックすると、どの色にするかRGB直接入力とスライダーでの調節が選べるので好きなほうで設定してください。
カラーコード入力はできないみたいです。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq2QwYGZW5UeUt-InJsAFgI2SlE_47pDWl2bbSzWtjZVRW3t7wo57zmVOTQgWPPpjZVtSh1kS1sXvgqJxDzsYYMx6da1d9i4qD9erVlRttPpBxwLU51YzWaImV0jTFT4gMenJu6WylWrf73_qSa-OYSO6xbBTTezKxcTNulfacI9XgtvSPMs2-be6vOCMf/s1392/WS000261.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="799" data-original-width="1392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq2QwYGZW5UeUt-InJsAFgI2SlE_47pDWl2bbSzWtjZVRW3t7wo57zmVOTQgWPPpjZVtSh1kS1sXvgqJxDzsYYMx6da1d9i4qD9erVlRttPpBxwLU51YzWaImV0jTFT4gMenJu6WylWrf73_qSa-OYSO6xbBTTezKxcTNulfacI9XgtvSPMs2-be6vOCMf/s600/WS000261.JPG"/></a></div>
今回は変化がわかりやすい色を選んでみました。
やばそうですが「Apply」から有効化してみようと思います。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ0NQxveMo_o0RFcev9NvroR_Vv8VcYwGqsEd8L7ChgoB7YHyE3-aozxzNEBTTjVYa2eZ9upmLPzM7uoE5rR8kMJYqkO9Gz0z0YGutm6t4j_-Oerq-4IKEmUqNaZP1p9Bn67njZ4UKfLKHNPbP1S_zHveoqej3A5UkpqSqmAeqD3k8VTKjENWiRtG2gBtS/s2147/WS000262.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="980" data-original-width="2147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ0NQxveMo_o0RFcev9NvroR_Vv8VcYwGqsEd8L7ChgoB7YHyE3-aozxzNEBTTjVYa2eZ9upmLPzM7uoE5rR8kMJYqkO9Gz0z0YGutm6t4j_-Oerq-4IKEmUqNaZP1p9Bn67njZ4UKfLKHNPbP1S_zHveoqej3A5UkpqSqmAeqD3k8VTKjENWiRtG2gBtS/s600/WS000262.JPG"/></a></div>
やっぱり目に優しくないとんでもないUIになりましたw<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQmthoTHHN69HExlEV-15t7hl_eeKCzRIjcVdCh-m2Og-OdA5Lr_0SOHzvtWdZCxtgTUqipgxi-NVpH4BHQiiwHSsfGwg2Z24VPsFeO5YX5Omc-4-cS5IjCC6RRWLke-4aLb4UqEsn4TkcSovtcFK9qXbs4OxxSHAGyWKWpmRNvqBFzl0DEGZiPZpEJZXP/s2134/WS000264.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="964" data-original-width="2134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQmthoTHHN69HExlEV-15t7hl_eeKCzRIjcVdCh-m2Og-OdA5Lr_0SOHzvtWdZCxtgTUqipgxi-NVpH4BHQiiwHSsfGwg2Z24VPsFeO5YX5Omc-4-cS5IjCC6RRWLke-4aLb4UqEsn4TkcSovtcFK9qXbs4OxxSHAGyWKWpmRNvqBFzl0DEGZiPZpEJZXP/s600/WS000264.JPG"/></a></div>
<br>
Performanceではガベージコレクションなどの設定ができるみたいです。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0RmS15uyL6Yr3tGMHpESOkU3PmdB4CHjFZkxh9wXuLtNqyyaHHimI0flRCMIOFMmDDAD6FohEqfrnEVNuSZl12Ld8rCXNJ9oueROCc0MfgVQpr6p1aXdj9QmnXgB1Te0Oh2obKeCdstQl0qg_0kBRkl4elbkWzgT5WLXAy71Ntd39doQjZ5OnlLCGiN43/s2130/WS000265.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="858" data-original-width="2130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0RmS15uyL6Yr3tGMHpESOkU3PmdB4CHjFZkxh9wXuLtNqyyaHHimI0flRCMIOFMmDDAD6FohEqfrnEVNuSZl12Ld8rCXNJ9oueROCc0MfgVQpr6p1aXdj9QmnXgB1Te0Oh2obKeCdstQl0qg_0kBRkl4elbkWzgT5WLXAy71Ntd39doQjZ5OnlLCGiN43/s600/WS000265.JPG"/></a></div>
<br>
Home Links は最初何の事だろうと思ったのですが、ログインした際のホーム画面の右側に出てるドキュメントなどへのリンクに関するものでした。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHLKBZ5HSnx8mD4YtpMMTETHGmIIPaQWr86uZdjGECqq2ExdfAaB3BKUTl2622qtn96BL-8G15HTG1zh0l4kJXE5YblQE2lHenpEIbQ-mzwDjui2K1nV46yL2Gvpjcap0JeeKLMEekIQ6oss0NeV-4OWDgsVCqk5a0JszwZxC4hA_qAkHEgdxnIpTquUWy/s2135/WS000266.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="982" data-original-width="2135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHLKBZ5HSnx8mD4YtpMMTETHGmIIPaQWr86uZdjGECqq2ExdfAaB3BKUTl2622qtn96BL-8G15HTG1zh0l4kJXE5YblQE2lHenpEIbQ-mzwDjui2K1nV46yL2Gvpjcap0JeeKLMEekIQ6oss0NeV-4OWDgsVCqk5a0JszwZxC4hA_qAkHEgdxnIpTquUWy/s600/WS000266.JPG"/></a></div>
既存のリンクに対してオンオフを設定するだけでなく、Custom Linksの「Add Link」から自分で任意のリンクを追加することも可能なようです。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAmaACp8LahAWdGCr9v4YiShWxGSQo4r369VmUTV7gCgzRpN0ZgNi0p4HSzDufRhiX9d20LjxexRnUmAmSMR0aml0iodIJ-zSnkfiF_CZ4M5VdvotkBgz5AZJroHKCxNMZDRtalTWQMFhxGCD5E48te745hsfElub9gMEVufsqrP_xz87Z9vEtaeJsWpXF/s1622/WS000267.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1133" data-original-width="1622" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAmaACp8LahAWdGCr9v4YiShWxGSQo4r369VmUTV7gCgzRpN0ZgNi0p4HSzDufRhiX9d20LjxexRnUmAmSMR0aml0iodIJ-zSnkfiF_CZ4M5VdvotkBgz5AZJroHKCxNMZDRtalTWQMFhxGCD5E48te745hsfElub9gMEVufsqrP_xz87Z9vEtaeJsWpXF/s600/WS000267.JPG"/></a>
ホームの画面で変更した結果を確認してみましょう
</div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggj4GOB7c3gpw-T2WCarXo8-btc6pV0O2a_oQmbYut-0jJT6Ug-V55O6RIpEk3shwHllvgpUYf0XtlnMsTbUnC2nmWbDvJqcbriMSOZjS9byGDNM9mkX_-oO3cGHe_DOEvOgdFf40LJQ8dV38BuqujxcjK0WyXHVOVngjtTlfDFfl19Ufr_EYCyoQ4ZqRk/s1628/WS000268.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1000" data-original-width="1628" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggj4GOB7c3gpw-T2WCarXo8-btc6pV0O2a_oQmbYut-0jJT6Ug-V55O6RIpEk3shwHllvgpUYf0XtlnMsTbUnC2nmWbDvJqcbriMSOZjS9byGDNM9mkX_-oO3cGHe_DOEvOgdFf40LJQ8dV38BuqujxcjK0WyXHVOVngjtTlfDFfl19Ufr_EYCyoQ4ZqRk/s600/WS000268.JPG"/></a></div>
以上です。<br>
参考情報<br>
https://ranchermanager.docs.rancher.com/hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-55907203870818848722023-09-10T12:00:00.004+09:002023-09-10T12:41:38.857+09:00海外でのワーケーションを考える その8 海外からChrome Remote Desktopを利用してみた<p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs35nMQhiwBTJGnq2NOePGmHJ_P0m4gdo5XD6mX5AzelXUEYRwF2QcmKwxyaAQQ9gyLBbPOZkDUJSwtsPpv6N64Ou21B3LkrrCkM6fLbEVEJC-AY4F_dh1Ed6K8soEL2hnykK1DdIcjRD1gyXY3W8SrvHlo4beF1CLpr1Jpr0Hq9lVI2mtK2Ih5vgNgGQ/s1479/1693626479159.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1109" data-original-width="1479" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs35nMQhiwBTJGnq2NOePGmHJ_P0m4gdo5XD6mX5AzelXUEYRwF2QcmKwxyaAQQ9gyLBbPOZkDUJSwtsPpv6N64Ou21B3LkrrCkM6fLbEVEJC-AY4F_dh1Ed6K8soEL2hnykK1DdIcjRD1gyXY3W8SrvHlo4beF1CLpr1Jpr0Hq9lVI2mtK2Ih5vgNgGQ/w400-h300/1693626479159.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">前回は、Google Cloudのジャカルタ リージョンのインスタンスにChrome Remote Desktopをインストールして、日本→ジャカルタ→日本という通信経路で自宅にあるPCへの接続を試してみました。実際に旅行先から利用する家族からは、動作に若干ラグはあるものの仕事で使えないことはない、ということでした。</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">今回は実際に旅行先から自宅のPCへ接続してみた結果です。</div><div class="separator" style="clear: both; text-align: left;">今回の旅行先は、インドネシアのバリ島でした。</div><div class="separator" style="clear: both; text-align: left;"> </div><div class="separator" style="clear: both; text-align: left;">結論から言うと、バリ島から自宅のPCへChrome Remote Desktopで直接接続して仕事ができたそうです。</div><div class="separator" style="clear: both; text-align: left;">滞在していたのはサヌール エリアでした。</div><div class="separator" style="clear: both; text-align: left;">インターネットは、ホテルのWiFiを利用したそうです。</div><div class="separator" style="clear: both; text-align: left;">利用した端末は、ASUS Chromebook Detachable CM3 CM3000でした。</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Google Cloudのインスタンスも使ってみてもらったのですが、GPUなしの通常のLinuxインスタンスで作成したため、自宅へ直接接続するのと比べると画像が荒いとのことでした。自宅へ直接つなぐと画面が綺麗に見えるし、ラグも許容できるから自宅に直接つないで使うとのことでした。ジャカルタ経由の方が若干ラグが小さかったようですが、大きく違う感じではないようでした。現地から実際にやらなければならなくなった仕事はできたとのことでした。</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">業務内容によりますが、Chrome Remote Desktopを使えば簡単に海外からワーケーションできるかもしれませんね。私もワーケーションしてみたいなぁ。。</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">それでは。</div><p></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-37123616614638845782023-08-31T18:00:00.001+09:002023-10-19T13:23:51.465+09:00Rancherでkubernetesの管理をしてみる 第5回 RancharからPodとServiceを作って外部から接続してみる<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
今回は、RancherからPodやServiceを作って外部からのアクセスをできるようにしてみたいと思います。<br>
事前準備として、KubernetesにはMetalLBを構築してServiceでタイプLoadBarancerを作成した際に、IPアドレスを払い出してくれるようにしてあります。<br>
<br>
早速、今回の作業用として新しく名前空間demoを作成するところから開始していきたいところですが、Rancherではプロジェクトという単位で管理ができるのでこれから作成する名前空間を管理するプロジェクトを作成したいと思います。<br>
『Create Project』から新しくプロジェクトを作っていきましょう<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuTS_qr3uHBnuBwVArlmsReUjDO15FpmiNLTqAol2UC70mW1oUivGN_2_hVOaVlduG3Kj1FZ-jKTRLaMHKp38aW57YrWxoa1QIlrDRvCjKDjcxeXMiudTyP8M-2KAU6W0uPiEs9u9so89KhLCTxJZisoe13SEYj_IfdOf6DASDfB7ymnxsrFaVfUq_XlHn/s1723/WS000132.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="813" data-original-width="1723" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuTS_qr3uHBnuBwVArlmsReUjDO15FpmiNLTqAol2UC70mW1oUivGN_2_hVOaVlduG3Kj1FZ-jKTRLaMHKp38aW57YrWxoa1QIlrDRvCjKDjcxeXMiudTyP8M-2KAU6W0uPiEs9u9so89KhLCTxJZisoe13SEYj_IfdOf6DASDfB7ymnxsrFaVfUq_XlHn/s600/WS000132.JPG"/></a></div>
プロジェクト名demoを設定し、せっかくなので前に作ったユーザーもアクセスできるようにしてみます。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1b8iNqTj7iCvTGRScRFAAIclR4Ioa_wg519oU0YLkjqsf8gHAq120aI-wIVnqR0Z_CNkIFaCLLqOPBMz7yyDjE7N2ecxuW28hYBheYwywASgCG-2FhrB5u_9xTCai6MFX4baCU5vGh8mYK_284GoB6DklAtHxumRkc0kITOszQDZJ4pbJDU05Fc93_sqm/s1717/WS000133.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="807" data-original-width="1717" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1b8iNqTj7iCvTGRScRFAAIclR4Ioa_wg519oU0YLkjqsf8gHAq120aI-wIVnqR0Z_CNkIFaCLLqOPBMz7yyDjE7N2ecxuW28hYBheYwywASgCG-2FhrB5u_9xTCai6MFX4baCU5vGh8mYK_284GoB6DklAtHxumRkc0kITOszQDZJ4pbJDU05Fc93_sqm/s600/WS000133.JPG"/></a></div>
これは名前空間ではなく、Rancher上の設定になりますので実機の方ではまだ変化はありません。<br>
(一応、新しいリソースでProjectとかないか確認しましたが、見当たらなかったのでRancher側だけのはず・・・)<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3f7mDwj04W7GeIn7Y-mIu3mFbmnfo7ZihnJCjdS7_xmhBi2WcjsAeZb3s4FS0-0uWSl7KzOLNQ6LLmL6nQvXR26UklaQcYUFdw1_7biSi8sZZ-QhzYm7DSLFR-feHDsw4FJ1LIHKuHSFwpEURcYxhKCdqDaeVRI0OGyOPmwAN_2dKjzfCRkGOWDECgTUA/s1718/WS000136.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="803" data-original-width="1718" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3f7mDwj04W7GeIn7Y-mIu3mFbmnfo7ZihnJCjdS7_xmhBi2WcjsAeZb3s4FS0-0uWSl7KzOLNQ6LLmL6nQvXR26UklaQcYUFdw1_7biSi8sZZ-QhzYm7DSLFR-feHDsw4FJ1LIHKuHSFwpEURcYxhKCdqDaeVRI0OGyOPmwAN_2dKjzfCRkGOWDECgTUA/s600/WS000136.JPG"/></a></div>
表示が見づらくなるので、作成したProject:demoだけ表示するように上部のプルダウンから切り替えます。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjS3cKXGGWPMFjNB5I1JD1Ng3tBmKzmZFDg4LOXYhf5xpmMezkH_6AFqXM1wzCljUaH8aWi9ek9dlx9FEDksDR77Z5BVrFEg3SglcH_-aRjnXuSkZwWDlo1NZ6fQPzwtHwftWR9VKIUlR6Fc3gcUand8mXqHF7Xks-lcPG3YZ_6qHR8B8cMTTFZiRyMtInj/s1710/WS000139.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="805" data-original-width="1710" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjS3cKXGGWPMFjNB5I1JD1Ng3tBmKzmZFDg4LOXYhf5xpmMezkH_6AFqXM1wzCljUaH8aWi9ek9dlx9FEDksDR77Z5BVrFEg3SglcH_-aRjnXuSkZwWDlo1NZ6fQPzwtHwftWR9VKIUlR6Fc3gcUand8mXqHF7Xks-lcPG3YZ_6qHR8B8cMTTFZiRyMtInj/s600/WS000139.JPG"/></a></div>
ここから『Create Namespace』をクリックして名前空間の作成に入ります。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv7E2NXVEY2P0-2qJdgGxNy9mDOwKuZDkVkPQcICVyZ0LwnLNRLNv8N_0FymkI7ph0ssCPnmWUl-NAeQdZN-LuqCuTQ2o1toAdJDxeQSKH4jvB9amTliTU8CmxEhLOsEC-siCEZPhrv5q1KG5-FjWHSpb6bzPBObmFw32-yo2Fc--hoWIbLFs3bEbuBbFh/s1722/WS000140.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="809" data-original-width="1722" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv7E2NXVEY2P0-2qJdgGxNy9mDOwKuZDkVkPQcICVyZ0LwnLNRLNv8N_0FymkI7ph0ssCPnmWUl-NAeQdZN-LuqCuTQ2o1toAdJDxeQSKH4jvB9amTliTU8CmxEhLOsEC-siCEZPhrv5q1KG5-FjWHSpb6bzPBObmFw32-yo2Fc--hoWIbLFs3bEbuBbFh/s600/WS000140.JPG"/></a></div>
名前空間名にdemoを入力してCreateします。
特にリミットは設定しません。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdcare3sBM_U6n85GHX72BBvSI73hRikGGdg82_gwC8GDBX0hoeMnyIB47TUfeBD2VEiOvl5ZBrGNeN0uQH7nbvj_gJtp9JMu30DuL4HjMzBs0UO4gEFBmBW7Jvu_S28ktrSRo4VUuWqDRD6DyPYWsVfLYXDbaowICnw5WYe3UgUF55BtF33e2VET9AmQT/s1722/WS000141.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="810" data-original-width="1722" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdcare3sBM_U6n85GHX72BBvSI73hRikGGdg82_gwC8GDBX0hoeMnyIB47TUfeBD2VEiOvl5ZBrGNeN0uQH7nbvj_gJtp9JMu30DuL4HjMzBs0UO4gEFBmBW7Jvu_S28ktrSRo4VUuWqDRD6DyPYWsVfLYXDbaowICnw5WYe3UgUF55BtF33e2VET9AmQT/s600/WS000141.JPG"/></a></div>
名前空間demoが作成できたので、実機の方もsshでログインして確認してみます。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXwZohbr5lCiAwkZV4zav8tYqb8GGJLHboyLruHCpqf2cs9l31JSBCvoqKsX6QrxyMzMlZZH-_IPxZWymJqmpYRbev08pX3rBCFbkWJJ0TCcTozwZhClHNdwET_CwDz2oykrYsJftXqoUwCiz3hhDhkhCEF2P58BJqyCrp50747AHb8BAmZ1oterZir9nx/s1719/WS000142.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="814" data-original-width="1719" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXwZohbr5lCiAwkZV4zav8tYqb8GGJLHboyLruHCpqf2cs9l31JSBCvoqKsX6QrxyMzMlZZH-_IPxZWymJqmpYRbev08pX3rBCFbkWJJ0TCcTozwZhClHNdwET_CwDz2oykrYsJftXqoUwCiz3hhDhkhCEF2P58BJqyCrp50747AHb8BAmZ1oterZir9nx/s600/WS000142.JPG"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaLMWcgIsFMKayELx92Z4SmONTpPrSSSoOFInKA6Bk9puZiY0Nq0rOLhZrDi2MrjyY-oeooxPEbrL9hQKGDdnSQ1MML_GMjKUYg7_PyHVu2rIA6RCYtn8LRnB7OwZroBPKlr_clkJ31UB8V00wDCI4h45sTNLxFSK6wCs-YK9w1hiERPjSbH4sOB3UwmwG/s344/WS000143.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="103" data-original-width="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaLMWcgIsFMKayELx92Z4SmONTpPrSSSoOFInKA6Bk9puZiY0Nq0rOLhZrDi2MrjyY-oeooxPEbrL9hQKGDdnSQ1MML_GMjKUYg7_PyHVu2rIA6RCYtn8LRnB7OwZroBPKlr_clkJ31UB8V00wDCI4h45sTNLxFSK6wCs-YK9w1hiERPjSbH4sOB3UwmwG/s600/WS000143.JPG"/></a></div>
続いてPodの作成をしますが、Podから作るのではなくDeploymentを使用して作ってみましょう。<br>
『Workload』を展開し、『Deployments』から『Create』をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvJHWUb8niP7YvkH8l9so4oQaVBBsff50sMvIExfWBP4OoI502vK0T4zOnO2iA7yVwAJqoS5Cv0_e-Xx2PKNenan0nrUF3HN1Be_YhY2pEUYLNrbaMgYTcl5wVzdLcyJMKYRZ4t5_o8mkvY0GQfBIaRM91n9cbV0u3M3l9ByoZWf9K_0DB2rQNw7BJ2Gl2/s1722/WS000144.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="813" data-original-width="1722" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvJHWUb8niP7YvkH8l9so4oQaVBBsff50sMvIExfWBP4OoI502vK0T4zOnO2iA7yVwAJqoS5Cv0_e-Xx2PKNenan0nrUF3HN1Be_YhY2pEUYLNrbaMgYTcl5wVzdLcyJMKYRZ4t5_o8mkvY0GQfBIaRM91n9cbV0u3M3l9ByoZWf9K_0DB2rQNw7BJ2Gl2/s600/WS000144.JPG"/></a></div>
ここで使用するイメージはデモでよく使われているkuardをお借りします。<br>
先ほど作成した名前空間を指定し、Deploymentsの名前を設定し、レプリカ数はとりあえず1にしておきます。<br>
このアプリケーションはポート番号8080を使うので『Add Port』をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiydtGgow6MC8Y2mUSfu1eJoyJlHRiepFkEHDIOAeAoI9bRvqPTKfo4IxidFWMZI-jbVfyTETqWp6vlfRPa7uTNLY-ZJ29oFy04VIbpjN2Np6S3LcuRnBZMx8kDIYuBmhJGODftSXIKcGdj5DHLGhdACyOXzMO9eq4bECkL3augc-arRpoquPnjlaWoECxp/s1724/WS000147.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="843" data-original-width="1724" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiydtGgow6MC8Y2mUSfu1eJoyJlHRiepFkEHDIOAeAoI9bRvqPTKfo4IxidFWMZI-jbVfyTETqWp6vlfRPa7uTNLY-ZJ29oFy04VIbpjN2Np6S3LcuRnBZMx8kDIYuBmhJGODftSXIKcGdj5DHLGhdACyOXzMO9eq4bECkL3augc-arRpoquPnjlaWoECxp/s600/WS000147.JPG"/></a></div>
ここで一緒に外部と接続するためのリソースのServiceを作成することができるようなので、コンテナが待ち受けるポート8080とプロトコル、外部から待ち受けるポート80を設定します。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYQhztcGRTtk6dL-JYALS5FU8pKL77iYjYg4tym3wJaVK7fGtYf1POhtQ4We3qoULjGT2IefZJJldowzvh4682Ieijg8wb71crT0Epgb7WOXy5zIZwzTM6TleOAHOegPP8Ss5utBOZtEb5YhT_3y44oSIJQqdnN4KQ9ipu0qRwx_iLYwHPvhgm1SBKjO52/s1713/WS000149.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="834" data-original-width="1713" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYQhztcGRTtk6dL-JYALS5FU8pKL77iYjYg4tym3wJaVK7fGtYf1POhtQ4We3qoULjGT2IefZJJldowzvh4682Ieijg8wb71crT0Epgb7WOXy5zIZwzTM6TleOAHOegPP8Ss5utBOZtEb5YhT_3y44oSIJQqdnN4KQ9ipu0qRwx_iLYwHPvhgm1SBKjO52/s600/WS000149.JPG"/></a></div>
PodとServiceを紐付けるためにラベルが必要なので『pod』に表示を切り替えてラベルの設定をしましょう。<br>
手動で設定かなと思ったら自動で入ってましたのでこれを使ってみることにしました。<br>
この辺は普段yamlを書いている人なら使いたい値だけ入れればいいのですが、何も知らない人が使ってもさっぱりわからないと思うのでKubernetesの経験者が扱うツールなのだなぁと実感しますね。<br>
『Create』から作成します。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPncjoAR4yu7Q535i5ATc0vko0ksGVMOakQ__Z-URf7uVoPBL7avjrZVu4Zj3bkAwBZQUXop6rKIGf-6CfYypdbVRVSrFWPzVDxW52eTQG0_j0TdTBOpmVTPckL7GHRgqV5rEl00lThvoHJlrBFBmc8jogqjm9DZaaYy3NclmN60zi239XlqQsZnaJbehK/s1720/WS000150.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="838" data-original-width="1720" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPncjoAR4yu7Q535i5ATc0vko0ksGVMOakQ__Z-URf7uVoPBL7avjrZVu4Zj3bkAwBZQUXop6rKIGf-6CfYypdbVRVSrFWPzVDxW52eTQG0_j0TdTBOpmVTPckL7GHRgqV5rEl00lThvoHJlrBFBmc8jogqjm9DZaaYy3NclmN60zi239XlqQsZnaJbehK/s600/WS000150.JPG"/></a></div>
作成を実行すると以下のように、DeploymentsとPodにそれぞれリソースが作成されます。
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbbanFXAXuQazdPSyRcbZTFn8gT4HParDkyLJuJ0q4QtFCDi0Ytl32vS3__-om2Chzlh15fREPw-cGAMkI6_8KbwDDI-imXbzLZFn4RSg4CEtd3g5A2UUGFB3mCm-aSDBfH0lqt4ZZHBvc99X187d6-IZpc1K5pjkD0qy6jjtD55RaqIfQGTNy-59mUb1V/s1720/WS000151.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="835" data-original-width="1720" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbbanFXAXuQazdPSyRcbZTFn8gT4HParDkyLJuJ0q4QtFCDi0Ytl32vS3__-om2Chzlh15fREPw-cGAMkI6_8KbwDDI-imXbzLZFn4RSg4CEtd3g5A2UUGFB3mCm-aSDBfH0lqt4ZZHBvc99X187d6-IZpc1K5pjkD0qy6jjtD55RaqIfQGTNy-59mUb1V/s600/WS000151.JPG"/></a></div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUaIx_dpBkd-MClKHvxavMYKOZFKlk_pXDTo59s0amASur-kXdNaq6MXaRabHZpnis-_zkIxiVrdQxQltsBeqiCq7ta4kvmvLYgmtjf0Grk7EdIv2SUENlso3z5sELw2f4kdsGKT3Tjm8gq5tu5LQgFmb0HVjebjwcbhtkduvyTOJ_HpRyd4ZPv-UYGR11/s1720/WS000152.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="838" data-original-width="1720" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUaIx_dpBkd-MClKHvxavMYKOZFKlk_pXDTo59s0amASur-kXdNaq6MXaRabHZpnis-_zkIxiVrdQxQltsBeqiCq7ta4kvmvLYgmtjf0Grk7EdIv2SUENlso3z5sELw2f4kdsGKT3Tjm8gq5tu5LQgFmb0HVjebjwcbhtkduvyTOJ_HpRyd4ZPv-UYGR11/s600/WS000152.JPG"/></a></div>
作成したら実機を見てみましょう。<br>
それぞれリソースが作成されていますね。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ-kxui9bdbqiYSwKZIjm9CE09Up2axTb64MLzBjSBS7_xHD4YYad2KRAKOyhEvsjWuCRSTtP3D6RhD2RaC1eRjqfIudF2uhTE9mZF3PEtjFfI03Z1BdWX6LnuJ27Y81jbJQCezXIqAi1pVQmazXDuKRkHePimnGOf7fzGFZfZiTwohuS0GSChx7G5afGY/s448/WS000153.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="90" data-original-width="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ-kxui9bdbqiYSwKZIjm9CE09Up2axTb64MLzBjSBS7_xHD4YYad2KRAKOyhEvsjWuCRSTtP3D6RhD2RaC1eRjqfIudF2uhTE9mZF3PEtjFfI03Z1BdWX6LnuJ27Y81jbJQCezXIqAi1pVQmazXDuKRkHePimnGOf7fzGFZfZiTwohuS0GSChx7G5afGY/s600/WS000153.JPG"/></a></div>
Podにはラベルが付与されています。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCqI113Frjs2zB9NhCaUrBe2uY5nTOft-g4uEb7aKCaze68RgXgnIjeQvTSJ2J3tg-jE-JAoFZirBvgT1axdAswn9JiGQAnJxvfT_n5BI_e-tA4U99-pgGOs5ZGQjLv7PjETgCxCUNfc3ntQihktTlap-w88E00klXqL4KudHLOdLZ6lPSqAUx5IjgP7uc/s1349/WS000156.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="54" data-original-width="1349" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCqI113Frjs2zB9NhCaUrBe2uY5nTOft-g4uEb7aKCaze68RgXgnIjeQvTSJ2J3tg-jE-JAoFZirBvgT1axdAswn9JiGQAnJxvfT_n5BI_e-tA4U99-pgGOs5ZGQjLv7PjETgCxCUNfc3ntQihktTlap-w88E00klXqL4KudHLOdLZ6lPSqAUx5IjgP7uc/s600/WS000156.JPG"/></a></div>
ServiceにはPodに付与されたラベルがSELECTORにセットされています。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRe4l3eJnR7g1TZnlhDprpQ6ghaUgua-I8rWyLkwpk7NaNXQ2tHAMy5laHV6ikegpGsEVty8_zX8R4nYr8JVpCR4R0ugQUqjbda37sCS8AlpXeDEI2oHdZZ6YttXdLslBsnIV_f4uBXj9MHR7sKCV2EStQXsn42nKHM_Aw1SrVbPEL1A6UaAeGYeCztdwX/s1354/WS000155.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="79" data-original-width="1354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRe4l3eJnR7g1TZnlhDprpQ6ghaUgua-I8rWyLkwpk7NaNXQ2tHAMy5laHV6ikegpGsEVty8_zX8R4nYr8JVpCR4R0ugQUqjbda37sCS8AlpXeDEI2oHdZZ6YttXdLslBsnIV_f4uBXj9MHR7sKCV2EStQXsn42nKHM_Aw1SrVbPEL1A6UaAeGYeCztdwX/s600/WS000155.JPG"/></a></div>
では、ちゃんと接続できるかEXTERNAL-IPに表示されているIPへブラウザからアクセスしてみます。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRhhA4j16CCagFRNYpbwL5Kg4NvpL-mqGhLhI9nvMoWIBmDvM5fWv_uCWnIrfSBbJVZvHWFYnl1G39gGf3zz9G5JvVd6FndHQYqk-atbRCO5ZrLkV_10TSsh9AI2ySgDm5-JtPuBKNoxXtJdA4xJanH4xJM3jJtfRiKxV1tCk7-f0jq33gyGYyugo4xSh7/s1710/WS000157.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="689" data-original-width="1710" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRhhA4j16CCagFRNYpbwL5Kg4NvpL-mqGhLhI9nvMoWIBmDvM5fWv_uCWnIrfSBbJVZvHWFYnl1G39gGf3zz9G5JvVd6FndHQYqk-atbRCO5ZrLkV_10TSsh9AI2ySgDm5-JtPuBKNoxXtJdA4xJanH4xJM3jJtfRiKxV1tCk7-f0jq33gyGYyugo4xSh7/s600/WS000157.JPG"/></a></div>
ちゃんと動いていてくれていますね。<br>
動くかどうか若干不安ではあったんですが問題がないようでほっとしました。<br>
結構素直に動いてくれてありがたいです。<br>
私は正直もうyamlを書くことの方に慣れてしまったのでyamlを書いたほうがしっくりくる体質になっているのですが、GUIで完結できそうなのはいろんな人が使う上ではいいのかなと思います。<br>
<br>
今回は以上です。<br>
<br>
参考情報<br>
https://github.com/kubernetes-up-and-running/kuard<br>hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-29885480576703472482023-08-04T23:17:00.003+09:002023-08-17T12:35:52.819+09:00海外でのワーケーションを考える その7 Google CloudでChrome Remote Desktopを利用する<p></p><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLZuPUFsXp04MJk2Fdp1vnqLhZ2s9ysIFQ_NGL9Be1wyiabTZhs7dLFCZpdllmp5RjOnFZVnQ7vfGf970osSARz-noLudVwRCydy5UN9iZ81tLLHJPmacAIcAOoSl2KlYUG4pwydnGpgtwg3dVtopjBp6xEiTUYfByvtz3woJiEuwHbPQY4WwA-o3GwA8/s640/IMG_8350.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="426" data-original-width="640" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLZuPUFsXp04MJk2Fdp1vnqLhZ2s9ysIFQ_NGL9Be1wyiabTZhs7dLFCZpdllmp5RjOnFZVnQ7vfGf970osSARz-noLudVwRCydy5UN9iZ81tLLHJPmacAIcAOoSl2KlYUG4pwydnGpgtwg3dVtopjBp6xEiTUYfByvtz3woJiEuwHbPQY4WwA-o3GwA8/w400-h266/IMG_8350.JPG" width="400" /></a></div></div><div style="text-align: center;"><br /></div><p>「海外でのワーケーションを考える」7回目の投稿です。</p><div>まとめはこちら</div><p style="text-align: left;"><a href="https://techblog-cidept.blogspot.com/2023/08/blog-post.html"></a></p><blockquote><p style="text-align: left;"><a href="https://techblog-cidept.blogspot.com/2023/08/blog-post.html">https://techblog-cidept.blogspot.com/2023/08/blog-post.html</a></p><p></p><div style="text-align: left;"></div></blockquote><div style="text-align: left;"><br /></div><div style="text-align: left;">前回は、Google Chrome Remote Desktopの通信について、調べてみました。</div><p></p><p style="text-align: left;">今回は、海外の旅行先の最寄りのGoogle Cloud リージョンにGoogle Chrome Remote Desktop用のVMインスタンスを作成してみます。Google Cloudは東南アジアのシンガポールとジャカルタにリージョンを展開しています。今回は、ジャカルタ リージョン(asia-southeast2)にインスタンスを作成します。</p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhZCrTJk-Zx3HpdKTc3NSaayP7tXXpTXBhFMLOsXZh78GJz1nwPj10YAYZzhNT8WSI45v0TqQ2rNIvm5ZeVyXi97TYIS4JoErfPf6yGJgjeSOJC5ePkXBsLFbykDTeqnoO32UyyCdnbM9X0APLUeIo4irFVNUQQed8454Lryva8G1_JBixVzm-RIZWilYA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="312" data-original-width="671" height="186" src="https://blogger.googleusercontent.com/img/a/AVvXsEhZCrTJk-Zx3HpdKTc3NSaayP7tXXpTXBhFMLOsXZh78GJz1nwPj10YAYZzhNT8WSI45v0TqQ2rNIvm5ZeVyXi97TYIS4JoErfPf6yGJgjeSOJC5ePkXBsLFbykDTeqnoO32UyyCdnbM9X0APLUeIo4irFVNUQQed8454Lryva8G1_JBixVzm-RIZWilYA=w400-h186" width="400" /></a></div><br />今回Google Cloudで構成するVMインスタンスは以下となります。<p></p><p style="text-align: left;">Google Cloud</p><p style="text-align: left;"> VM インスタンス</p><p style="text-align: left;"></p><ul style="text-align: left;"><li>VMインスタンス名:crdhost</li><li>マシンタイプ:e2-medium</li><li>イメージ:debian-11-bullseye-v20230711</li><li>他はデフォルトのまま</li></ul><div>Google Cloud でGoogle Chrome Remote Desktopを利用するVMインスタンスの作成手順は以下のGoogle Cloudのドキュメントに記載されています。</div><p style="text-align: left;"></p><blockquote><p style="text-align: left;">Compute Engine での Linux 向け Chrome リモート デスクトップのセットアップ<br /><a href="https://cloud.google.com/architecture/chrome-desktop-remote-on-compute-engine?hl=ja">https://cloud.google.com/architecture/chrome-desktop-remote-on-compute-engine?hl=ja</a></p><p style="text-align: left;"></p></blockquote><p style="text-align: left;">このドキュメントに沿って作成するとChrome Remote Desktop HostがインストールされたVMインスタンスを簡単に構築できます。</p><p style="text-align: left;">VMインスタンスを作成したあと、ドキュメントに準備されているChrome リモートデスクトップのインストール用スクリプトをコピー&ペーストしてインストールするだけです。ものすごく簡単です。</p><p style="text-align: left;"></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj3_Nlbffr-70GX8KrClgMdGQ1euokcw4PsugFvyBy4JAoE1fELxJzjzXjSI8a7N_qoRN4bAPTPdtw3sZgP6jX4fjEFSF-S7ET1_9lg1722288dcC2b1dv7kUXTdBPXieOjd6kPfzrzlMWmXVGFAA1gpQCI_KnFdrUxWyUO8TGBAGrgrK7cXNNE3BsFaGE" style="margin-left: auto; margin-right: auto;"><img alt="" data-original-height="514" data-original-width="1329" height="155" src="https://blogger.googleusercontent.com/img/a/AVvXsEj3_Nlbffr-70GX8KrClgMdGQ1euokcw4PsugFvyBy4JAoE1fELxJzjzXjSI8a7N_qoRN4bAPTPdtw3sZgP6jX4fjEFSF-S7ET1_9lg1722288dcC2b1dv7kUXTdBPXieOjd6kPfzrzlMWmXVGFAA1gpQCI_KnFdrUxWyUO8TGBAGrgrK7cXNNE3BsFaGE=w400-h155" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"></td></tr></tbody></table><br /><p></p><p style="text-align: left;">Google Cloud のコンピュートインスタンスの操作は、コンソールからSSHクライアントを起動して操作できます。コピー&ペーストまでできるのでとても便利です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj21TKfKL7iT7_J9xq-LMPGX7Rx_vp2fJi3i5vHXi_HVBX_Ufry7elSAhVtoDyMgJM3XsGpkWtiwuxt2Uda-msi8MwHjaY2hg0G0jFgAJyOHHlIS4t8TCeZMSrifYbnv0lG60QU9iYv_zLmoiFUYMXnjKR5KMv-6MRrabES4F9qB2sR-tpirVrjh6dsX8s/s970/SSH.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="308" data-original-width="970" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj21TKfKL7iT7_J9xq-LMPGX7Rx_vp2fJi3i5vHXi_HVBX_Ufry7elSAhVtoDyMgJM3XsGpkWtiwuxt2Uda-msi8MwHjaY2hg0G0jFgAJyOHHlIS4t8TCeZMSrifYbnv0lG60QU9iYv_zLmoiFUYMXnjKR5KMv-6MRrabES4F9qB2sR-tpirVrjh6dsX8s/w400-h127/SSH.jpg" width="400" /></a></div><p style="text-align: left;"><br /></p><p style="text-align: left;">同様に用意されているX Windows System デスクトップ環境のスクリプトを利用してGUI環境をインストールします。低速なネットワーク経由のリモート接続には、Xfceが良いようなのでXfceを利用します。 好みに応じてDebianの日本語環境を整えます。今回は私の家族が使うことを想定していますので、日本語環境をインストールしました。Debian日本語環境のインストール方法はGoogle Cloud のドキュメントに記載されていないので、インターネット上に公開されているDebianの情報を参考に設定します。</p><p style="text-align: left;">X Windows System デスクトップ環境までインストールしたらChrome リモート デスクトップ サービスを構成してクライアントからジャカルタリージョンに構築したVMインスタンスへリモート接続できるように構成します。手順は前回の操作とそれほど変わりません。</p><p style="text-align: left;">構成が完了したら、クライアントから以下のURLにアクセスします。<br /></p><blockquote><p style="text-align: left;">https://remotedesktop.google.com/access</p></blockquote><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><span id="docs-internal-guid-8be92f6f-7fff-de52-cc62-a3ce8afcf7ef"> </span> <img height="187" src="https://lh6.googleusercontent.com/oMV07yHWWUQqBjWHRlnM1YW2UJqHo0YkrE2_bfWZR7hMx1_-Tc9m1DAMKDF8ntcmiSz-OZs_SlAocJAlOYMbfsPhH-jnJlgsYvMqDpQW4MA2pUecQ17lB9Wx2EFxQaFw7MNP_yknQe5phf8y_wBG2uZZUg=w400-h187" width="400" /></div></div><br />Google Chrome リモートデスクトップよりリモートアクセスを表示します。<p></p><p style="text-align: left;">作成したVMインスタンス「crdhost」が表示されオンラインになっています。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgRcWTQWdm9z2hWPHo1cDWISJ-1wdIjyWR0vFZirdkuFljWzqNFV9zM1vT41AZdgxWeJfA_FO--rcQFany9bNvGzsTxKW9TxhHE22wFlgUO0ej7mt19EGAHvsTecmdoqYw8ZxC5coVWgLXsZJUh6zTU8rnnELyVaE-ecXStsJCRXYBGCmZLcg36_N08kyc" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="721" data-original-width="1920" height="150" src="https://blogger.googleusercontent.com/img/a/AVvXsEgRcWTQWdm9z2hWPHo1cDWISJ-1wdIjyWR0vFZirdkuFljWzqNFV9zM1vT41AZdgxWeJfA_FO--rcQFany9bNvGzsTxKW9TxhHE22wFlgUO0ej7mt19EGAHvsTecmdoqYw8ZxC5coVWgLXsZJUh6zTU8rnnELyVaE-ecXStsJCRXYBGCmZLcg36_N08kyc=w400-h150" width="400" /></a></div><div><br /></div>クリックしてリモート接続します。接続手順は前回と同じです。<div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgMo6ULP29zGAMfyc4Ud49k9Vm8vyDrnbbKNornwgKlbeEyvRH71DKJDLq1RSl2-iv6XhItxJ4TqYhdENYLoJkQdMcpRHDcEsM5bphpBTLETwkT5khu4rtSjbyF8nzKQZXdJTziwdftYVY6_WYBjc-l_czEsq9sPjRwTuSkUMYbWeMUSpkld3GqVResCpE" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="727" data-original-width="1004" height="290" src="https://blogger.googleusercontent.com/img/a/AVvXsEgMo6ULP29zGAMfyc4Ud49k9Vm8vyDrnbbKNornwgKlbeEyvRH71DKJDLq1RSl2-iv6XhItxJ4TqYhdENYLoJkQdMcpRHDcEsM5bphpBTLETwkT5khu4rtSjbyF8nzKQZXdJTziwdftYVY6_WYBjc-l_czEsq9sPjRwTuSkUMYbWeMUSpkld3GqVResCpE=w400-h290" width="400" /></a></div><br />ジャカルタリージョンのVMインスタンスにアクセスできました。<br /><p></p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgLeGyJk7ax9d68Q08Ad1WPXZ3uMjkBTogau_g8N9a1jZoeuYzRHWEKGK8eIzvQxW0MnbC56alcHvst6BjcV9_a3FPz5zY3mIgUhoKA8KalwhKYr1Ep54in07WmUjksPffgW2WgRcmIXm8YTLN3jlr5c7ZljC0y3VbHb4iZk9gCAJib88JnZ9-cdkJPhvI" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="851" data-original-width="1920" height="178" src="https://blogger.googleusercontent.com/img/a/AVvXsEgLeGyJk7ax9d68Q08Ad1WPXZ3uMjkBTogau_g8N9a1jZoeuYzRHWEKGK8eIzvQxW0MnbC56alcHvst6BjcV9_a3FPz5zY3mIgUhoKA8KalwhKYr1Ep54in07WmUjksPffgW2WgRcmIXm8YTLN3jlr5c7ZljC0y3VbHb4iZk9gCAJib88JnZ9-cdkJPhvI=w400-h178" width="400" /></a></div><br />東京のクライアント → ジャカルタのVMインスタンス → 東京のホストへアクセスしてみました。若干のラグはありましたが、リモート操作も可能でした。この環境で家族に一度テストしてもらい、問題ないか確認してもらおうと思います。それでは。</div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-35266828216273504472023-08-04T08:55:00.009+09:002023-09-10T12:39:01.345+09:00海外でのワーケーションを考える<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjED078Ia_COyT5hm7aomV1GSVeR_eW5fHhYP0zYO9GO70BabuIo52aw0qVeR0S7zH37WU7IH2KxEhbwlJmBfn1lruCpdPXGgbRf_HQ3jt63I8Mc3aBSUcgYgx-nvoSgtGAnJLcIbDPLgbtTh0N3Scvco6lJYaFGHVZeq7U5oCx1coEDh6rvuV78TLhViE/s320/IMG_7475.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="320" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjED078Ia_COyT5hm7aomV1GSVeR_eW5fHhYP0zYO9GO70BabuIo52aw0qVeR0S7zH37WU7IH2KxEhbwlJmBfn1lruCpdPXGgbRf_HQ3jt63I8Mc3aBSUcgYgx-nvoSgtGAnJLcIbDPLgbtTh0N3Scvco6lJYaFGHVZeq7U5oCx1coEDh6rvuV78TLhViE/w400-h300/IMG_7475.JPG" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">家族が海外旅行するときに自宅にある仕事用PCへアクセスする方法を検討しました。そのブログ記事のまとめです。</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><a href="https://techblog-cidept.blogspot.com/2023/05/blog-post.html">海外でのワーケーションを考える その1 実現したいこと</a></div><div class="separator" style="clear: both; text-align: left;"><a href="https://techblog-cidept.blogspot.com/2023/05/blog-post_30.html">海外でのワーケーションを考える その2 自宅への接続方法を考える</a></div><div class="separator" style="clear: both; text-align: left;"><a href="https://techblog-cidept.blogspot.com/2023/05/blog-post_31.html">海外でのワーケーションを考える その3 旅先のクライアントPCからクラウドへの接続を考える</a></div><div class="separator" style="clear: both; text-align: left;"><a href="https://techblog-cidept.blogspot.com/2023/07/windows-home.html">海外でのワーケーションを考える その4 Windows Homeへの接続方法を検討する ①</a><br /><div class="separator" style="clear: both;"><a href="https://techblog-cidept.blogspot.com/2023/07/windows-home_28.html">海外でのワーケーションを考える その5 Windows Homeへの接続方法を検討する ②</a></div><div class="separator" style="clear: both;"><a href="https://techblog-cidept.blogspot.com/2023/08/google-chrome-remote-desktop.html">海外でのワーケーションを考える その6 Google Chrome Remote Desktopの通信詳細を調べる</a></div><div><a href="https://techblog-cidept.blogspot.com/2023/08/7google-cloudchrome-remote-desktop.html">海外でのワーケーションを考える その7 Google CloudでChrome Remote Desktopを利用する</a></div></div><div class="separator" style="clear: both; text-align: left;"><a href="https://techblog-cidept.blogspot.com/2023/09/chrome-remote-desktop.html">海外でのワーケーションを考える その8 海外からChrome Remote Desktopを利用してみた</a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><p></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-18228434641469829142023-08-03T00:08:00.023+09:002023-08-03T00:13:59.625+09:00海外でのワーケーションを考える その6 Google Chrome Remote Desktopの通信詳細を調べる<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYfiC4kNTIi5gxLTayLP6YDNCeT1yGK2Zz4l3sapIrEwSMjRsKOR_BAK9xM8BCd_BN9twgnZFY7mASxvgosVMPH_qTzRXTjztMCvxMjgjNLGteX48sAjxMKHVxUlf_k9YNoNwBvdNCRKMYSGiKi6sRjlMNUQHgwb3RNVis-JuyEnaDtJChYTNMw1fgU0g/s320/IMG_8149.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="213" data-original-width="320" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYfiC4kNTIi5gxLTayLP6YDNCeT1yGK2Zz4l3sapIrEwSMjRsKOR_BAK9xM8BCd_BN9twgnZFY7mASxvgosVMPH_qTzRXTjztMCvxMjgjNLGteX48sAjxMKHVxUlf_k9YNoNwBvdNCRKMYSGiKi6sRjlMNUQHgwb3RNVis-JuyEnaDtJChYTNMw1fgU0g/w400-h266/IMG_8149.JPG" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p>前回はGoogle Chrome Remote Desktopクライアントからホストへ接続してみました。</p><p>今回はGoogle Chrome Remote Desktopの通信について、調べてみたいと思います。</p><p>Google Chrome Remote Desktopの通信で利用されるプロトコルやポートについて、以下のドキュメントに記載されています。<br /><br /></p><blockquote><p>Chrome リモート デスクトップを使って他のパソコンにアクセスする</p><p><a href="https://support.google.com/chrome/answer/1649523">https://support.google.com/chrome/answer/1649523</a></p></blockquote><p><br />上記リンクの中に「問題解決のヒント」が記載されており、以下の記載がされています。</p><p>以下、抜粋です。</p><p></p><ul style="text-align: left;"><li>インターネット接続が必要</li><li>アウトバウンド UDP トラフィック</li><li>インバウンド UDP 応答</li><li>TCP ポート 443(HTTPS)のトラフィック</li><li>TCP と UDP のポート 3478(STUN)のトラフィック</li></ul><p></p><p>UDP、TCP443、そして、STUN (Session Traversal Utilities for NATs) という技術が使われています。STUN (Session Traversal Utilities for NATs) とは何でしょうか?</p><p><br />STUNとは、Web RTC (Web Real-Time Communication)で利用されるNAT越え通信を解消するための仕組みです。以下の記事に詳しく書かれています。</p><p style="text-align: left;"></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p>初心者必見!よくわかるWebRTCの仕組み</p><p><a href="https://cloudapi.kddi-web.com/magazine/webrtc/understood-webrtc-mechanism">https://cloudapi.kddi-web.com/magazine/webrtc/understood-webrtc-mechanism</a></p></blockquote><p></p><p style="text-align: left;"><br />また、以下のnoteの記事にもChrome リモートデスクトップ通信について詳しく説明されています。<br /></p><blockquote>Chrome リモートデスクトップの安全性について<br /><a href="https://note.com/machii_kuro/n/n420f3c05ffb9">https://note.com/machii_kuro/n/n420f3c05ffb9</a></blockquote><a href="https://note.com/machii_kuro/n/n420f3c05ffb9"></a><br />この仕組みによってルーターに公開サーバーの設定をせずにGoogle Chrome Remote Desktopクライアントとホストの間で通信ができているのですね。<p></p><div><br /></div><div>今回の目的は、旅先の東南アジアの滞在先から自宅のPCへリモート接続できることです。接続先PCがWindows10 Homeのため、Google Chrome Remote Desktopの利用を前提に検討したいと思います。</div><div><br />東南アジアから日本のPCへのP2P接続をどのように構築するか。</div><div>Google Cloudに何かドキュメントが無いかと思い探していたら以下の記載を見つけました。<br /><br /></div><blockquote><div>Compute Engine での Linux 向け Chrome リモート デスクトップのセットアップ</div><div><a href="https://cloud.google.com/architecture/chrome-desktop-remote-on-compute-engine?hl=ja">https://cloud.google.com/architecture/chrome-desktop-remote-on-compute-engine?hl=ja</a></div><div><br /></div><div></div></blockquote><div>LinuxでもChrome リモートデスクトップを利用できるようです。Windows版のドキュメントもありますが、コスト面からLinuxで構築したほうがコストを安く抑えられそうです。</div><div>Google Cloudはシンガポールとジャカルタにリージョンを展開しているので、どちらかにインスタンスを展開して利用できそうです。</div><blockquote><div>Google Cloud <br />Cloud のロケーション</div><div><a href="https://cloud.google.com/about/locations?hl=ja#asia-pacific">https://cloud.google.com/about/locations?hl=ja#asia-pacific</a></div><div><br /></div><div></div></blockquote><div>東南アジアの滞在先から日本の自宅へ直接Google Chrome Remote Desktopで接続することもできそうですが、現地の通信状況がわからないため、クラウドが提供する広帯域ネットワークインフラの利用も検討しておいた方が無難に思えます。</div><div><br /></div><div>次回は、Google Cloud にインスタンスを構築してGoogle Chrome Remote Desktopの動作を確認してみたいと思います。それでは。</div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-22814694852414552822023-07-31T18:00:00.002+09:002023-10-19T13:23:51.465+09:00Rancharでkubernetesの管理をしてみる 第4回 制限付き管理者を確認してみる<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
今回は、新しくユーザーを作成して「制限付き管理者」の権限を与えてみたいと思います。<br>
早速管理者権限のユーザーでログインして、新規ユーザーuser02を作っていきましょう。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpqCdbhLa0pkpM4q0Sd7INj2jvtYIeW13vOXxSm4yq6ACA6258U9UtaQFKRz9ZuVePxWQjkVAyolZUBp5QuT0KGlUTzIzaCNTkE55-ulqN8F4e6jF0lZGy4vW5BoX32LOIoYzm9br4j8Je9a0rSSfYoq9_h9ygqxmuiawczBSwizZLZ3IzwqXWXyvlIuOi/s1432/WS000083.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="985" data-original-width="1432" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpqCdbhLa0pkpM4q0Sd7INj2jvtYIeW13vOXxSm4yq6ACA6258U9UtaQFKRz9ZuVePxWQjkVAyolZUBp5QuT0KGlUTzIzaCNTkE55-ulqN8F4e6jF0lZGy4vW5BoX32LOIoYzm9br4j8Je9a0rSSfYoq9_h9ygqxmuiawczBSwizZLZ3IzwqXWXyvlIuOi/s600/WS000083.JPG"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLqes_SyGoR_Vl8CC43wPv8N3mi8Jbh3dpq_2QfURCuP7wmlVN0PfzFZzxLwo3D9OFz39Sw8gHYLiVqQFNLp3geQifNXts3IRbvfdPKW7K5E0jqBiMcX3P1IcSHIS9pGbG_0tgpXVX0oYU5ipmbfwchMYwpmB0MX-1aEKt1Fupkpzd2IgZuQnJsSrgA2Bi/s1446/WS000085.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="953" data-original-width="1446" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLqes_SyGoR_Vl8CC43wPv8N3mi8Jbh3dpq_2QfURCuP7wmlVN0PfzFZzxLwo3D9OFz39Sw8gHYLiVqQFNLp3geQifNXts3IRbvfdPKW7K5E0jqBiMcX3P1IcSHIS9pGbG_0tgpXVX0oYU5ipmbfwchMYwpmB0MX-1aEKt1Fupkpzd2IgZuQnJsSrgA2Bi/s600/WS000085.JPG"/></a></div>
作成が終わったらログアウトしてuser02としてログインします。<br>
おや、特にメンバーに追加した覚えはないですが kubernetesクラスターが見えていますね。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4mwj8eRCSV-ErMSOZpCZqnIoMp7K52sbUDLvCOo3X3lPd8XffQrROgIFXoB8a7gpFSMY_AGh4eMPTB5DgxGYuNU6WGb-jIh3lCgeWXWqYqMFunPx555uqbgV9croIc2ltbyS7K-j7dgp4NJ6-Eh5xT8DAwfsPYA9ihdPkN8UtjGrTVxbGBJkFINeamaNs/s1447/WS000087.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="872" data-original-width="1447" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4mwj8eRCSV-ErMSOZpCZqnIoMp7K52sbUDLvCOo3X3lPd8XffQrROgIFXoB8a7gpFSMY_AGh4eMPTB5DgxGYuNU6WGb-jIh3lCgeWXWqYqMFunPx555uqbgV9croIc2ltbyS7K-j7dgp4NJ6-Eh5xT8DAwfsPYA9ihdPkN8UtjGrTVxbGBJkFINeamaNs/s600/WS000087.JPG"/></a></div>
念のためにこのクラスターのメンバーを確認してみましょう、制限付きとはいえ管理者なので自動で追加されているかもしれませんしね。<br>
と、思いましたが個別に追加はされていなかった。<br>
もともと存在しているDefault Admin が何かいい感じにしてくれてるのかもしれません。<br>
今はそういうものかと思っておきましょう。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuwdd6RwclKo2xjyaj3wBeUXWHqKjrSdG696mMgRBifORaYHwwGpXqNNY4ME4IxVyoMXdh7_911H-_F5ztQezH_rkMfWnfiFYH6wZ6df3wINzBETO1xx_sSFXe69yqqfJuWZaVYyYXCo3kMAiNAbuqs4wWkxPUpHpVBaRW4bnyAvbW34P0pqlZxKXtxZBC/s1450/WS000088.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="725" data-original-width="1450" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuwdd6RwclKo2xjyaj3wBeUXWHqKjrSdG696mMgRBifORaYHwwGpXqNNY4ME4IxVyoMXdh7_911H-_F5ztQezH_rkMfWnfiFYH6wZ6df3wINzBETO1xx_sSFXe69yqqfJuWZaVYyYXCo3kMAiNAbuqs4wWkxPUpHpVBaRW4bnyAvbW34P0pqlZxKXtxZBC/s600/WS000088.JPG"/></a></div>
コマンドも実行可能ですね。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs0pkfWdTT6RfGAeGT2mcMgMBsuqeQ1esRo9XjAQMkTqkd_QArtqfq7pdS9VamV_N8lKy0Umq7cfJqGVgnJEYly9RofqyWPqmTwEs2MxbvcJuxJJgcW-IkStf-VDXeJmXdGt2dW53wuWWEWskfy8AidvQdfWhj_mtv3Sno8uxo0iUM2pGIwoZ1gzyhhX1J/s1456/WS000089.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1038" data-original-width="1456" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs0pkfWdTT6RfGAeGT2mcMgMBsuqeQ1esRo9XjAQMkTqkd_QArtqfq7pdS9VamV_N8lKy0Umq7cfJqGVgnJEYly9RofqyWPqmTwEs2MxbvcJuxJJgcW-IkStf-VDXeJmXdGt2dW53wuWWEWskfy8AidvQdfWhj_mtv3Sno8uxo0iUM2pGIwoZ1gzyhhX1J/s600/WS000089.JPG"/></a></div>
クラスターに対して操作可能な内容も確認していってみましょう。<br>
一画面に収まらなかったですが、見覚えのあるリソース名が色々確認できます。<br>
「Pods」からは各名前空間に作成されているPodが一覧で確認できます。<br>
これは、結構見やすくていいですね。<br>
「Create」があるのでもしかしてここからPodが作成できるのでしょうか・・・<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAl1ZsfRMlwcw8W692OvuNs9mDFx6k6ep7c007SaE71DGeAbnGjQ6JNYIjVZrLX9sxYBnoZMtIgttqjSDpeJJNW5_myBXsUfgCwdeCeoLysBirLFcKpYSLvDLAbXXyqaF-PmFs01Zz5JqkWempjboYB3H7-colTzwGtyafcax4h2boYBginfQGisQmCMEN/s1699/WS000094.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="820" data-original-width="1699" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAl1ZsfRMlwcw8W692OvuNs9mDFx6k6ep7c007SaE71DGeAbnGjQ6JNYIjVZrLX9sxYBnoZMtIgttqjSDpeJJNW5_myBXsUfgCwdeCeoLysBirLFcKpYSLvDLAbXXyqaF-PmFs01Zz5JqkWempjboYB3H7-colTzwGtyafcax4h2boYBginfQGisQmCMEN/s600/WS000094.JPG"/></a></div>
できるみたいですね、これはすごい。<br>
yamlを書かなくてもPod作れちゃうんですね。<br>
テストでPodを一つ作ってみましょうか。<br>
</div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_7fw_sIip0wD5vEN9z7bzSfm1NxfkSiGGeWbM-FgDsU0W1-DRuSkUs9FDMFCqqhn4MFyG2Fl7dI7Mx0zIBUixewCRufJsZdZqObkfKi1gjcHNG0J1dIeueT5vAf9ezIA64dVuVQIpC9zv3dsLPxS3mkUKCp2dYexuEDIrt9qwdHp5R6E2zktlliLtms4V/s1697/WS000101.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="828" data-original-width="1697" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_7fw_sIip0wD5vEN9z7bzSfm1NxfkSiGGeWbM-FgDsU0W1-DRuSkUs9FDMFCqqhn4MFyG2Fl7dI7Mx0zIBUixewCRufJsZdZqObkfKi1gjcHNG0J1dIeueT5vAf9ezIA64dVuVQIpC9zv3dsLPxS3mkUKCp2dYexuEDIrt9qwdHp5R6E2zktlliLtms4V/s600/WS000101.JPG"/></a>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz49rFVj8OG1oRpjWswKqD6itIRdfGWtBjmQSOe85dLwMRPqL9KUwHK6HtLoCSY9DPoEH1DEJQYElmVwDqKsotRCj-NCEO6szz4lYdn34Bz4riXxlwlmVbVJ49YtMO2ObKd2852-JA8y82ovachAOukN0UqBjQPWaN9O0sWhl-gDKd7loRHbyjVvjCDgrP/s1698/WS000102.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="829" data-original-width="1698" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz49rFVj8OG1oRpjWswKqD6itIRdfGWtBjmQSOe85dLwMRPqL9KUwHK6HtLoCSY9DPoEH1DEJQYElmVwDqKsotRCj-NCEO6szz4lYdn34Bz4riXxlwlmVbVJ49YtMO2ObKd2852-JA8y82ovachAOukN0UqBjQPWaN9O0sWhl-gDKd7loRHbyjVvjCDgrP/s600/WS000102.JPG"/></a>
作成できたみたいです。<br>
</div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihUugWGYxSEV7MERlvivGVJm3YDjyQj1lG8fRVGj-Ng7BOnvW7BSxWmRuqPTDT1RgA-XY-7ckYyzBuIJHAX4PlNdLv4Ec4omP4YfsPmR56IFVhKoZnkNgZ-08b7JKBOmBvDDYdJYeJVIonUwGFCFhuVihwC1IEwXEkUp97tiGbi3WpoKcpCA8wkoGs9ClB/s1699/WS000103.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="819" data-original-width="1699" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihUugWGYxSEV7MERlvivGVJm3YDjyQj1lG8fRVGj-Ng7BOnvW7BSxWmRuqPTDT1RgA-XY-7ckYyzBuIJHAX4PlNdLv4Ec4omP4YfsPmR56IFVhKoZnkNgZ-08b7JKBOmBvDDYdJYeJVIonUwGFCFhuVihwC1IEwXEkUp97tiGbi3WpoKcpCA8wkoGs9ClB/s600/WS000103.JPG"/></a>
実際にクラスタノードの方にアクセスしてkubectl getを実行してみましょう。<br>
付与されているIPアドレスからGUI操作で作成したPodと判断できます。<br>
いやー、すごいですねこれは。<br>
</div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOINm5Pi6MVrEmX2BmMYKw11c3hBLx4A3Nga_GrkRBJWG9eslDrCDJJ8gbqHRiZXuiQsB0KmqNqZLL3isYqUKX_iQXqdOGcadVheYg0CsJqNeivak9r5EUh6T-YHXFISdWkMj2um2EI3FQNBljDASON7lxRfNA42CrfQ1kaVbkV8yPVyrv67J0kuRqY_H8/s900/WS000104.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="108" data-original-width="900" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOINm5Pi6MVrEmX2BmMYKw11c3hBLx4A3Nga_GrkRBJWG9eslDrCDJJ8gbqHRiZXuiQsB0KmqNqZLL3isYqUKX_iQXqdOGcadVheYg0CsJqNeivak9r5EUh6T-YHXFISdWkMj2um2EI3FQNBljDASON7lxRfNA42CrfQ1kaVbkV8yPVyrv67J0kuRqY_H8/s600/WS000104.JPG"/></a></div>
最後に何が制限されているのかというところを確認して今回は終わろうと思います。<br>
管理者の権限でログインした場合と見比べてみたところ、クラスターの『local』と『Extensions』だけが項目としては出てこないようです。<br>
メンバーの作成や削除といったユーザー管理も制限付き管理者で作成が行えるようなので、ほとんどのことは制限付き管理者でやれてしまいそうですね。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNXPVZEY1WMxGy75urX6d4fyvZPkwR4CWmuq5b6W5zylplsaWlEkRlp-Zll5AgU1mfbxMW5NEU9W9_5TkMlhIA3fSnmf5QUE-oNsUAYZ2C0jkWuk2uSZHmuVAovEJxtWYE33Exg_mlbFVFiWIPULAmk--vPOJF7NEQtW1yV6KN0sQCI4NJO0IxbuBm6-8q/s1698/WS000105.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="664" data-original-width="1698" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNXPVZEY1WMxGy75urX6d4fyvZPkwR4CWmuq5b6W5zylplsaWlEkRlp-Zll5AgU1mfbxMW5NEU9W9_5TkMlhIA3fSnmf5QUE-oNsUAYZ2C0jkWuk2uSZHmuVAovEJxtWYE33Exg_mlbFVFiWIPULAmk--vPOJF7NEQtW1yV6KN0sQCI4NJO0IxbuBm6-8q/s600/WS000105.JPG"/></a></div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUyiK06e2oa2aEFC8WXmVjS2ekKoWHV4FKusr5n9mDFTVPwlx2yRO4Wb34div7VWfyBrAjClkhheQdwgB-OqkCvlLllK1XPaR4CriJYGtEqX30jOrWD2d6g3i9UQJUQ8L3pw5C584s5p9cbBvtFPfNSvW8CNe-nPrP-Ez9jZm14fue7RAIrSW1SaxhnYES/s1703/WS000106.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="828" data-original-width="1703" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUyiK06e2oa2aEFC8WXmVjS2ekKoWHV4FKusr5n9mDFTVPwlx2yRO4Wb34div7VWfyBrAjClkhheQdwgB-OqkCvlLllK1XPaR4CriJYGtEqX30jOrWD2d6g3i9UQJUQ8L3pw5C584s5p9cbBvtFPfNSvW8CNe-nPrP-Ez9jZm14fue7RAIrSW1SaxhnYES/s600/WS000106.JPG"/></a></div>
では、次回もよろしくお願いします。<br>hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-89767203909340415132023-07-28T00:12:00.009+09:002023-08-02T12:35:58.625+09:00海外でのワーケーションを考える その5 Windows Homeへの接続方法を検討する ②<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrnxLCryt31kQpobr6CDGNB8vR9SwBzmIPZVVkJMq2XV4INDhp-9e73xEixUdPgmvTnvL2y7--TXb6uX3aqMzUcfeKQU40CcTU5nMftfE6ePf683uCQkdHLt73UyFdgEmMvkYu3Mxb6gCpiFArIZbEX7PaZbvou5dbtI8GENP7Pyc16fESDehxL58hYCo/s2048/IMG_3370.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1365" data-original-width="2048" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrnxLCryt31kQpobr6CDGNB8vR9SwBzmIPZVVkJMq2XV4INDhp-9e73xEixUdPgmvTnvL2y7--TXb6uX3aqMzUcfeKQU40CcTU5nMftfE6ePf683uCQkdHLt73UyFdgEmMvkYu3Mxb6gCpiFArIZbEX7PaZbvou5dbtI8GENP7Pyc16fESDehxL58hYCo/w400-h266/IMG_3370.JPG" width="400" /></a></div><br /><div><div>前回はリモートデスクトップ接続先のWindows PCにChrome Remote Desktop Hostをインストールしました。今回は、Chrome Remote Desktopクライアントアプリから前回インストールしたChrome Remote Desktop Hostへリモート接続してみます。本番ではChromebookを利用しますが、今、手元にないのでAndroidのスマートフォン(Google Pixel7)からアクセスしてみたいと思います。</div></div><div><br /></div><div>今回利用する環境は、以下の通りです。</div><div><br /></div><div>クライアント<br /><span> </span>・スマートフォン Google Pixel 7</div><div><span> </span>・前回Chrome Remote Desktop Hostを設定したGoogle アカウント</div><div> ・スマートフォンのインターネット回線はモバイル回線を利用</div><div><div></div></div><div><br /></div><div>ホスト</div><div><span> ・前回</span>Chrome Remote Desktop Hostを設定したWindows 11 Home</div><div><span> </span>・インターネット回線のルーターには公開サーバーや1:1NATは設定していない<br /> (インターネット発信の通信は内部へアクセス不可)</div><div><br /><div>それでは、Chrome Remote Desktopへ接続してみましょう。</div><br /></div><div><ul style="text-align: left;"><li>スマートフォンにChrome Remote Desktopクライアントアプリをインストール</li></ul></div><div>スマートフォンにChrome Remote DesktopクライアントアプリをインストールしていなかったのでPlayストアからアプリをインストールします。</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9CDw58Nggfkmp95fDazvpPIxBd1IjKbHZYNsbPoKQ-ZKyI0Mnf6YeP2Sbm0Ct-B1leLG0crjYmqspHprUBOf4yHPwOvPf-Ep_cKkmr-YTJW2hvMW4yXscGb3b44p43IEIFv0-z3ZvYG-s9BPg8g-9FGnojsL-3WoyyXlzgD7gfsHIx6Moyq8owe2sYyA/s1105/Screenshot_20230727-235234.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1105" data-original-width="864" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9CDw58Nggfkmp95fDazvpPIxBd1IjKbHZYNsbPoKQ-ZKyI0Mnf6YeP2Sbm0Ct-B1leLG0crjYmqspHprUBOf4yHPwOvPf-Ep_cKkmr-YTJW2hvMW4yXscGb3b44p43IEIFv0-z3ZvYG-s9BPg8g-9FGnojsL-3WoyyXlzgD7gfsHIx6Moyq8owe2sYyA/s320/Screenshot_20230727-235234.png" width="250" /></a></div><div><br /></div><div>インストール完了したらアプリを起動します。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXujUKZLf0khdptsOQ_aSp6jNDnABWHiNc1Pq8UkPnyt1GWXKuQKghOU4NTBhmrw2UjTA2x175GCRXWToQu-8GirEqp0UX8qN3_q-a2hmOS1b_Sh6DHaOhW2GoM6DtbkAWBb88nBuORVqx-bhzs3TAl6nLpBWOx4YjG_XCnBvtl-X-qDuPnsJ3heocL1E/s864/Screenshot_20230727-235307.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="364" data-original-width="864" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXujUKZLf0khdptsOQ_aSp6jNDnABWHiNc1Pq8UkPnyt1GWXKuQKghOU4NTBhmrw2UjTA2x175GCRXWToQu-8GirEqp0UX8qN3_q-a2hmOS1b_Sh6DHaOhW2GoM6DtbkAWBb88nBuORVqx-bhzs3TAl6nLpBWOx4YjG_XCnBvtl-X-qDuPnsJ3heocL1E/s320/Screenshot_20230727-235307.png" width="320" /></a></div><div><br /></div><div>テストプログラムに参加しないか、というお誘い画面が表示されたので、テスターになることにします。「BECOME A TESTER」をクリックします。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS4NtNg4DkX3GYJKKJ1RMbOAz6JCZ1QqhICwCl1dk0Idv-F_aC9zBM3ATDAyfu4YfDElfjZ3Qlgsdmj1u4VM9EOnyefLHzqFMm9gnFasKYLBEHGxncwIJENqIAVVcztqMQ37S6v_BU_wm7QWwVg10QRnL7MknXffA5acUqfWsMHnlJrjd15eKJf53Z9N4/s1920/Screenshot_20230727-235334.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1920" data-original-width="864" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS4NtNg4DkX3GYJKKJ1RMbOAz6JCZ1QqhICwCl1dk0Idv-F_aC9zBM3ATDAyfu4YfDElfjZ3Qlgsdmj1u4VM9EOnyefLHzqFMm9gnFasKYLBEHGxncwIJENqIAVVcztqMQ37S6v_BU_wm7QWwVg10QRnL7MknXffA5acUqfWsMHnlJrjd15eKJf53Z9N4/s320/Screenshot_20230727-235334.png" width="144" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">アプリの更新が必要なようなので、Playストアからアプリを更新します。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL4dafN3rqD7i6_CeBpbySNt03CWYa0hH4NJK_lI77LGh75nnqLT-2tWxxiWhIVmRHhl0W9C2ZVyJ6s3QUyDdvlA119Y6mrexsRweLp5kTePTz2yxRFuMpyA8hwpaLjkQGyuEJWWKqfgQx_bHyO8wJ_DXv4UGNk_KRyQ7f8kUdw7IWUKObFBgpwh_U0n0/s1920/Screenshot_20230727-235343.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1920" data-original-width="864" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL4dafN3rqD7i6_CeBpbySNt03CWYa0hH4NJK_lI77LGh75nnqLT-2tWxxiWhIVmRHhl0W9C2ZVyJ6s3QUyDdvlA119Y6mrexsRweLp5kTePTz2yxRFuMpyA8hwpaLjkQGyuEJWWKqfgQx_bHyO8wJ_DXv4UGNk_KRyQ7f8kUdw7IWUKObFBgpwh_U0n0/s320/Screenshot_20230727-235343.png" width="144" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">更新後、再度アプリを起動します。<br />右上のGoogle アカウントのアイコンがChrome Remote Desktop Hostと同じGoogle アカウントになっていることを確認します。<br />同じGoogle アカウントであれば、「リモートのデバイス」に前回インストールしたChrome Remote Desktop Host が表示されます。前回設定したリモートデバイス名「Chrome RD TEST W11」をタップします。</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDkrSXWzITvUbhA0gI77dW4aO5Ld5TkSilEoP8PSKR6cGWTF1OmnYHxl4WRGJ-NEdcF2h4VS8OfrTrUTiO5FzLO7bAiLub27JSRZEnCDf6qFdA31TuuvH7kppLAMEV7iM9KeGbK_AfQeBn0D_2Pde9raBQ4ayG4WKzqRJxMxAkMybJZ0hJ5SYy-zLmWyo/s1476/Screenshot_20230728-002306.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1476" data-original-width="864" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDkrSXWzITvUbhA0gI77dW4aO5Ld5TkSilEoP8PSKR6cGWTF1OmnYHxl4WRGJ-NEdcF2h4VS8OfrTrUTiO5FzLO7bAiLub27JSRZEnCDf6qFdA31TuuvH7kppLAMEV7iM9KeGbK_AfQeBn0D_2Pde9raBQ4ayG4WKzqRJxMxAkMybJZ0hJ5SYy-zLmWyo/s320/Screenshot_20230728-002306.png" width="187" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">接続が開始されます。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRxncud0BqOiOTaNdeO3-R5j_6vxRmJHRN9N9nP7pEw4buGwgmzAW7yUbK140pSg8dapJ9trZIbkBmsh9elzU6R9VVceh_xDm9VoWNydus5zYPGiAsn3ZxCE6j-vhuir1STZOBWfUOqT-cb37vbZhym5Ack6ZAFslw1Nrq4RRldoI2F-6unXKGRKbK-eM/s864/Screenshot_20230728-002323.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="710" data-original-width="864" height="263" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRxncud0BqOiOTaNdeO3-R5j_6vxRmJHRN9N9nP7pEw4buGwgmzAW7yUbK140pSg8dapJ9trZIbkBmsh9elzU6R9VVceh_xDm9VoWNydus5zYPGiAsn3ZxCE6j-vhuir1STZOBWfUOqT-cb37vbZhym5Ack6ZAFslw1Nrq4RRldoI2F-6unXKGRKbK-eM/s320/Screenshot_20230728-002323.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">PINの入力を求められます。</div><div class="separator" style="clear: both; text-align: left;">PINを入力して「→」をタップします。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXO-MDwQD5AScWx4oOpW4uBXtQt3wnvdBRGTTXlm8CAaIKrgViESKJ6d1B1eztcnlZ5_symmxxbUKb6os57fp6b1bym71-nyfMkvv7SI677c0JJxlw4-QF-cOlAeX1CKjc4Plbdxi70ppJ4uBAM4G6WbYmmOEupTgBgPBPpIk2J6SvUmkOA92PTuYiw5Q/s864/Screenshot_20230728-002339.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="722" data-original-width="864" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXO-MDwQD5AScWx4oOpW4uBXtQt3wnvdBRGTTXlm8CAaIKrgViESKJ6d1B1eztcnlZ5_symmxxbUKb6os57fp6b1bym71-nyfMkvv7SI677c0JJxlw4-QF-cOlAeX1CKjc4Plbdxi70ppJ4uBAM4G6WbYmmOEupTgBgPBPpIk2J6SvUmkOA92PTuYiw5Q/s320/Screenshot_20230728-002339.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">接続中。。。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNyGTgIrIbb7zCZvAlcBa591yZo-it4H1LxzQILIrxe1sBr3agv_SLftXgE_xHKW9SLe92RmizhVxJrB9IJZWELgA17DlUsRUQN71GBKpGKQ9s_SbioFOxRhX9qY3gKWi5b5u4EjeTqmmnlryIU-WJryAuzS2Mx3e1ef9HtDY1AsmsBeRPkj3ReXZHtX8/s864/Screenshot_20230728-002355.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="709" data-original-width="864" height="263" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNyGTgIrIbb7zCZvAlcBa591yZo-it4H1LxzQILIrxe1sBr3agv_SLftXgE_xHKW9SLe92RmizhVxJrB9IJZWELgA17DlUsRUQN71GBKpGKQ9s_SbioFOxRhX9qY3gKWi5b5u4EjeTqmmnlryIU-WJryAuzS2Mx3e1ef9HtDY1AsmsBeRPkj3ReXZHtX8/s320/Screenshot_20230728-002355.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">接続されるとクリップボードのデータへのアクセス許可を求めるポップアップが表示されます。「許可する」または「ブロック」をタップします。今回は「許可する」をタップします。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl9uk2ohyLW8HYryXdk-EW7ZUyuPguyi6LBkVXUyrzJSR7jiDsmniTGqhFw3t8BCP4I-6y0hsJkFZJEgm5-wEI5m68IemZDsbNVoI7hmQ9Z1SrV7RbFjjKybcJ4JpOxwIzhOnrqhlHk17gBGKqWc2iPHqPGxYR11ztK598dj2-4z7FpOe71iOTqheTPr0/s826/Screenshot_20230728-002403.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="338" data-original-width="826" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl9uk2ohyLW8HYryXdk-EW7ZUyuPguyi6LBkVXUyrzJSR7jiDsmniTGqhFw3t8BCP4I-6y0hsJkFZJEgm5-wEI5m68IemZDsbNVoI7hmQ9Z1SrV7RbFjjKybcJ4JpOxwIzhOnrqhlHk17gBGKqWc2iPHqPGxYR11ztK598dj2-4z7FpOe71iOTqheTPr0/s320/Screenshot_20230728-002403.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">Windows11にアクセスできました。Windowsリモートデスクトップのようにリモートデスクトップ接続したら片方の接続が切られるような動作ではなく、Linuxなどで利用されるVNCのようにPC利用者、リモート利用者のどちらも同時に操作できるようです。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq5n4BVg6tOQ9NGjcM-13R3VbJBbiw94tR7fRiD-rGwq3XMMnNliEiATjLNuVp8L-Fx2pS9fADrEjLropztpLEWYcc6LZBgEPmH3t6P7u9368oyMN7kKL31b1L3yaMPSBZG-ZctSKUZMRt7n9y5vM2HEZu6vLRaho2tSL9cPyqPQuNKZxgsgur-uwXhCc/s1920/Screenshot_20230728-002426.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1920" data-original-width="864" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq5n4BVg6tOQ9NGjcM-13R3VbJBbiw94tR7fRiD-rGwq3XMMnNliEiATjLNuVp8L-Fx2pS9fADrEjLropztpLEWYcc6LZBgEPmH3t6P7u9368oyMN7kKL31b1L3yaMPSBZG-ZctSKUZMRt7n9y5vM2HEZu6vLRaho2tSL9cPyqPQuNKZxgsgur-uwXhCc/s320/Screenshot_20230728-002426.png" width="144" /></a></div><br /><div><span style="text-align: center;">Windows11にはアクセスされていることが示されるポップアップが表示されます。</span></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9zJtrwGAiUHJiv5_JHwOLIBq10x8i6w2ao3yyGySso4rClqdsf-TCkPVWklK6v5vrAwSUimLakB_uUgeZlvkGFK2csWEnrO5NR-Hx3IaBfSptyVDSnj4DeBRf3UkfhtfDnc9lseHBGGqkJ8s56U2uXXkDw3W_kHlCTy5B0e6WdBkrWqD4UEk8oe4KaYk/s672/share-info-pop.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="93" data-original-width="672" height="44" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9zJtrwGAiUHJiv5_JHwOLIBq10x8i6w2ao3yyGySso4rClqdsf-TCkPVWklK6v5vrAwSUimLakB_uUgeZlvkGFK2csWEnrO5NR-Hx3IaBfSptyVDSnj4DeBRf3UkfhtfDnc9lseHBGGqkJ8s56U2uXXkDw3W_kHlCTy5B0e6WdBkrWqD4UEk8oe4KaYk/s320/share-info-pop.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: right;"><br /></div><div><div>今回は、Chrome Remote DesktopクライアントアプリからChrome Remote Desktop Hostへ接続してみました。あっさりとスマートフォンからWindowsPCへ簡単にリモート接続できました。Chrome Remote Desktopは操作する側、される側で同じ画面を見られるのでITサポートでも活用できそうです。</div><div><br /></div><div>今回操作してみて不思議に思ったことは、Windows PCが接続する自宅のインターネット回線の終端ルーターには公開サーバーなどインターネットから内部へのインバウンド通信を許可する設定は一切していないのにクライアントアプリからWindows PCへリモート接続できたことです。</div></div><div><br /></div><div>次回はChrome Remote Desktopの通信詳細について調べてみたいと思います。</div><div>それでは。</div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-766128586067612592023-07-27T23:45:00.014+09:002023-08-10T15:11:43.450+09:00海外でのワーケーションを考える その4 Windows Homeへの接続方法を検討する ①<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhFmePahKjCUXFtAuLFnGLBkChOjBoAsm8-9DRrusGAAd6_sY1SY8ugTQzWQpWfDPGDelP0IRl7oNXmj7wEFi5HGJb3_a6MjUtq8q57KCgb7qRtS-In_Z_H6-nAcJs3bYjqGD2m-neQiGpsmVr8JQFGgQgdUnbvglWv2m32ffbEdLakkuFOmPGI8wzkADA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="214" data-original-width="320" height="268" src="https://blogger.googleusercontent.com/img/a/AVvXsEhFmePahKjCUXFtAuLFnGLBkChOjBoAsm8-9DRrusGAAd6_sY1SY8ugTQzWQpWfDPGDelP0IRl7oNXmj7wEFi5HGJb3_a6MjUtq8q57KCgb7qRtS-In_Z_H6-nAcJs3bYjqGD2m-neQiGpsmVr8JQFGgQgdUnbvglWv2m32ffbEdLakkuFOmPGI8wzkADA=w400-h268" width="400"></a></div><p></p><p>ある日の 自宅にて。家族から以下の連絡をもらいました。</p><p>「チケット取った!x月x日から2週間、4年ぶりに東南アジアへ行ってくる!」</p><p>、、、ということで、本番日が決まってしまいました。</p><p>まだ検証できていないので早急にテストなど進めていこうと思います。</p><p>海外から接続したい自宅のPCはWindows10なのですが、エディションまで見ていませんでした。<br>(最初の要望をまとめたときに確認するのをすっかり失念していました。ここ重要ポイントなのに。。。)</p><p>恐らくHomeだろうと思いましたが、予想通りHomeでした。</p><p>Windows10 Homeへのリモートデスクトップ接続は何かしらアプリのインストールが必要なため、何にしようかと思いましたが、旅先へは薄くて軽いA4サイズのChromebookを渡すことにしたので、今回は「Chrome リモートデスクトップ」を試すことにしました。Chrome リモートデスクトップはVPN構築不要でリモート接続を利用できるサービスです。</p><p>前回までパブリック クラウドと自宅の間でIPsec VPNを構築しようと考えていましたが、やめることにして、今回はChrome リモートデスクトップだけ利用してみることにします。日程も迫っているので取り急ぎ、Chrome リモートデスクトップのテストをしたいと思います。</p><p>本番機のWindows10を検討段階で借りて使うと家族の業務に支障が出そうなのである程度の確認までは、手元にあるWindows11Homeで確認していこうと思います。</p><p></p><p></p><p></p><p style="-webkit-text-stroke-width: 0px;">それでは、リモートデスクトップのアクセス先のWindowsを設定していきます。</p><p style="-webkit-text-stroke-width: 0px;">この記事のテストで利用する環境</p><p style="-webkit-text-stroke-width: 0px;"></p><ul style="text-align: left;"><li>Windows11 Home</li><li>リモートデスクトップ接続で利用するGoogle アカウント<br></li></ul>この記事でインストールするもの<div><ul style="text-align: left;"><li>Google Chrome Remote Desktop</li><ul><li>Chrome 拡張機能</li><li>Host</li></ul></ul><p></p><p style="-webkit-text-stroke-width: 0px;">以下を参考にインストーラーをダウンロードします。</p><blockquote><p style="text-align: left;">Chrome リモート デスクトップを使って他のパソコンにアクセスする<br>パソコンでリモート アクセスを設定する<br></p></blockquote><blockquote><p style="text-align: left;"><a href="https://support.google.com/chrome/answer/1649523">https://support.google.com/chrome/answer/1649523</a></p><p style="text-align: left;">Chrome リモートデスクトップのダウンロード</p></blockquote><blockquote><p style="text-align: left;"><a href="https://remotedesktop.google.com/access">https://remotedesktop.google.com/access</a></p></blockquote><p>以下のURLにアクセスすると、Chrome リモートデスクトップのページが表示されます。</p><blockquote><p><a href="https://remotedesktop.google.com/access">https://remotedesktop.google.com/access</a></p></blockquote><p>ダウンロードアイコンをクリックします。 </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiHo6lUzzOIsQqBmIHw_kgXDr-tAspALWAxEaas5NEqvTbQbEpjn22N99PG84uPTTpxhX4i1cokx8ipMyKHf688sDvkYR9HG_VOUVwrDyTeX8zvy9daghLDNSvd_Rsn9ErgCa0-yx7oAWkX-yVuf35hFNqTfK2xSub7AOPekgU_NiEZRyXi5VwDBwmU-ng" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="695" data-original-width="1920" height="145" src="https://blogger.googleusercontent.com/img/a/AVvXsEiHo6lUzzOIsQqBmIHw_kgXDr-tAspALWAxEaas5NEqvTbQbEpjn22N99PG84uPTTpxhX4i1cokx8ipMyKHf688sDvkYR9HG_VOUVwrDyTeX8zvy9daghLDNSvd_Rsn9ErgCa0-yx7oAWkX-yVuf35hFNqTfK2xSub7AOPekgU_NiEZRyXi5VwDBwmU-ng=w400-h145" width="400"></a></div><p>Chrome 拡張機能がインストールされていない場合、Chromeウェブストアの拡張機能 Chrome Remote Desktopのポップアップが表示されます。「Chrome に追加」をクリックしてChrome 拡張機能の「Chrome Remote Desktop」を追加します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4-YdNb9KzyXoSuLkt-UW5n_FGmH6Tfb7O8BCH_KFg4oMa9XTXFj_TvgpaP9VnexZYe2HtUblWx5D1GEYiwuYlC7TrYNIRd2HcdZ_vBNndkn49B4BN0fGzzRxpnh6syu8XA8RxQz0MuLr4tLzR2i9ChCtFJAlKrUDv-8dnH62jKbNQFfN8Avg6ZHkcu0w/s1523/chrome_remote_desktop2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="681" data-original-width="1523" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4-YdNb9KzyXoSuLkt-UW5n_FGmH6Tfb7O8BCH_KFg4oMa9XTXFj_TvgpaP9VnexZYe2HtUblWx5D1GEYiwuYlC7TrYNIRd2HcdZ_vBNndkn49B4BN0fGzzRxpnh6syu8XA8RxQz0MuLr4tLzR2i9ChCtFJAlKrUDv-8dnH62jKbNQFfN8Avg6ZHkcu0w/w400-h179/chrome_remote_desktop2.jpg" width="400"></a></div><div><br></div>確認のポップアップが表示されるので「拡張機能を追加」をクリックします。<div><br></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHrAgMGUlJb9BLz2DFTPwza-BgNopETpQuw0hXJiqcCFRCMSHjRyzTdBV1sd0Z9vRb9B-Mpmnm5l4e7AULtZvBc38W-wDs7LtvgFfTRRhz4W08wjp0nKa3_5vibQMXEw12sHP8urKI8eDODU3qpwXfC9zdwXCdaW9rNh26fz2OrCT0PczBYYqAWpS4EKk/s400/chrome_remote_desktop3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="191" data-original-width="400" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHrAgMGUlJb9BLz2DFTPwza-BgNopETpQuw0hXJiqcCFRCMSHjRyzTdBV1sd0Z9vRb9B-Mpmnm5l4e7AULtZvBc38W-wDs7LtvgFfTRRhz4W08wjp0nKa3_5vibQMXEw12sHP8urKI8eDODU3qpwXfC9zdwXCdaW9rNh26fz2OrCT0PczBYYqAWpS4EKk/w400-h191/chrome_remote_desktop3.jpg" width="400"></a></div><br><div>拡張機能が追加されました。<p></p><blockquote></blockquote><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh503TiSV8n2qkS7Pq20ta47DUzgGQksPbepCcCkCrz3WSGAlgSrIPgdFcStpwq_sE35KZc_EtDc1gclauVglyWNqTtAaP3Oe_9u4_M7zGvVPhgO3CJbxe_VM7ntT5V8tsPbwy67awWVjzlPuKmFxEhJU7AcXaL2jCLqFYlGegPJbYzkcGILwSNv085TVo" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="233" data-original-width="564" height="165" src="https://blogger.googleusercontent.com/img/a/AVvXsEh503TiSV8n2qkS7Pq20ta47DUzgGQksPbepCcCkCrz3WSGAlgSrIPgdFcStpwq_sE35KZc_EtDc1gclauVglyWNqTtAaP3Oe_9u4_M7zGvVPhgO3CJbxe_VM7ntT5V8tsPbwy67awWVjzlPuKmFxEhJU7AcXaL2jCLqFYlGegPJbYzkcGILwSNv085TVo=w400-h165" width="400"></a></div><br>Chromeの拡張機能を確認して「Chrome Remote Desktop」が追加されていることを確認します。<div><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjrzrYQZE7crVW-NxI1OKX1xuBUNhw2FzW6DkQXK51EAEaLIG9RnGdTDFGRXrgPZfrTh63QTtBrmOXFnsqBvOCSTeT2hmS9sYeFIM6D-ygnknxhO923BknvWwckZa6-W2NNyzF4xv59lSiBwlJxUp9ulDv1MxJg8ivngqTXHQeA0BUYDtpFdNcjZGwZHzQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="415" data-original-width="710" height="234" src="https://blogger.googleusercontent.com/img/a/AVvXsEjrzrYQZE7crVW-NxI1OKX1xuBUNhw2FzW6DkQXK51EAEaLIG9RnGdTDFGRXrgPZfrTh63QTtBrmOXFnsqBvOCSTeT2hmS9sYeFIM6D-ygnknxhO923BknvWwckZa6-W2NNyzF4xv59lSiBwlJxUp9ulDv1MxJg8ivngqTXHQeA0BUYDtpFdNcjZGwZHzQ=w400-h234" width="400"></a></div>再度、「https://remotedesktop.google.com/access」へアクセスします。</div><div>リモートアクセスの設定から「同意してインストール」をクリックします。<br><br><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjMmzzBHvKWPKSS1PbiV13B-WVisEKg2jjqqqXu0K7i59TQ--kkb3Xpk6Fe-HU4gs9AlRn3J0fBONbBm0LHwGivyjdJRPqpf0iniM5w-eTYp26KhrumLD9_TLUliCbmoyVJFLAUNQsiPJHchfQdA8Sgqr1bucHFRJ7pi7TktteU_wabwZX6v6NrhimkkaI" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="694" data-original-width="1920" height="145" src="https://blogger.googleusercontent.com/img/a/AVvXsEjMmzzBHvKWPKSS1PbiV13B-WVisEKg2jjqqqXu0K7i59TQ--kkb3Xpk6Fe-HU4gs9AlRn3J0fBONbBm0LHwGivyjdJRPqpf0iniM5w-eTYp26KhrumLD9_TLUliCbmoyVJFLAUNQsiPJHchfQdA8Sgqr1bucHFRJ7pi7TktteU_wabwZX6v6NrhimkkaI=w400-h145" width="400"></a></div><div class="separator" style="clear: both; text-align: center;"><br></div><div class="separator" style="clear: both; text-align: left;">「Chrome Remote Desktop Host」のインストーラーがダウンロードされます。ダウンロードしたインストーラーを起動して「Chrome Remote Desktop Host」をインストールします。</div><div class="separator" style="clear: both; text-align: center;"><br></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgITV0_YWZTikeKXZ7X9z68nTGq7DMM0KcoWJeEVzriW3T1nKP1jch0uA6cOCLlF4poPqH1f_zWKgjxlxuyihx6Ey9IYaUUlTQBrkGsWZNBKyNfn9C8B_808ZUpHwtkAhE6pEWK8FwRpadTWXL085j0PbDE85TspKtJyCi9yfzC7Ew0EQNZf2ubAGwGqJo" style="clear: right; margin-bottom: 1em; margin-left: 1em;"><img alt="" data-original-height="96" data-original-width="859" height="45" src="https://blogger.googleusercontent.com/img/a/AVvXsEgITV0_YWZTikeKXZ7X9z68nTGq7DMM0KcoWJeEVzriW3T1nKP1jch0uA6cOCLlF4poPqH1f_zWKgjxlxuyihx6Ey9IYaUUlTQBrkGsWZNBKyNfn9C8B_808ZUpHwtkAhE6pEWK8FwRpadTWXL085j0PbDE85TspKtJyCi9yfzC7Ew0EQNZf2ubAGwGqJo=w400-h45" width="400"></a></div><div><br></div><div>インストールが完了したらWindowsのメニュー>アプリ>インストールされているアプリを表示して、「Chrome Remote Desktop Host」がインストールされていることを確認します。</div><br><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh8xXG0qFcrfiV0sZMbaWz58DEWh7LKRxpltykvNFT2tDJ-oj6seZb6j4Z1IJDcgpqosFk3j2sCGXiCeeV1HLjl67Io0acZFwIRMjKRGHjr0zlOyWtsXIvMFk_b2X8g2_VRiOk2IeOkO6VxrBqdxj7QL0vPcuIsWAjUTnh2CzKA4qXDWPZ5eajqZGsR4Js" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="299" data-original-width="649" height="184" src="https://blogger.googleusercontent.com/img/a/AVvXsEh8xXG0qFcrfiV0sZMbaWz58DEWh7LKRxpltykvNFT2tDJ-oj6seZb6j4Z1IJDcgpqosFk3j2sCGXiCeeV1HLjl67Io0acZFwIRMjKRGHjr0zlOyWtsXIvMFk_b2X8g2_VRiOk2IeOkO6VxrBqdxj7QL0vPcuIsWAjUTnh2CzKA4qXDWPZ5eajqZGsR4Js=w400-h184" width="400"></a></div><br>再度、「https://remotedesktop.google.com/access」にアクセスします。</div><div>「名前の選択」画面が表示されるので、任意の名前を入力して「次へ」をクリックします。</div><div><br></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjOUVjLt_ijsA3trllZgYQWg00ueLxqXR5-6SLTvs4dbCLCxPvrMnTATuOSHdKIiCxRJisgZX8Q2QO_FTsSAXJfrOkJM5xm72kQyD_sPK4KO5asuKlO6MQX0-5q9jmU2z-aMbG1P0wu4C8N8o_8JSQO60dXBBcdmCNGC6niDEQELsg2M7TGDI-a4PFVHgA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="660" data-original-width="1920" height="138" src="https://blogger.googleusercontent.com/img/a/AVvXsEjOUVjLt_ijsA3trllZgYQWg00ueLxqXR5-6SLTvs4dbCLCxPvrMnTATuOSHdKIiCxRJisgZX8Q2QO_FTsSAXJfrOkJM5xm72kQyD_sPK4KO5asuKlO6MQX0-5q9jmU2z-aMbG1P0wu4C8N8o_8JSQO60dXBBcdmCNGC6niDEQELsg2M7TGDI-a4PFVHgA=w400-h138" width="400"></a></div><br>アクセス時のPINを設定して「起動」をクリックします。</div><div><br></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjIK4ZcqZo5Sy-bU6WrlnGT8F8W3STb-uhDSuMnFRWYjZcLLRA9W6gjAcAozlR_ny414DgQ3L3hc8H_jg2wbUkr5QvZx0BboQutcHCJInRrxsT9u0aJhipLJzmvrIr3n2dZQaKHH4uy39RXQIOQuoCrj3-mdVoQFxPW813Z6F_FzFTx5Ext5kEaPCAapa0" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="679" data-original-width="1265" height="215" src="https://blogger.googleusercontent.com/img/a/AVvXsEjIK4ZcqZo5Sy-bU6WrlnGT8F8W3STb-uhDSuMnFRWYjZcLLRA9W6gjAcAozlR_ny414DgQ3L3hc8H_jg2wbUkr5QvZx0BboQutcHCJInRrxsT9u0aJhipLJzmvrIr3n2dZQaKHH4uy39RXQIOQuoCrj3-mdVoQFxPW813Z6F_FzFTx5Ext5kEaPCAapa0=w400-h215" width="400"></a></div><br>完了するとこのように表示されます。<br><br><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEii5Jn9VDfZZB2nPBIlJ7Mo-a4oLYJkFauf79bmzkuvJarecM06s5Wx9SGBNK9bEOPF8KcgTEW_vLNP0yM6DcmO4BcimHxFQ6t358yQEff648hO2yJ7_7T2q3ueQaDDuF9PyEXlgoUeTJLiok5pQfRaVvD86gbvuFszDBh5ivtzgoZE5UiM_upIlEr1G8I" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="569" data-original-width="1920" height="119" src="https://blogger.googleusercontent.com/img/a/AVvXsEii5Jn9VDfZZB2nPBIlJ7Mo-a4oLYJkFauf79bmzkuvJarecM06s5Wx9SGBNK9bEOPF8KcgTEW_vLNP0yM6DcmO4BcimHxFQ6t358yQEff648hO2yJ7_7T2q3ueQaDDuF9PyEXlgoUeTJLiok5pQfRaVvD86gbvuFszDBh5ivtzgoZE5UiM_upIlEr1G8I=w400-h119" width="400"></a></div><br>リモートデスクトップ接続されるWindowsの設定が完了しました。</div><div>次回は、Chrome Remote Desktopクライアントアプリから今回設定したWindowsへリモート接続してみたいと思います。それでは。</div></div></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-24472417162863027612023-06-30T18:00:00.001+09:002023-10-19T13:23:51.465+09:00Rancharでkubernetesの管理をしてみる 第3回 デフォルトで作成したユーザーは思っていた以上にできることが少なかった・・・<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
今回は、前回作成したデフォルト設定のユーザーが管理者権限と比べてどんなことが制限されているのか見ていきたいと思います。<br>
まずログインしてみると、メンバー追加したクラスターだけが確認できます。<br>
では、このクラスターへ実行可能な操作を確認してみましょう。<br>
<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWNIfOKTXn3ZB0MIe6SExIeuX7ZIhD8i78oAVWOMTJkS4aoK2hRBe6HQ0zcwyXCw2VyBgu3aD0vJs0mV7NUECw5w9T--gHQ0pAYb22EosOJoFVCyQ-Pfs8O8yTIkKJ4ZCePo6ZUJdKwqHzfPp4GUWS2YPsqlZ2l109F6VVxoC7peoGoyfm2VD608csNQ/s1809/WS000080.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="830" data-original-width="1809" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWNIfOKTXn3ZB0MIe6SExIeuX7ZIhD8i78oAVWOMTJkS4aoK2hRBe6HQ0zcwyXCw2VyBgu3aD0vJs0mV7NUECw5w9T--gHQ0pAYb22EosOJoFVCyQ-Pfs8O8yTIkKJ4ZCePo6ZUJdKwqHzfPp4GUWS2YPsqlZ2l109F6VVxoC7peoGoyfm2VD608csNQ/s600/WS000080.JPG"/></a></div>
<br>
とはいえ、この辺の操作は問題なくできると思っています。<br>
kubectlshellでコマンドが実行できることは確認できました。<br>
<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdfkexMfXLLAmdQX-9wCr1lSO-Qcm-jymha_ZqNZAamBJ4hQzFyks8K7T7Aa5sN_Jgn_ZM4QQgX7zy8JKuX7NsY7G1VTuEhs0pu8F63pHffGTKiuSOy7i7Y3OXV81b0aMuDh1aeC79nyhOyEEJ-2HvMCWr15yYW-VZ81w9W-wf6TL9TXv9vtHkAOGi7Q/s1802/WS000081.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="791" data-original-width="1802" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdfkexMfXLLAmdQX-9wCr1lSO-Qcm-jymha_ZqNZAamBJ4hQzFyks8K7T7Aa5sN_Jgn_ZM4QQgX7zy8JKuX7NsY7G1VTuEhs0pu8F63pHffGTKiuSOy7i7Y3OXV81b0aMuDh1aeC79nyhOyEEJ-2HvMCWr15yYW-VZ81w9W-wf6TL9TXv9vtHkAOGi7Q/s600/WS000081.JPG"/></a></div>
<br>
新しく名前空間を作成し、ローカルのYAMLファイルを読み込ませてPodやServiceを作成してみましょう。<br>
<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzvvDmN2aAMgah60yB4_Rq0bGqCLJUQ3JkDMtCwWAjgpjEqYPc5gLe8rWF187UfDcwo1rzH4rFGxE16ZzLhPl2iQPfApxADAj21xMbN-2i7N71tv2Y4InCiqPgTEgHFZGa3NrP8aG8BRuXxD96Qx-M44UcaBRMgta8buWZ0nWeUXpjkW-ZogdBBsjxCA/s1801/WS000073.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="790" data-original-width="1801" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzvvDmN2aAMgah60yB4_Rq0bGqCLJUQ3JkDMtCwWAjgpjEqYPc5gLe8rWF187UfDcwo1rzH4rFGxE16ZzLhPl2iQPfApxADAj21xMbN-2i7N71tv2Y4InCiqPgTEgHFZGa3NrP8aG8BRuXxD96Qx-M44UcaBRMgta8buWZ0nWeUXpjkW-ZogdBBsjxCA/s600/WS000073.JPG"/></a></div>
<br>
あ、名前空間作るための権限ついてないっぽいw<br>
うーん、defaultの名前空間だったらリソースは作れるのか・・・?<br>
『Import YAML』ボタンからYAMLファイルを読み込ませてみましょう<br>
<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjSZ0ntzXTXPLR3CJmHhErloNnPnCSKeCpIF7yc17yzNwmmqbXGKQsgmkKIlQecQmpPoxr2y9ZdpT1EACwtRTc3l97MMd7QrI_cBZoJY10vxd8KVHeuGv_Nbo33RDPNVZLFUqyChO7CpIWvZvYOyGNNFVUkCe2dbWcbOFvfaUyn-OfA8KVhkE3Gszr2A/s1808/WS000074.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="793" data-original-width="1808" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjSZ0ntzXTXPLR3CJmHhErloNnPnCSKeCpIF7yc17yzNwmmqbXGKQsgmkKIlQecQmpPoxr2y9ZdpT1EACwtRTc3l97MMd7QrI_cBZoJY10vxd8KVHeuGv_Nbo33RDPNVZLFUqyChO7CpIWvZvYOyGNNFVUkCe2dbWcbOFvfaUyn-OfA8KVhkE3Gszr2A/s600/WS000074.JPG"/></a></div>
<br>
『Read from File』から読み込ませるYAMLファイルを選びます。<br>
<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCGoy46LmqcsecZX4cyaLs4XRp9p8JFzk3ocPUV6jvfD8TIkHu6-J7STIx_a0K_bhRz2dQAsC9m_n7xo_TZFN8ckTh843-R1_HW_16kG6XMJj9GHM2HBEMWkxe-k0xicj-PKCjXg-t5Tv4LN-1pgHNns86ZSfeW0j6BIkDRD98gsoh885K7rRxdbe7Gg/s1340/WS000075.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="606" data-original-width="1340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCGoy46LmqcsecZX4cyaLs4XRp9p8JFzk3ocPUV6jvfD8TIkHu6-J7STIx_a0K_bhRz2dQAsC9m_n7xo_TZFN8ckTh843-R1_HW_16kG6XMJj9GHM2HBEMWkxe-k0xicj-PKCjXg-t5Tv4LN-1pgHNns86ZSfeW0j6BIkDRD98gsoh885K7rRxdbe7Gg/s600/WS000075.JPG"/></a></div>
<br>
内容が表示されたら『Import』で・・・えぇ・・・<br>
<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqWL7cCuH12meh8t50FeKOXCM9DohdpPXzD9qBoce7QqQLoS1mxBIIarhzJgtVkjoPxLsajb831ZW8T7ducT8oMDEGlJtUtmXqRha_7DnOKp-HHrDFGyA2EnRtmPal7BO_7fVk4IZrQNLhFDeBkJHIAGEhyJZfgW_v7CB8_Ng-OQAHy7dSAa6dWtqlxw/s1347/WS000076.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="615" data-original-width="1347" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqWL7cCuH12meh8t50FeKOXCM9DohdpPXzD9qBoce7QqQLoS1mxBIIarhzJgtVkjoPxLsajb831ZW8T7ducT8oMDEGlJtUtmXqRha_7DnOKp-HHrDFGyA2EnRtmPal7BO_7fVk4IZrQNLhFDeBkJHIAGEhyJZfgW_v7CB8_Ng-OQAHy7dSAa6dWtqlxw/s600/WS000076.JPG"/></a></div>
<br>
あー、ダメなんですね・・・<br>
なるほど、デフォルト状態では操作はできないみたいですね。<br>
defaultの名前空間でも、このユーザーは作成しようとしたリソースの操作を許可されてないと怒られてしまったようです。
ユーザー作ったり権限与えたりとかその辺ができないとイメージしていましたが、考えが甘かったようです。<br>
<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifIzc6gBe28xPB0nCYFEUUzTE3vC1G-418XiWZhjc2Iv8jvg9cFEuU6_r7LxV0JvDYBQY8LeicIwilctJCGQJd2Ozfwi1cZJrSjmpYOUZcSCssuucWK24zHfSmn0nywawDBLgZb8oPbL0Lr172Ix_A2g0YE9Bcw97gMlrW1CntkKSAPZfvNEPtOSiEKg/s1341/WS000077.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="706" data-original-width="1341" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifIzc6gBe28xPB0nCYFEUUzTE3vC1G-418XiWZhjc2Iv8jvg9cFEuU6_r7LxV0JvDYBQY8LeicIwilctJCGQJd2Ozfwi1cZJrSjmpYOUZcSCssuucWK24zHfSmn0nywawDBLgZb8oPbL0Lr172Ix_A2g0YE9Bcw97gMlrW1CntkKSAPZfvNEPtOSiEKg/s600/WS000077.JPG"/></a></div>
<br>
せっかくなので、ほかにもできないことを調べたいと思います。<br>
メニュー画面からやはりユーザーに対する管理、クラスタに対しての管理もできないようです。<br>
<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM38uBDVgUq5j7UnD-eIm-5lflmkC81TNJ8Gb6SxmOO4s_Lp8AOf4Z4YNz84aZU8FTEYvwYa1Yp1Nx57FlHECoLiKUQoO0u3dmnIVfAYYkcRmc0_CfD04djdCF0dpdZ0HvCrIQgwS4cWqbp_VEljLQtsXgQwkVY5Sac6MOyXwDf7vU-EhTXOAjPgeL5A/s1804/WS000078.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="794" data-original-width="1804" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM38uBDVgUq5j7UnD-eIm-5lflmkC81TNJ8Gb6SxmOO4s_Lp8AOf4Z4YNz84aZU8FTEYvwYa1Yp1Nx57FlHECoLiKUQoO0u3dmnIVfAYYkcRmc0_CfD04djdCF0dpdZ0HvCrIQgwS4cWqbp_VEljLQtsXgQwkVY5Sac6MOyXwDf7vU-EhTXOAjPgeL5A/s600/WS000078.JPG"/></a></div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiinS_u_jVu6An5pgV7tIBcU9HUWRYh-eHhq5fFj33Adzkln_9uh3yPcOpXD_cnY55yL9CSVcjnNJLkr_5BhzmjagXzO5adiUUUXx4xO6-15JLJ1TexCakcnK5FAuwnp3CyGqjmBoTCvOfPQzVi-VsgiwTPse5btcTcNItgm4_fZsAugh_xiTLCZ1nErA/s1809/WS000079.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="795" data-original-width="1809" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiinS_u_jVu6An5pgV7tIBcU9HUWRYh-eHhq5fFj33Adzkln_9uh3yPcOpXD_cnY55yL9CSVcjnNJLkr_5BhzmjagXzO5adiUUUXx4xO6-15JLJ1TexCakcnK5FAuwnp3CyGqjmBoTCvOfPQzVi-VsgiwTPse5btcTcNItgm4_fZsAugh_xiTLCZ1nErA/s600/WS000079.JPG"/></a></div>
<br>
この辺はイメージ通りではありました。<br>
ちょっと思った通りではなくて思いのほかショックを受けてしまいましたが、よい確認ができたと思っておきます。<br>
<br>
次回は、どうやったら今回できなかったPodの作成などができるのかについて調べてみたいと思います。<br>
hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-12291533547757744402023-05-31T00:00:00.164+09:002023-08-10T14:48:10.218+09:00海外でのワーケーションを考える その3 旅先のクライアントPCからクラウドへの接続を考える<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz4X3FsnMUx5zUKtUh3txdc3ZaKRp2G-u_YgYP7Cw01GekPeBNnKRp968ddVsSRaJsmOcoa903zm18pWROddUCLoWdJeO6_RX7D3ukW0Jz97cyPdZUGlNMPJi4yMMGAH02F9iAepluVqcDpemAbjtwJVPPiTnThuZOurbKj_roW86kqfGqj40jFPK9/s640/IMG_4239.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: arial;"><img border="0" data-original-height="426" data-original-width="640" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz4X3FsnMUx5zUKtUh3txdc3ZaKRp2G-u_YgYP7Cw01GekPeBNnKRp968ddVsSRaJsmOcoa903zm18pWROddUCLoWdJeO6_RX7D3ukW0Jz97cyPdZUGlNMPJi4yMMGAH02F9iAepluVqcDpemAbjtwJVPPiTnThuZOurbKj_roW86kqfGqj40jFPK9/w400-h266/IMG_4239.JPG" width="400"></span></a></div><span style="font-family: arial;"><br></span><p><span style="color: black; font-family: arial;"><a href="https://techblog-cidept.blogspot.com/2023/05/blog-post_30.html" rel="nofollow" style="background-color: white; text-decoration-line: none;" target="_blank">前回</a><span style="background-color: white;">は、海外から</span>自宅への接続方法を考えてみました。</span></p><p><span style="font-family: arial;">自宅のWAN回線の都合上、自宅からクラウドへIPsec VPN<span style="background-color: white;">で接続することにしました。また、</span><span style="background-color: white;">旅先の東南アジアではインターネット回線が良好とは限らず、日本への距離もあるため</span><span style="background-color: white;">旅先のクライアントから最寄りのクラウドリージョンへ接続して、そこから日本の自宅へ通信することにしました。</span></span></p><p><span style="background-color: white;"><span style="font-family: arial;">今回は ”旅先のクライアントPCからどこのクラウドへ接続するか?” について具体的に考えてみたいと思います。</span></span></p><p><span style="background-color: white;"><span style="font-family: arial;">東南アジアには、AWS、Azure、GCPなど主要クラウドのリージョンがあります。</span></span></p><p><span style="font-family: arial;"><span style="background-color: white;">クライアントPCからクラウドへのVPN接続方法は、主に以下の2つになるかと思います。</span></span></p><p><span style="font-family: arial;"><span style="background-color: white;">①クラウドが提供するクライアントVPNサービスを利用する</span></span></p><p><span style="font-family: arial;"><span style="background-color: white;">②クライアントVPNを終端するインスタンスをクラウドに構築して接続する </span></span></p><p><span style="font-family: arial;"><span style="background-color: white;">この2つの接続方法のどちらかを選択する場合、</span></span><span style="font-family: arial;"><span style="background-color: white;">①</span></span><span style="background-color: white; font-family: arial;">は②と比べると制限が生じるかもしれませんが楽に実現できそうです。①を実現するにはどのクラウドならできるのか?</span></p><p><span style="background-color: white; font-family: arial;">各クラウドサービスの</span><span style="background-color: white; font-family: arial;">クライアントVPN提供状況を調べてみます。</span></p><p><span style="background-color: white;"><span style="font-family: arial;">ま</span></span><span style="background-color: white; font-family: arial;">ず、AWSです。<br>AWSは、AWS VPNでクライアントVPNを提供しています。</span></p><p><span style="background-color: white;"><span style="font-family: arial;"></span></span></p><blockquote><p><span style="background-color: white;"><span style="font-family: arial;">AWS Client VPN とは?</span></span></p><p><span style="color: black; font-family: arial;"><a href="https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/what-is.html">https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/what-is.html</a></span></p><p></p></blockquote><p><span style="font-family: arial;">上記のドキュメントにクライアントVPNからオンプレミスへの接続例も掲載されています。AWSは東南アジアのシンガポール、ジャカルタにリージョンを展開しており、どちらもAWS VPNが利用できます。しかし、</span><span style="font-family: arial;">AWS Client VPNが利用できるのはシンガポールのみです。</span></p><p><span style="font-family: arial;"></span></p><blockquote><p><span style="font-family: arial;">リージョン別に利用可能な AWS サービスのリスト</span></p><p><span style="font-family: arial;"><a href="https://aws.amazon.com/jp/about-aws/global-infrastructure/regional-product-services/">https://aws.amazon.com/jp/about-aws/global-infrastructure/regional-product-services/</a></span></p><p></p></blockquote><p><span style="font-family: arial;">費用は時間単位課金です。</span></p><p><span style="font-family: arial;"><span> </span>クライアントVPNを終端する ”AWS Client VPN エンドポイント"</span></p><p><span style="font-family: arial;"><span> <span> </span></span>1 時間あたり 0.10 USD</span></p><p><span style="font-family: arial;"><span> </span>AWS Client VPN</span></p><p><span style="font-family: arial;"><span> </span><span> </span>1接続、1時間あたり0.05 USD</span></p><p><span style="font-family: arial;">日本とシンガポールリージョンを接続するリージョン間接続の費用を別途考慮する必要がありますが、費用は安く済みそうです。ユーザー</span><span style="font-family: arial;">毎の利用帯域が10Mbpsに制限されるというのが少し気になりますが、AWSで実現できるか今後試してみたいと思います。</span></p><p><span style="font-family: arial;"><br></span></p><p><span style="font-family: arial;">次にAzureを調べてみます。<br>AzureもVPN GatewayでクライアントVPNを提供しています。</span></p><p><span style="font-family: arial;"></span></p><blockquote><p><span style="font-family: arial;">ポイント対サイト VPN について</span></p><p><span style="font-family: arial;"><a href="https://learn.microsoft.com/ja-jp/azure/vpn-gateway/point-to-site-about">https://learn.microsoft.com/ja-jp/azure/vpn-gateway/point-to-site-about</a></span></p></blockquote><p><span style="font-family: arial;"></span></p><p><span style="font-family: arial;"><br>AzureもAWSと同じくシンガポールにリージョンを展開しており、クライアントVPNも利用できます。</span></p><p><span style="font-family: arial;"></span></p><blockquote><span style="font-family: arial;">リージョン別の利用可能な製品</span><br style="font-family: arial;"><br style="font-family: arial;"><span style="font-family: arial;"><a href="https://azure.microsoft.com/ja-jp/explore/global-infrastructure/products-by-region/?regions=asia-pacific-southeast%2cnon-regional&products=all">https://azure.microsoft.com/ja-jp/explore/global-infrastructure/products-by-region/?regions=asia-pacific-southeast%2cnon-regional&products=all</a></span></blockquote><span style="font-family: arial;"><div><br></div><div>費用はAWS同様に時間単位課金です。</div><div><span> </span>VPN Gateway:1時間あたり$0.04/時間</div><div><br></div><div>調べきれていませんが、AWSのようにクライアントVPN接続あたりの費用は生じないようなので少し安く実現できるかもしれません。Azureも今後試してみたいと思います。</div></span><div><span style="font-family: arial;"><br></span><p></p><p><span style="font-family: arial;">次にGoogle Cloudを調べてみます。</span></p><p><span style="font-family: arial;">Google Cloudでサイト間VPNは提供されていますが、クライアントVPNはサービスとして提供されておらず、実現するには自分でインスタンスにOpenVPNなどを構築するしかないようです。</span></p><p><span style="font-family: arial;"><br></span></p><p><span style="font-family: arial;">最後にIBM Cloud を調べてみました。IBM CloudではクライアントVPNを利用できます。<br></span></p><blockquote><span style="font-family: arial;">クライアントとサイト間の VPN サーバーについて<br><a href="https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-client-to-site-overview&locale=ja">https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-client-to-site-overview&locale=ja</a></span></blockquote><span style="font-family: arial;">しかし、東南アジアにリージョンはないようです。<br></span><p></p><p><span style="font-family: arial;"></span></p><blockquote><p><span style="font-family: arial;">リソースをデプロイするリージョンおよびデータ・センターのロケーション</span></p><p><span style="font-family: arial;"></span></p><div><span style="background-color: white;"><span style="font-family: arial;"><a href="https://cloud.ibm.com/docs/overview?topic=overview-locations&locale=ja">https://cloud.ibm.com/docs/overview?topic=overview-locations&locale=ja</a></span></span></div></blockquote><div><span style="background-color: white;"><span style="font-family: arial;"></span></span></div><div><span style="background-color: white;"><span style="font-family: arial;">今回は我が家の要望から外れるので考慮しませんが、もし今後の旅先が IBM Cloudリージョンの展開地域であれば、</span></span><span style="background-color: white; font-family: arial;">リージョン(データセンター)間通信が無料でリージョン間の通信に</span><span style="background-color: white; font-family: arial;">クラウドの広帯域プライベートネットワークを利用できるIBM Cloudを検討してもよいかもしれません。</span></div><div><br></div><div><span style="background-color: white;"><div><span style="font-family: arial;">調べた結果、AWSかAzureであれば家族が求めるワーケーション環境を構築できそうです。</span></div><div><span style="font-family: arial;">実際にやったことがあるわけではないので、</span><span style="font-family: arial;">次回から実際に試していきたいと思います。</span></div><div><span style="font-family: arial;">それでは。</span></div></span></div></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-36106364560488290682023-05-30T00:00:00.007+09:002023-08-10T14:47:05.956+09:00海外でのワーケーションを考える その2 自宅への接続方法を考える<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCwhtbLfkrxIO9rVL1fXhkAqonqWzMaPEWMqrawrx4qNbVY246JSmURVGQfkrq4N1UPn9Ujug28Fz0kJjPQRChJjixY9mwcunvCBqoyC_MfSd5iLnm0uloD-h7CScmzAe4Oh-nHPFD5hCjCn6g-OVObQSu0TMBHWk12RAYdmoD-LcXkitTJitrln8h/s640/IMG_7603.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="426" data-original-width="640" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCwhtbLfkrxIO9rVL1fXhkAqonqWzMaPEWMqrawrx4qNbVY246JSmURVGQfkrq4N1UPn9Ujug28Fz0kJjPQRChJjixY9mwcunvCBqoyC_MfSd5iLnm0uloD-h7CScmzAe4Oh-nHPFD5hCjCn6g-OVObQSu0TMBHWk12RAYdmoD-LcXkitTJitrln8h/w400-h266/IMG_7603.JPG" width="400"></a></div><div class="separator" style="clear: both; text-align: center;"><br></div><a href="https://techblog-cidept.blogspot.com/2023/05/blog-post.html" rel="nofollow" target="_blank">前回</a>は、海外でワーケーションしたい家族からの要望をご紹介(?)しました。<p></p><p>今回は ”旅先から自宅への接続方法” について考えてみたいと思います。</p><p>我が家のインターネット回線は、公開サーバー設定不可、固定IPアドレスも利用できません。インターネット回線を変えればよいのですが、現状の回線でも通信環境が良いときで80Mbps、かなりよいときでは100Mbpsを超えており、在宅ワークに全く支障がないことや住宅設備が古い(VDSLのみ)などの事情により回線変更は断念しています。公開サーバーの設定ができないとなると、クラウドなどトンネルを終端できる場所と自宅との間でVPNなどトンネルを構築する必要があります。</p><p>最近流行りのSD-WANやSASEが利用できれば簡単に実現できそうですが、個人事業主の(しかも)ワーケーション利用のため、そのためにSASE/SD-WANを導入するのは非現実的です。しかし、クラウドを利用するのは必要な期間だけの課金で済みそうなので良さそうです。そこで今回は自宅とクラウドとの間をIPsec VPNでつなぐことを前提として考えてみたいと思います。</p><p>旅行先は "東南アジア" を想定しています。旅先から直接日本へ接続するか、東南アジアのリージョンを経由して日本へ接続させるか。現地の通信状況や距離を考慮すると旅先から日本へ直接接続するよりも旅先の最寄りのクラウドリージョンへ接続して、そこから日本の自宅へ通信するのが無難なように思います。</p><p>旅行期間の想定は短くて1週間~長くて1か月までだそうです。VPNは旅行期間中、常時接続させたままにするため、費用も気になります。(実際には利用する日だけ、日本にいる私が設定すればよいのですが、今回はひとまず常時接続とします。)</p><p>東南アジアには、AWS、Azure、GCPなど主要クラウドのリージョンがあります。この中から検討するのが良さそうです。クラウドを利用する前提ならば、旅先で利用するPCからクラウドへどのように接続するか、、、。</p><p>次回は、クライアントからクラウドリージョンへの接続方法を検討してみたいと思います。その結果をふまえて利用クラウドの検討と費用試算を試みようと思います。</p><p>それでは。</p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-43960384207120606222023-05-26T18:00:00.002+09:002023-10-19T13:21:02.504+09:00Rancharでkubernetesの管理をしてみる 第2回 ユーザーの作成とクラスタメンバーへの追加<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
前回、Rancharを構築してKubernetesを管理下に置いてみました。<br>
今回は、作業用のユーザーをデフォルトの設定で作成してクラスタが操作できるようにクラスタのメンバーに追加する作業を行ってみます。<br>
<br>
まずは、ユーザーの作成を行います。<br>
「CONFIGURATION」から「Users&Authentication」を選択します<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvIOK7sZYu5q7n4S3cjH0oBT3JMJwGPuo-uOIztbbMLKPfTB4VYtzSFe4lMb4NIHLSPbJ_JbhyLIT7CHs39RpRm6LetL1AgbKoI0_Y1f0ZLMx4aZPApPwSUmyrdA5Tl4vzdV_jhHFyrnr0Gj4fqGyP-SPrwosxT12Xt0QB3mbpHlYEPeK9590cuEuz3Q/s1809/WS000059.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="804" data-original-width="1809" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvIOK7sZYu5q7n4S3cjH0oBT3JMJwGPuo-uOIztbbMLKPfTB4VYtzSFe4lMb4NIHLSPbJ_JbhyLIT7CHs39RpRm6LetL1AgbKoI0_Y1f0ZLMx4aZPApPwSUmyrdA5Tl4vzdV_jhHFyrnr0Gj4fqGyP-SPrwosxT12Xt0QB3mbpHlYEPeK9590cuEuz3Q/s600/WS000059.JPG"/></a></div>
「Create」からユーザーの作成を行います。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGzlzOCmfJQbFFH-e_ksksYQtO5juAPhh2OZoancp1VE3i_xqhynitQTBlFOtbgTUgN-xS2a-8ATPQPzHayDRGCGQck7FX09UIC0rZlyJSFgM4ASiaY9NmbhzM6WKsIjenrnfYTpQaZj96JpZs-4-_6MCUvQaHY7sP4K5zQcjv0II9BP-hBW83u9g5_w/s1805/WS000060.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="604" data-original-width="1805" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGzlzOCmfJQbFFH-e_ksksYQtO5juAPhh2OZoancp1VE3i_xqhynitQTBlFOtbgTUgN-xS2a-8ATPQPzHayDRGCGQck7FX09UIC0rZlyJSFgM4ASiaY9NmbhzM6WKsIjenrnfYTpQaZj96JpZs-4-_6MCUvQaHY7sP4K5zQcjv0II9BP-hBW83u9g5_w/s600/WS000060.JPG"/></a></div>
作成自体はユーザー名を入れて、パスワードを設定し「Create」をするだけで可能です。<br>
今回は使用しませんでしたが、チェックボックスで次回ログイン時にパスワードを変更させたり、ランダムでパスワードを生成したりもできるようですね。<br>
細かい権限設定もできるようですが、それはまた今度調べたいと思います。<br>
今回は「user01」を作成してみます。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjom6_BwpIYQ5GTwAgw_ETe89ZY1EOgdVudLH6bfbv4qp-wCLXkCb5NXvgv1eS43sCbZiiZ_PIYtrTggLyY-lDAw6fVbiD4KWS1ukcdN2TqJIdPGDTJc-8I5xcZ3xJkz5DlqWoZgCYO5RzGpbrhW4lnp07QHCJ9kI5m6al1Ay_aZTs4uLbFF8Ox52AwQQ/s1806/WS000063.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="840" data-original-width="1806" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjom6_BwpIYQ5GTwAgw_ETe89ZY1EOgdVudLH6bfbv4qp-wCLXkCb5NXvgv1eS43sCbZiiZ_PIYtrTggLyY-lDAw6fVbiD4KWS1ukcdN2TqJIdPGDTJc-8I5xcZ3xJkz5DlqWoZgCYO5RzGpbrhW4lnp07QHCJ9kI5m6al1Ay_aZTs4uLbFF8Ox52AwQQ/s600/WS000063.JPG"/></a></div>
作成したuser01で再ログインしてみます。<br>
作っただけではログインしても以下のように何も操作できない状態となります。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEqxgRgks5m7Ly_vtSuvbR4-PX-bsEa0xKml8TY_2K4Hx2iJ0gnJXMxowriVisTQ0Ou8N-qCow9I4VWojZCL0tpeRh-sfLK-i2BPQKCNsLMBUNFvtoBcXrC6gO71w8jiX-MS3Zq6vWV6Vp_2VOWAUBylEb4Dqc2sbItgcQlXFm8wjyFiSqDbqL4W-k5w/s1807/WS000064.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="839" data-original-width="1807" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEqxgRgks5m7Ly_vtSuvbR4-PX-bsEa0xKml8TY_2K4Hx2iJ0gnJXMxowriVisTQ0Ou8N-qCow9I4VWojZCL0tpeRh-sfLK-i2BPQKCNsLMBUNFvtoBcXrC6gO71w8jiX-MS3Zq6vWV6Vp_2VOWAUBylEb4Dqc2sbItgcQlXFm8wjyFiSqDbqL4W-k5w/s600/WS000064.JPG"/></a></div>
では、このユーザーにアクセスを行わせるクラスタへ権限の付与を行いましょう。<br>
adminでログインしなおします。<br>
ユーザーに操作させたいKubernetesクラスタをクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNHivCmrgWHx-LQ_wR8RGAxOqymE5x_zSs9bMjnBnDjrDvGmyWhxZ7FMLQmKbBwGWYZhJQf3xOjQq0Iim0g1TWjQRjCY4jZpbDGnTK4jer7GFsfL9tftqquUu7-NcbYZGwKHTrOb5eCDjjMZ7aPbd2QfjTdXoVwZyne03rSFh6Y3qbJVvGR-kNoAXwEA/s1800/WS000065.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="826" data-original-width="1800" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNHivCmrgWHx-LQ_wR8RGAxOqymE5x_zSs9bMjnBnDjrDvGmyWhxZ7FMLQmKbBwGWYZhJQf3xOjQq0Iim0g1TWjQRjCY4jZpbDGnTK4jer7GFsfL9tftqquUu7-NcbYZGwKHTrOb5eCDjjMZ7aPbd2QfjTdXoVwZyne03rSFh6Y3qbJVvGR-kNoAXwEA/s600/WS000065.JPG"/></a></div>
「Cluster Members」を表示し「Add」をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdDiv0biFRgfX80puigkLI4aWhqoYkzfMjgUOpElbgXPJkvMJZrq3d0e9WrkmOfXL6z50XAvamK3d-C0xjFzWghhuvYAqhi2U3ExT7rMO9vcRvfvmCUzE5YHCLY09QugAhFlB2oMvRNTozsX4jQAjfjGuPlhNDISG51-pUifDAo-SDK2LiRMv648sC7Q/s1806/WS000066.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="712" data-original-width="1806" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdDiv0biFRgfX80puigkLI4aWhqoYkzfMjgUOpElbgXPJkvMJZrq3d0e9WrkmOfXL6z50XAvamK3d-C0xjFzWghhuvYAqhi2U3ExT7rMO9vcRvfvmCUzE5YHCLY09QugAhFlB2oMvRNTozsX4jQAjfjGuPlhNDISG51-pUifDAo-SDK2LiRMv648sC7Q/s600/WS000066.JPG"/></a></div>
「Select Member」で追加したいユーザー検索して設定します。<br>
今回は先ほど作成した「user01」になります。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqhB1PYb6-Tmo7OO7LSgdAVKzlVSKEWMflotncQDkuo5Fp1Z05mUACp5yJtOm0X8gu7M9KA-3WrU2xxMRxNw3BJ9yN1o8Nx6myVWWbLJ1eU2VoUPqOUQs2tU6HOFiMkkQ1FRur0elriOIEuhqVog24pZL_p5yrbnVukdBN4M7klAGTUJ7TC7IK9ZN9eg/s1807/WS000068.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="837" data-original-width="1807" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqhB1PYb6-Tmo7OO7LSgdAVKzlVSKEWMflotncQDkuo5Fp1Z05mUACp5yJtOm0X8gu7M9KA-3WrU2xxMRxNw3BJ9yN1o8Nx6myVWWbLJ1eU2VoUPqOUQs2tU6HOFiMkkQ1FRur0elriOIEuhqVog24pZL_p5yrbnVukdBN4M7klAGTUJ7TC7IK9ZN9eg/s600/WS000068.JPG"/></a></div>
user01がクラスタのメンバーとして追加されました。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwpUlrAr_V9Cch4VcWcJFbT1HidSKvLpxHajc6cgQBC4CUPpqtMA6a5xCjXWlpyJnrpkDMGaNTOD_r0KJxnptiCj3C2k29GDjog5Jzk4W5umHPjvnJevrSuHUWyJixx_zjnFgY0heyDKCCA4rUh_bwt7SPMkf5Nwl1iuMqZX6Dky7bSybZd_dlCwa_Ow/s1809/WS000069.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="762" data-original-width="1809" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwpUlrAr_V9Cch4VcWcJFbT1HidSKvLpxHajc6cgQBC4CUPpqtMA6a5xCjXWlpyJnrpkDMGaNTOD_r0KJxnptiCj3C2k29GDjog5Jzk4W5umHPjvnJevrSuHUWyJixx_zjnFgY0heyDKCCA4rUh_bwt7SPMkf5Nwl1iuMqZX6Dky7bSybZd_dlCwa_Ow/s600/WS000069.JPG"/></a></div>
この状態で改めてログインすると、先ほど権限をくっつけたk8s-1クラスタが表示されました。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguDAOJjX6FsQSQTzCnpVqI0j1j1f8d32T0Y4y7UUM0etUcXUiSOH90uYT9sNwfiZAuW2XDCpEkLr-rVNayoidgC98zoE--59JSXm0WwK-wSHzT5TvqY05Pmik9wLBuyjanrPJ0HWik_3UKLdpJNvR2yOkxi3q8wO0OTWWhiwC43Iz5kx0YTaP0ap4RNQ/s1806/WS000070.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="800" data-original-width="1806" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguDAOJjX6FsQSQTzCnpVqI0j1j1f8d32T0Y4y7UUM0etUcXUiSOH90uYT9sNwfiZAuW2XDCpEkLr-rVNayoidgC98zoE--59JSXm0WwK-wSHzT5TvqY05Pmik9wLBuyjanrPJ0HWik_3UKLdpJNvR2yOkxi3q8wO0OTWWhiwC43Iz5kx0YTaP0ap4RNQ/s600/WS000070.JPG"/></a></div>
今回はここまでにします。<br>
次回は、管理者権限と比べてどんなことが制限されているのか見ていきたいと思います。<br>hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-44862127102918357102023-05-09T08:30:00.017+09:002023-08-10T14:43:40.424+09:00海外でのワーケーションを考える その1 実現したいこと<p style="text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihvfhmiHgv_xptLoKM1Qbb_PkTj-I2wtPCYd8I02gOedFpV4Km9SuaYe8cfxWpjrVe1oUZNUSdpW_ORsy13g_D06Rb0N_m2k56Dbjyf_TJjMPW41fvmew92miBm3F18LTssvPps6ydknu8BfRCcc0cmx5MKi7MCOvBMpKfRb3fX4hWM2af4haIPqI1/s640/IMG_0458.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="426" data-original-width="640" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihvfhmiHgv_xptLoKM1Qbb_PkTj-I2wtPCYd8I02gOedFpV4Km9SuaYe8cfxWpjrVe1oUZNUSdpW_ORsy13g_D06Rb0N_m2k56Dbjyf_TJjMPW41fvmew92miBm3F18LTssvPps6ydknu8BfRCcc0cmx5MKi7MCOvBMpKfRb3fX4hWM2af4haIPqI1/w400-h266/IMG_0458.JPG" width="400"></a></p><p>5月の連休明け、コロナ禍が終わりを迎えました。新型コロナウィルスの感染法上の位置づけも季節性インフルエンザと同じ5類となり、今まで海外渡航時に求められたワクチン接種証明などの提出が不要となりました。</p><p>家族より以下の要望がありました。</p><p>「そろそろ海外旅行へ行きたい」</p><p>「長い間行けなかったから行くなら少し長めに行きたい」</p><p>「行くならピークをずらして安くしたい」、、、</p><p>「しかし、仕事(自営業)もあるので、旅行先でも少しは仕事をしたい、、。」</p><p><b><span style="font-size: medium;">海外でワーケーションできないか。</span></b></p><p>ということで、、</p><p>前振りが長くなりましたが、今回は海外でのワーケーションを実現する方法を考えてみたいと思います。</p><p>※私自身はワーケーション不可なので、あくまで身内がワーケーションする前提です。誤解されそうなので。(笑)</p><p>今回の要望は以下となります。</p><p><要望></p><p>【 旅行先について 】</p><p>・東南アジアを想定</p><p>【 旅行中のインターネット環境 】</p><p>・現地でSIMを購入</p><p>・スマートフォンのテザリングを利用する</p><p>【 PCについて 】</p><p>・盗難、紛失も怖いので旅行には仕事用PCは持っていかない(持ち運びには大きくて重い)</p><p>・利用しないときは仕事用PCの電源を落としておきたい</p><p>・旅行には小型の軽い私用PCを持参する</p><p>【 自宅のインターネット環境について 】</p><p>・回線の仕様上、インバウンド方向のNATなど公開サーバーの設定はできない</p><p>・固定パブリックIPアドレスも利用できない</p><p>【 自宅ネットワーク機器について 】</p><p>・インターネット回線は変更することができないため、最低限のネットワーク機器は調達してもよい</p><p>・ただし、調達する機器は安価であること(新品、中古は問わない)</p><p>【 その他 】</p><p>・邪魔になるので機器は最小限にすること</p><p>・経費はかけたくない(必要最小限に)</p><p>・経費が必要ならば事前に伝えること</p><p><br></p><p>以上が要望となります。</p><p>この要望を基に次回より実現するための案を考えていきたいと思います。</p><p>それでは。</p><p><br></p><p><br></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-27455271988762324352023-04-28T18:00:00.003+09:002023-10-19T13:21:02.503+09:00Rancharでkubernetesの管理をしてみる 第1回 『Rancharの構築とkubernetesの追加』<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
kubernetesでいろいろと構築することを過去にやってきましたので、今回からは管理系のお勉強をしたいと思います。<br>
早速導入ですが、これはDockerのコマンド一発でできてしまいました。<br>
世の中便利になりましたね・・・<br>
<br>
公式ドキュメント:https://www.rancher.co.jp/quick-start/<br>
<br>
ただ、それを知っているかどうかとそれを見つけられるかどうかなど、いろいろなものがありすぎて複雑だなぁと感じる私は地球の重力に魂を引かれているのでしょう。<br>
Dockerの入っているマシンを用意したら以下のコマンドを実行して下さい。<br>
このあとkubernetesのクラスタを追加するので、各ノードと通信できるマシンという点だけ注意してください。<br>
<pre>
# docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher
</pre>
これだけで作業完了です。<br>
コンテナ起動時にホストへのhttps通信をコンテナに転送するように設定されているので、ブラウザでアクセス可能ですがそのままだとパスワードがわからないので確認しておきましょう。<br>
<br>
パスワードの確認はコンテナのlogから確認するので、コンテナのIDを確認します。<br>
<pre>
# sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
977d197a93b5 rancher/rancher "entrypoint.sh" 41 seconds ago Up 35 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp frosty_meninsky
</pre>
この「CONTAINER ID」を使ってログを表示するとその中にパスワードが入っているので以下のコマンドでそれを抽出します。<br>
# docker logs 977d197a93b5 2>&1 | grep "Bootstrap Passwor
ログイン後は、パスワードの再設定を行います。<br>
12文字以上という結構長いパスワード要求でちょっと困りました(個人的にはNSX以外で初めてでしたね。)<br>
<br>
ログインすると画面はこんな感じです。<br>
ここからkubernetesの構築を行うこともできるようなのですが、既存のkubernetesをこのRancharに追加してみたいと思います。<br>
クラスターのページから、『Inport Existing』を実行します。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUdMzmc2Yp7ndvgVmEby90ijEBJCBQxcyzRGZLx5Zgj8rgpjQFaN7swNUDIFdTuQi11hyZdLyu3ELBHzuI5DJ9KdHHxQQTgLK-ejwEj-_jq0_ShjpV_gM6fbpZch6H967wHT9IzE0nvGh9KtY1diAJa0x1A8fMT562-ORhO123jMaCNqa2IjLhIQznYA/s1646/WS000045.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="749" data-original-width="1646" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUdMzmc2Yp7ndvgVmEby90ijEBJCBQxcyzRGZLx5Zgj8rgpjQFaN7swNUDIFdTuQi11hyZdLyu3ELBHzuI5DJ9KdHHxQQTgLK-ejwEj-_jq0_ShjpV_gM6fbpZch6H967wHT9IzE0nvGh9KtY1diAJa0x1A8fMT562-ORhO123jMaCNqa2IjLhIQznYA/s600/WS000045.JPG"/></a></div>
『Import any Kubernetes cluster』の『Generic』をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiABF_mcA5xCh9FbyrWNz89le1RN_Fi9VXL-Q2sgVNVYAZQw0-sMZPOKZUNk2Lrokcc9kc3kCJZzorrcYrc-4ARcV8POqJIUCYo0VtRx9lR1aGXIimf-uhvvfgbb4UjYAUCQLD1w6aYV_SrwfLK9yEhyB8Ld752csF42MTUWYwveOSs5HP5qSX-iSJwug/s1646/WS000046.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="802" data-original-width="1646" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiABF_mcA5xCh9FbyrWNz89le1RN_Fi9VXL-Q2sgVNVYAZQw0-sMZPOKZUNk2Lrokcc9kc3kCJZzorrcYrc-4ARcV8POqJIUCYo0VtRx9lR1aGXIimf-uhvvfgbb4UjYAUCQLD1w6aYV_SrwfLK9yEhyB8Ld752csF42MTUWYwveOSs5HP5qSX-iSJwug/s600/WS000046.JPG"/></a></div>
登録するクラスタの名前を設定します。<br>
ここでは k8s-1 と設定しました『Create』をクリックします。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZrB0chV4_6T9r9NH7PXMuCl-Qvt97wHiqOkiBhcIeBfO2lk0skITZNGpdbYswgJ_JZF4neOqAxvCotlgYOO6o7LjmrF-k2GDZjx4z4DdsbZH5L7chADMKtGO5nbKWB9t6DRqGIji8Y9wSZGLrWYTdcEKJkxlOwSH1Hi1Mby39iHHEGWN1-k64wTzOiA/s1652/WS000047.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="800" data-original-width="1652" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZrB0chV4_6T9r9NH7PXMuCl-Qvt97wHiqOkiBhcIeBfO2lk0skITZNGpdbYswgJ_JZF4neOqAxvCotlgYOO6o7LjmrF-k2GDZjx4z4DdsbZH5L7chADMKtGO5nbKWB9t6DRqGIji8Y9wSZGLrWYTdcEKJkxlOwSH1Hi1Mby39iHHEGWN1-k64wTzOiA/s600/WS000047.JPG"/></a></div>
そうすると、クラスターの追加を行う Kubectl のコマンドが表示されます。<br>
証明書の問題が発生した場合は2つ目のコマンドを使うように案内されるため、そちらを使いましょう<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyGriP-03eNHUKsmKeEOZLIqosIrBkHM7gxX9okeRuyC6unHK49WfJ8TyQmun9fUhB6RzrxJNrcBvscFZTvxBw32uFb72evJ8whLbGB-Db67y8fnLlGoYbwq2F2PHxHJMgZM-Jt1-i50iyxQNwcM0OOzR9wHngIvATp48K_gxkOeec1c7RsplUTsRyfA/s1654/WS000049.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="792" data-original-width="1654" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyGriP-03eNHUKsmKeEOZLIqosIrBkHM7gxX9okeRuyC6unHK49WfJ8TyQmun9fUhB6RzrxJNrcBvscFZTvxBw32uFb72evJ8whLbGB-Db67y8fnLlGoYbwq2F2PHxHJMgZM-Jt1-i50iyxQNwcM0OOzR9wHngIvATp48K_gxkOeec1c7RsplUTsRyfA/s600/WS000049.JPG"/></a></div>
実際に実行してみると、以下のものが作られます。<br>
<pre>
clusterrole.rbac.authorization.k8s.io/proxy-clusterrole-kubeapiserver created
clusterrolebinding.rbac.authorization.k8s.io/proxy-role-binding-kubernetes-master created
namespace/cattle-system created
serviceaccount/cattle created
clusterrolebinding.rbac.authorization.k8s.io/cattle-admin-binding created
secret/cattle-credentials-7e1f7cb created
clusterrole.rbac.authorization.k8s.io/cattle-admin created
Warning: spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].key: beta.kubernetes.io/os is deprecated since v1.14; use "kubernetes.io/os" instead
deployment.apps/cattle-cluster-agent created
</pre>
正常に展開できた場合はしばらくして、RancherのUIに戻ると『Active』と追加スタクラスターで表示されます。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXZvPZ-w60mj7kO6hyPWo9f6nKr24B0dL8g7jClXrXyjTq2VHZedCPMLsg9t90nyF6QdxrSlsrjGo9Sxqk194lKKTmtja2NtzrkuGo40xqpUff3EXPKosoPDeJ6AO4q6BN8n3dBJRXg3BXdXlHo-XFyHET4R-wgNLevFSDSxX87KxmLeNTxXyZWAk-5A/s1648/WS000051.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="730" data-original-width="1648" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXZvPZ-w60mj7kO6hyPWo9f6nKr24B0dL8g7jClXrXyjTq2VHZedCPMLsg9t90nyF6QdxrSlsrjGo9Sxqk194lKKTmtja2NtzrkuGo40xqpUff3EXPKosoPDeJ6AO4q6BN8n3dBJRXg3BXdXlHo-XFyHET4R-wgNLevFSDSxX87KxmLeNTxXyZWAk-5A/s600/WS000051.JPG"/></a></div>
Rancherのホームを表示すると、クラスターの右端のボタンからなんとkubectlを実行可能なshellが起動可能です。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp7gLaIpP-qZ7cTP0QwlpC_yDQMrys9UVJ-zagbUCAfn33z9GfsHSYnUndBR-COEjQiqfgFiu4l0ZpXs4V9RgOBiugdmSpQAiCnRexPj8OP33EblBJDl9fsxmi-VFFnlxxMjEkINp8ulVYrQSXsNYTtwVuHBRVLu-7XYBRIDJFQQ_YNUbtbmZgJEoUUA/s1651/WS000052.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="511" data-original-width="1651" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp7gLaIpP-qZ7cTP0QwlpC_yDQMrys9UVJ-zagbUCAfn33z9GfsHSYnUndBR-COEjQiqfgFiu4l0ZpXs4V9RgOBiugdmSpQAiCnRexPj8OP33EblBJDl9fsxmi-VFFnlxxMjEkINp8ulVYrQSXsNYTtwVuHBRVLu-7XYBRIDJFQQ_YNUbtbmZgJEoUUA/s600/WS000052.JPG"/></a></div>
<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYg6iREZ3UNXnabMVytKr6IIMOwo0adjWHvcqxCHj27pd5mMoGqLjG2FCE2zZUeHUIhz2EcReDx_f9YUPw6JFKxZ12Hoxrp586i106Q6Evu-p-6bbrxNVzX-0EwD8LyrmcU0uNSxVGh7m9IJzzT3TBCB5BlvGrp4w3xftwxBlahPdd68A9osdyBaeYyA/s1648/WS000053.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="618" data-original-width="1648" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYg6iREZ3UNXnabMVytKr6IIMOwo0adjWHvcqxCHj27pd5mMoGqLjG2FCE2zZUeHUIhz2EcReDx_f9YUPw6JFKxZ12Hoxrp586i106Q6Evu-p-6bbrxNVzX-0EwD8LyrmcU0uNSxVGh7m9IJzzT3TBCB5BlvGrp4w3xftwxBlahPdd68A9osdyBaeYyA/s600/WS000053.JPG"/></a></div>
先ほどクラスターを追加した際に作成された名前空間『cattle-system』にあるpodを確認してみましょう。<br>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnzii9m6K1UjuO6hoLfa7HT8Om1fqsUgiuaAWpdeQ-JztIkPeotheqPX07iQ4lHNAvGHiG6XHLFB1QOdNt_IMmyT2HQywjL5sW0sDOp2qJJ_kpZ_v69IEWMDKlv-1uxk3J4CXQyr-zZtnIMCEN9fySr1x4DIGQGwqURhFnBBRUryvziaDn4H58HUkSIQ/s1657/WS000054.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="800" data-original-width="1657" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnzii9m6K1UjuO6hoLfa7HT8Om1fqsUgiuaAWpdeQ-JztIkPeotheqPX07iQ4lHNAvGHiG6XHLFB1QOdNt_IMmyT2HQywjL5sW0sDOp2qJJ_kpZ_v69IEWMDKlv-1uxk3J4CXQyr-zZtnIMCEN9fySr1x4DIGQGwqURhFnBBRUryvziaDn4H58HUkSIQ/s600/WS000054.JPG"/></a></div>
こんな感じで複数k8sクラスターがあってもここからk8sの切り替えてkubectlコマンドが実行できるので楽でいいですね。<br>hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-87431844810034077302023-03-31T18:00:00.002+09:002023-10-19T13:21:02.506+09:00やってみよう自動化ツール Ansible その6 動的PVCが使えるようにnfs-clientを自動で展開してみよう<style>
pre {
border: 1px;
border-style: solid;
border-color: black;
padding: 5px;
}
</style>
今回は、Podに永久ストレージを自動で追加してくれる動的PVCを使えるように、nfs-clientの導入をやっていきます。<br>
事前準備として、コントロールプレーンノード、ワーカーノードからNFSの領域がアクセスできるようにしておいてください。<br>
<br>
NFS用意してないよっていう人は、以下の作業で検証用のNFSを適当に作ってください。<br>
<pre>
1. マウントする領域を作成する(mkdir /share/nfs)<br>
2. yum install nfs-utils で nfs-utils をインストール<br>
3. vi /etc/exports で通信設定を行う<br>
/share/nfs NFSサーバーにアクセス可能にするネットワーク(rw,no_root_squash,async)
4. firewallを無効<br>
5. サービスを起動する<br>
systemctl start rpcbind
systemctl start nfs
</pre>
NFSを用意したら忘れずにWorkerノードにマウントしてください<br>
<pre>
1. マウントポイント作成(mkdir /share/nfs-client)<br>
2. yum install nfs-utils で nfs-utils をインストール<br>
3. mount -v -t nfs NFSのIPアドレス:/share/nfs /share/nfs-client<br>
</pre>
準備ができたら、次に進みましょう。<br>
まず、手動でやる際のnfs-client導入手順確認です<br>
<pre>
1. nfs-clientをインストールするためにhelmを利用するので導入します
curl -O https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
bash ./get-helm-3
2. helmからnfs-clientをデプロイできるようにリポジトリを追加します
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
3. helmからnfs-clientをデプロイします
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=NFSのIPアドレス \
--set nfs.path=/share/nfs
</pre>
手順としては上記で完了です。<br>
これをもとにansible用のプレイブックを作成していきましょう。<br>
<br>
まず、今回もrolesを使っていこうと思うので、roles/nfs_client/tasks/main.yaml を作成し以下の内容を記載します。<br>
<pre>
---
- name: helm get
shell: curl -O https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
- name: helm install
shell: bash ./get-helm-3
- name: helm add repo
shell: helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
- name: nfs-client deploy
shell: helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner --set nfs.server=NFSのIPアドレス --set nfs.path=/share/nfs
---
</pre>
続いて前回作成したrolesを呼び出す用のプレイブック(k8s-add.yaml)に、このrolesを追加します。<br>
<pre>
- name: setup k8s
hosts: kubectl
remote_user: root
tasks:
# - name: metallb setup
# include_role:
# name: MetalLB
- name: nfs-client setup
include_role:
name: nfs_client
</pre>
前回作成済みのMetalLBがすでにあるので、MetalLBについての処理はコメントアウトしています。<br>
あとは、ansibleからプレイブックを実行するだけです。<br>
<br>
<pre>
ansible-playbook k8s-add.yaml
</pre>
正常に処理が行われたら、PVCが使えるか確認してみましょう。<br>
まず、以下のコマンドで nfs-client を導入したことにより追加された storage class と pod を確認します。<br>
<pre>
kubectl get pod,sc
</pre>
nfs-subdir-external-provisioner-xxxxx という pod と nfs-client というstorage class ができていると思います。<br>
現時点では pvc も pv もないことを確認しておいてください。
<pre>
kubectl get pv,pvc
No resources found
</pre>
では、pvcを作成するyamlを作成します。
<pre>
pvc.yaml
----
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-provisioner
annotations:
volume.beta.kubernetes.io/storage-class: nfs-client
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
----
</pre>
以下のコマンドでPVCを作成します。
<pre>
kubectl apply -f pvc.yaml
</pre>
pvc とそれに Bound された pv が作成されていることを確認してください。
<pre>
# kubectl get pv,pvc
</pre>
今回は以上となります。hirokazuhttp://www.blogger.com/profile/11270682366806857775noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-34906631513983260992023-03-30T17:54:00.002+09:002023-05-08T21:41:14.098+09:00GraphQLに触れてみる<h1 style="text-align: left;">GraphQLに触れてみる</h1><h2 style="text-align: left;">◆ やること</h2><div>Webアプリで別リソースからデータ取得しないといけないケースがたまにあります。</div><div>例えば、人事情報は「Google API」から取得、その他は「オンプレのPostgreSQL」から取得…といったケースです。</div><div><br /></div><div>GraphQLはこういったケースを想定してデータ取得できるようなので、実際にどんなものか触れてみようと思います。</div><div>また、別リソースを結合(SQLの内部結合みたいに)してデータ取得できると便利そうなので、結合できるかどうかも確認してみます。</div><div><br /></div><div>Spring for GraphQL が2022年5月頃にリリースされたため、そちらを使います。</div><div><br /></div><h2 style="text-align: left;">◆ 使うもの</h2><div><ul style="text-align: left;"><li>Spring for GraphQL (v1.1.3)</li><li>IntelliJ (CE版 2022.3.1)</li><li>Java (v17)</li></ul></div><div><br /></div><h2 style="text-align: left;">◆ GraphQLサーバを構築する</h2><div><ol style="text-align: left;"><li><a href="https://start.spring.io/" target="_blank">SpringInitializr</a> で以下を [Dependencies] に含めてソースを生成する。</li><ul><li>Spring Web</li><li>Spring for GraphQL</li><li>Lombok<br /><br /></li></ul><li>生成したソースを IntelliJ で読み込む。<br /><br /></li><li>以下のファイルを追加する。</li><ul><li>src/main/resources/graphql/schema.graphqls<br /><div style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace; font-size: 9.8pt;"><pre>type Employee {<br /> code: ID!<br /> fullName: String!<br /> department: Department!<br />}<br /><br />type Department {<br /> code: ID!<br /> name: String!<br />}<br /><br />type Query {<br /> employees(code: String): [Employee]<br />}</pre></div></li><ul><li>GraphQLのスキーマやクエリを定義するファイル。</li><li>employees クエリを呼び出すと Employee(従業員) と 所属している Department(部門) を取得できる。</li><li>employees クエリは code で絞り込みできる。実際に絞り込んでるのは後述の EmployeeController。<br /><br /></li></ul><li>Employee.java<br /><div style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace; font-size: 9.8pt;"><pre><span style="color: #bbb529;">@Getter<br /></span><span style="color: #bbb529;">@Builder<br /></span><span style="color: #bbb529;">@AllArgsConstructor<br /></span><span style="color: #bbb529;">@ToString<br /></span><span style="color: #bbb529;">@EqualsAndHashCode<br /></span><span style="color: #cc7832;">public class </span>Employee {<br /> <span style="color: #cc7832;">private final </span>String <span style="color: #9876aa;">code</span><span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> private final </span>String <span style="color: #9876aa;">fullName</span><span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> private final </span>String <span style="color: #9876aa;">departmentCode</span><span style="color: #cc7832;">;<br /></span>}</pre></div></li><ul><li>Employee の DTO。</li><li>department のメンバはなく、代わりに departmentCode を持つ。</li><li>Department (DTO) との関連付けは Spring for GraphQL がやってくれる。ただし、後述の EmployeeController の @BatchMapping 関数で結合処理の記述が必要。<br /><br /></li></ul><li>Department.java<br /><div style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace; font-size: 9.8pt;"><pre><span style="color: #bbb529;">@Getter<br /></span><span style="color: #bbb529;">@Builder<br /></span><span style="color: #bbb529;">@AllArgsConstructor<br /></span><span style="color: #bbb529;">@ToString<br /></span><span style="color: #bbb529;">@EqualsAndHashCode<br /></span><span style="color: #cc7832;">public class </span>Department {<br /> <span style="color: #cc7832;">private final </span>String <span style="color: #9876aa;">code</span><span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> private final </span>String <span style="color: #9876aa;">name</span><span style="color: #cc7832;">;<br /></span>}<br /></pre></div></li><ul><li>Department の DTO。<br /><br /></li></ul><li>EmployeeController.java<br /><div style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace; font-size: 9.8pt;"><pre><span style="color: #bbb529;">@Slf4j<br /></span><span style="color: #bbb529;">@Controller<br /></span><span style="color: #cc7832;">public class </span>EmployeeController {<br /><br /> <span style="color: #bbb529;">@QueryMapping</span>(name = <span style="color: #6a8759;">"employees"</span>) <span style="color: grey;">// </span><span face="'MS ゴシック',monospace" style="color: grey;">①<br /></span><span face="'MS ゴシック',monospace" style="color: grey;"> </span><span style="color: #cc7832;">public </span>List<Employee> <span style="color: #ffc66d;">employees</span>(<span style="color: #bbb529;">@Argument </span>String code) {<br /> <span style="color: grey;">// </span><span face="'MS ゴシック',monospace" style="color: grey;">仮データを作成する<br /></span><span face="'MS ゴシック',monospace" style="color: grey;"> </span>List<Employee> employees = <span style="color: #cc7832;">new </span>ArrayList<>()<span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> </span>employees.add(<span style="color: #cc7832;">new </span>Employee(<span style="color: #6a8759;">"E001"</span><span style="color: #cc7832;">, </span><span style="color: #6a8759;">"</span><span face="'MS ゴシック',monospace" style="color: #6a8759;">山田 一郎</span><span style="color: #6a8759;">"</span><span style="color: #cc7832;">, </span><span style="color: #6a8759;">"D001"</span>))<span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> </span>employees.add(<span style="color: #cc7832;">new </span>Employee(<span style="color: #6a8759;">"E002"</span><span style="color: #cc7832;">, </span><span style="color: #6a8759;">"</span><span face="'MS ゴシック',monospace" style="color: #6a8759;">山田 二郎</span><span style="color: #6a8759;">"</span><span style="color: #cc7832;">, </span><span style="color: #6a8759;">"D002"</span>))<span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> </span>employees.add(<span style="color: #cc7832;">new </span>Employee(<span style="color: #6a8759;">"E003"</span><span style="color: #cc7832;">, </span><span style="color: #6a8759;">"</span><span face="'MS ゴシック',monospace" style="color: #6a8759;">山田 三郎</span><span style="color: #6a8759;">"</span><span style="color: #cc7832;">, </span><span style="color: #6a8759;">"D001"</span>))<span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"><br /></span><span style="color: #cc7832;"> </span><span style="color: grey;">// code </span><span face="'MS ゴシック',monospace" style="color: grey;">が指定されている場合、</span><span style="color: grey;">Employee </span><span face="'MS ゴシック',monospace" style="color: grey;">を絞り込む<br /></span><span face="'MS ゴシック',monospace" style="color: grey;"> </span><span style="color: #cc7832;">if </span>(code != <span style="color: #cc7832;">null </span>&& !code.equals(<span style="color: #6a8759;">""</span>)) {<br /> employees = employees.stream()<br /> .filter(e -> <span style="color: #b389c5;">code</span>.equals(e.getCode()))<br /> .collect(Collectors.<span style="font-style: italic;">toList</span>())<span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> </span>}<br /><br /> <span style="color: grey;">// </span><span face="'MS ゴシック',monospace" style="color: grey;">返却する<br /></span><span face="'MS ゴシック',monospace" style="color: grey;"> </span><span style="color: #cc7832;">return </span>employees<span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> </span>}<br /><br /> <span style="color: #bbb529;">@BatchMapping</span>(typeName = <span style="color: #6a8759;">"Employee"</span><span style="color: #cc7832;">, </span>field = <span style="color: #6a8759;">"department"</span>) <span style="color: grey;">// </span><span face="'MS ゴシック',monospace" style="color: grey;">②<br /></span><span face="'MS ゴシック',monospace" style="color: grey;"> </span><span style="color: #cc7832;">public </span>Map<Employee<span style="color: #cc7832;">, </span>Optional<Department>> <span style="color: #ffc66d;">department</span>(<br /> List<Employee> employees) {<br /> <span style="color: grey;">// </span><span face="'MS ゴシック',monospace" style="color: grey;">仮データを作成する<br /></span><span face="'MS ゴシック',monospace" style="color: grey;"> </span>List<Department> departments = <span style="color: #cc7832;">new </span>ArrayList<>()<span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> </span>departments.add(<span style="color: #cc7832;">new </span>Department(<span style="color: #6a8759;">"D001"</span><span style="color: #cc7832;">, </span><span style="color: #6a8759;">"</span><span face="'MS ゴシック',monospace" style="color: #6a8759;">開発1課</span><span style="color: #6a8759;">"</span>))<span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> </span>departments.add(<span style="color: #cc7832;">new </span>Department(<span style="color: #6a8759;">"D002"</span><span style="color: #cc7832;">, </span><span style="color: #6a8759;">"</span><span face="'MS ゴシック',monospace" style="color: #6a8759;">開発2課</span><span style="color: #6a8759;">"</span>))<span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"><br /></span><span style="color: #cc7832;"> </span><span style="color: grey;">// Employee </span><span face="'MS ゴシック',monospace" style="color: grey;">と</span><span style="color: grey;"> Department </span><span face="'MS ゴシック',monospace" style="color: grey;">のマッピングを生成して返却する<br /></span><span face="'MS ゴシック',monospace" style="color: grey;"> </span><span style="color: #cc7832;">return </span>employees.stream()<br /> .collect(Collectors.<span style="font-style: italic;">toMap</span>(e -> e<span style="color: #cc7832;">, </span>e -> <span style="color: #b389c5;">departments</span>.stream()<br /> .filter(d -> d.getCode().equals(<span style="color: #b389c5;">e</span>.getDepartmentCode()))<br /> .findFirst()))<span style="color: #cc7832;">;<br /></span><span style="color: #cc7832;"> </span>}<br />}<br /></pre></div></li><ul><li>employees クエリ用のコントローラ。</li><li>①:employees クエリ呼出し時の入り口になる。</li><li>②:employees クエリの呼出し時に Employee の department フィールドのデータを取得する際に呼び出される。パラメータの employees は ① の結果が渡されるので、① の結果の departmentCode を元にデータを取得する形になる。 <br />返却値は List を返却してもいいが、Map であればNULL値の設定も可能なので、Map を返却するのが無難。<br /><br /></li></ul><li>application.yml<br /><div style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace; font-size: 9.8pt;"><pre><span style="color: #cc7832;">server</span>:<br /> <span style="color: #cc7832;">port </span>: 8080 <span style="color: #629755; font-style: italic;"># </span><span face="'MS ゴシック',monospace" style="color: #629755; font-style: italic;">①<br /></span><span style="color: #cc7832;">spring</span>:<br /> <span style="color: #cc7832;">graphql</span>:<br /> <span style="color: #cc7832;">graphiql</span>:<br /> <span style="color: #cc7832;">enabled</span>: true <span style="color: #629755; font-style: italic;"># </span><span face="'MS ゴシック',monospace" style="color: #629755; font-style: italic;">②<br /></span><span face="'MS ゴシック',monospace" style="color: #629755; font-style: italic;"> </span><span style="color: #cc7832;">schema</span>:<br /> <span style="color: #cc7832;">printer</span>:<br /> <span style="color: #cc7832;">enabled</span>: true <span style="color: #629755; font-style: italic;"># </span><span face="'MS ゴシック',monospace" style="color: #629755; font-style: italic;">③</span></pre></div></li><ul><li>SpringBoot お馴染みの設定ファイル。</li><li>①:サーバのポートを 8080 にしている。</li><li>②:true にすると、ブラウザでGraphiQL(≠GraphQL)が使えるようになる。使い方は後述。</li><li>③:true にすると、ブラウザでGraphQLのスキーマ定義を参照できるようになる。使い方は後述。<br /><br /></li></ul></ul><li>サーバを起動する。<br /><br /><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg79Zxwb8XWpdPiNGXCQJ8iEc-zGRVkivJicqy4R4ia5U-ZaEeoQ3F_7qdvdJpRdeq0cjC4yarCmlRelsyiDSHh7OznwNoJmK-6ffTM56Q0v9Fw0k_UnZjq6cC5LAc2yps2Brc6qmD4l3usPnFsYlWE05MdWfnjrNoq4B_XVKVPCabiDepSL9AUaeFunQ/s655/image1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="490" data-original-width="655" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg79Zxwb8XWpdPiNGXCQJ8iEc-zGRVkivJicqy4R4ia5U-ZaEeoQ3F_7qdvdJpRdeq0cjC4yarCmlRelsyiDSHh7OznwNoJmK-6ffTM56Q0v9Fw0k_UnZjq6cC5LAc2yps2Brc6qmD4l3usPnFsYlWE05MdWfnjrNoq4B_XVKVPCabiDepSL9AUaeFunQ/w509-h380/image1.png" width="509" /></a></div></li></ol></div><div><br /></div><h2 style="text-align: left;">◆ GraphQLサーバからデータを取得する</h2><div>以下URLにクエリを POST で送信すればデータを取得できます。</div><div><br /></div><div><ul style="text-align: left;"><li>GraphQLのURL:<br /><a href="http://localhost:8080/graphql">http://localhost:8080/graphql</a></li></ul></div><div><br /></div><div>何かしらのツールを使って送信すればいいのですが、Spring for GraphQL では以下URLで <a href="https://github.com/graphql/graphiql" target="_blank">GraphiQL</a>(≠GraphQL)を使えるため、そちらで試してみます。</div><div><br /></div><div><ul style="text-align: left;"><li>GraphiQL(≠GraphQL)のURL:<br /><a href="http://localhost:8080/graphiql">http://localhost:8080/graphiql</a><br /><br /><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUjLmixtl2QLKsqc3kSdqJE-d8QWkZjsbq13NjVabvTd4DaTeW202IhFoH0C6oy6O1XBbYipp1UuxypxSb-TSWE6ENwb-cgBJdJreUgg3VdaJM1mvUGcqtvkIe2ocTjCi6t7nM1jyoLqKmMST4VPn9AS2uOdqpWnO6Nyt9ff-fYJp0Kk52VF9cSj4aog/s791/image2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="377" data-original-width="791" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUjLmixtl2QLKsqc3kSdqJE-d8QWkZjsbq13NjVabvTd4DaTeW202IhFoH0C6oy6O1XBbYipp1UuxypxSb-TSWE6ENwb-cgBJdJreUgg3VdaJM1mvUGcqtvkIe2ocTjCi6t7nM1jyoLqKmMST4VPn9AS2uOdqpWnO6Nyt9ff-fYJp0Kk52VF9cSj4aog/w400-h191/image2.png" width="400" /></a></div></li></ul></div><div><br /></div><div>Employee の情報だけほしい場合は、以下のようなクエリで取れます。</div><div style="text-align: left;"><ul style="text-align: left;"><li>クエリ:<br /><div style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace; font-size: 9.8pt;"><pre>query {<br /> employees {<br /> code<br /> fullName<br /> }<br />}</pre></div></li><li>結果:<br /><br /><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0YvZNMrK-lrwaFLZ465QbmuS1VA3TMk5clsgYuCjUezKDLvfDkpfPb0NSqNlRJxPQE-g6-50QdtSDxc67HypRU6zq9QsnJ_ZPXsyMeCq_lpydCLleuonucGeHRyrF5TWeQv6o5XdfiBOn-Wxln-Mdnr31Z7AFFgaLuyhv54n85V5GZCmwnsHBfIcIkA/s793/image3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="555" data-original-width="793" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0YvZNMrK-lrwaFLZ465QbmuS1VA3TMk5clsgYuCjUezKDLvfDkpfPb0NSqNlRJxPQE-g6-50QdtSDxc67HypRU6zq9QsnJ_ZPXsyMeCq_lpydCLleuonucGeHRyrF5TWeQv6o5XdfiBOn-Wxln-Mdnr31Z7AFFgaLuyhv54n85V5GZCmwnsHBfIcIkA/w400-h280/image3.png" width="400" /></a></div><br /></li></ul></div><div><br /></div><div>Department の情報もほしければ、以下のようなクエリで取れます。</div><div><ul style="text-align: left;"><li>クエリ:<br /><div style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace; font-size: 9.8pt;"><pre>query {<br /> employees {<br /> code<br /> fullName<br /> department {<br /> code<br /> name<br /> }<br /> }<br />}</pre></div></li><li>結果:<br /><br /><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiinF0hOwViHKGfxnWqscrikl2BijakkMrV6aLPnBIah8sd6zAZM-sATxyIkDAyM_Pg0Y_y2kd5Lh6705-wakwiSR6s8xyiqh1cfr8G9QINNbNlgERaN1QV5bKpQLREZMBtiuQsoJGHdBXXnYAT4tglIK27MAnnaPGQ09f-n2PRbgaTDkfz9LjWzQzNeA/s793/image4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="784" data-original-width="793" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiinF0hOwViHKGfxnWqscrikl2BijakkMrV6aLPnBIah8sd6zAZM-sATxyIkDAyM_Pg0Y_y2kd5Lh6705-wakwiSR6s8xyiqh1cfr8G9QINNbNlgERaN1QV5bKpQLREZMBtiuQsoJGHdBXXnYAT4tglIK27MAnnaPGQ09f-n2PRbgaTDkfz9LjWzQzNeA/w400-h395/image4.png" width="400" /></a></div></li></ul></div><div><br /></div><div>code で絞り込みたい場合は、以下のようなクエリで取れます。</div><div><ul style="text-align: left;"><li>クエリ:<br /><div style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace; font-size: 9.8pt;"><pre>query {<br /> employees(code: "E002") {<br /> code<br /> fullName<br /> department {<br /> code<br /> name<br /> }<br /> }<br />}</pre></div></li><li>結果:<br /><br /><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYF4XciVGi0djjWaMxwF-tC_nf02feM6UiIshtC-5aXhBUDaHZdHaGp8j8n-dzYt8vD8pUrSMDYwA9iVfKtmj5hdSnkoXZje-kGAIG_Zv-J3X21PMUbGOELqMD4fBC8LTh49HVZ_BP_2heQ-_piJnlqK3cLPh5G_QILtDsnMDy-EyWnn8FmHFkXbGx4w/s863/image5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="431" data-original-width="863" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYF4XciVGi0djjWaMxwF-tC_nf02feM6UiIshtC-5aXhBUDaHZdHaGp8j8n-dzYt8vD8pUrSMDYwA9iVfKtmj5hdSnkoXZje-kGAIG_Zv-J3X21PMUbGOELqMD4fBC8LTh49HVZ_BP_2heQ-_piJnlqK3cLPh5G_QILtDsnMDy-EyWnn8FmHFkXbGx4w/w400-h200/image5.png" width="400" /></a></div></li></ul></div><div><br /></div><div>以下URLでGraphQLのスキーマ定義も参照できます。</div><div><ul style="text-align: left;"><li>GraphQLのスキーマ定義URL:<br /><a href="http://localhost:8080/graphql/schema">http://localhost:8080/graphql/schema</a><br /><br /><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggQZcfq9es_xzBZCYyg0L3D2xVI8hLFS9IWHt5rs3SEQpUTfS_nGQvI7Nna8KSWP6Prq0zfVqrXTyYq7iqDxkgePGK6B05CW-Q5VnYPyjAwJPRDXGmrYSHrDKKMVBoyyxV3gtM66r3CNw0Of6PJPib7CdHszEJhdz2chn5WttSTiPm4BACU2tfd4frNw/s705/image6.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="533" data-original-width="705" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggQZcfq9es_xzBZCYyg0L3D2xVI8hLFS9IWHt5rs3SEQpUTfS_nGQvI7Nna8KSWP6Prq0zfVqrXTyYq7iqDxkgePGK6B05CW-Q5VnYPyjAwJPRDXGmrYSHrDKKMVBoyyxV3gtM66r3CNw0Of6PJPib7CdHszEJhdz2chn5WttSTiPm4BACU2tfd4frNw/w400-h303/image6.png" width="400" /></a></div></li></ul></div><div><br /></div><h2 style="text-align: left;">◆ まとめ</h2><div>SQLみたいな感覚で、ほしい情報だけデータ取得できました。</div><div><br /></div><div>今回は仮データを返却する形にしましたが、実際は Employee は「Google API」からデータ取得、Department は「オンプレのPostgreSQL」からデータ取得する形で実装すれば、やりたかったことはできます。</div><div> </div><div>ただ、Employee と Department の結合に関しては、スキーマ毎に結合処理を別途実装しないといけないため、理想的ではなかったです。。</div><div>例えば、新たなスキーマ Company と Department を結合したい場合、この2つの結合処理も別途実装する必要があります。</div><div>フレームワークがクエリをうまい具合に読み取って、各スキーマのデータ取得&結合してくれるのが理想的でした。。</div><div><br /></div><div>結合処理については、REST API 使ったときみたいにコード上で結合処理書くのと大差ない気がするので、GraphQLを使うかどうかは、他のメリット・デメリットで判断したほうがよさそうです。</div><div><br /></div><div>他のGraphQL(Apollo とか)であれば、結合も楽だったりするんですかね?</div><div>機会があれば、その辺も調べてみようと思います。</div>yshttp://www.blogger.com/profile/05009084892400131615noreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-82867220299981660252023-03-26T13:30:00.000+09:002023-03-26T13:37:26.964+09:00【VyOS】VyOS 1.2.9 LTSを利用してAWSとIPsec VPNを試してみた 動的ルート編<p><span face="meiryo, メイリオ, "MS Pゴシック", sans-serif" style="background-color: white;">先日、デプロイしたVyOS 1.2.9 LTSを利用してAWSとの間で動的ルーティングのVPNを試してみました。動的ルーティング構成では、VTIインターフェイスとBGPを利用します。なお、長時間の通信試験はしていません。利用した環境は、以下の通りです。</span></p><p style="background-color: white; font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"><利用した環境></p><p style="background-color: white; font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"></p><ul style="background-color: white; font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif; line-height: 1.4; list-style-image: initial; list-style-position: initial; margin: 0.5em 0px; padding: 0px 2.5em;"><li style="border: none; margin: 0px 0px 0.25em; padding: 0px;">VMware Workstation Player 17</li><ul style="line-height: 1.4; list-style: disc; margin: 0.5em 0px; padding: 0px 2.5em;"><li style="border: none; margin: 0px 0px 0.25em; padding: 0px;">Windows11 Home</li><li style="border: none; margin: 0px 0px 0.25em; padding: 0px;">VMware v1.2.9 LTS</li></ul><li style="border: none; margin: 0px 0px 0.25em; padding: 0px;">AWS 東京リージョン</li></ul><p style="background-color: white; font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"></p><p style="background-color: white; font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"><利用した構成図></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpscD9YEaFlXINIbOo8lLzOlgDHUr6SCTAjs1CyZtcIFOM7ooZp8xS5PdBDXgqWeJQXSl7ttttP01sO7FJvgL5Lfbv7s-uIYdoi9vwJvrlb0m-uUpUpCyiJFbK4LpCoLbOS2MzjCpazbDggK8SCfCf0fTp70BVBf8Nc7J4LCrf39ymySNJ5DeCDIj8/s960/vyos-129-ipsec-bgp.jpg" style="margin-left: 1em; margin-right: 1em;"><span style="color: black;"><img border="0" data-original-height="540" data-original-width="960" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpscD9YEaFlXINIbOo8lLzOlgDHUr6SCTAjs1CyZtcIFOM7ooZp8xS5PdBDXgqWeJQXSl7ttttP01sO7FJvgL5Lfbv7s-uIYdoi9vwJvrlb0m-uUpUpCyiJFbK4LpCoLbOS2MzjCpazbDggK8SCfCf0fTp70BVBf8Nc7J4LCrf39ymySNJ5DeCDIj8/w640-h360/vyos-129-ipsec-bgp.jpg" width="640" /></span></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div style="font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;">AWSの設定とステータスは以下のとおりです。</div><div style="font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;">VPNオプションはデフォルトのまま利用しています。</div><div style="font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"><br /></div><div style="font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;">【Site-to-Site VPN 接続】詳細</div><div style="font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis2porUxap06EOGGLoZEp3ug5OT1m6E9_ejLudM4hTZQjhht7y12W0Rq7t0gFKyz2vbVxzEeVUYliru6GA5cK0YZdpB6nv6VcOnUTPg3Jt32xMJZxCgtMRUddBM-UQL4Rh9fSA0rW2ivDFE5qy1U0UiNSPs5eoG-a-djLfs7Xkgjk9iqXJOC7jcRbz/s1415/vyos-129-ipsec-bgp-aws-s2s-vpn-detail.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="757" data-original-width="1415" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis2porUxap06EOGGLoZEp3ug5OT1m6E9_ejLudM4hTZQjhht7y12W0Rq7t0gFKyz2vbVxzEeVUYliru6GA5cK0YZdpB6nv6VcOnUTPg3Jt32xMJZxCgtMRUddBM-UQL4Rh9fSA0rW2ivDFE5qy1U0UiNSPs5eoG-a-djLfs7Xkgjk9iqXJOC7jcRbz/w640-h342/vyos-129-ipsec-bgp-aws-s2s-vpn-detail.jpg" width="640" /></a></div><div style="font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"><br /></div><div style="font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"><span style="background-color: white;">【Site-to-Site VPN 接続】トンネルの詳細</span></div><div style="font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"><span style="background-color: white;"> 今回の確認では、VyOSからTunnel1のみVPN接続するように設定しました。</span></div><div style="font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"><span style="background-color: white;"> そのため、Tunnel2はダウンしています。</span></div><div style="font-family: meiryo, メイリオ, "MS Pゴシック", sans-serif;"><span style="background-color: white;"><br /></span></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5dM99UrLQAL2ywyYqhrmebBI2tjLMkDJ9AQcVvTTUQaePlv7HUdCF7BdhWTZF-g0I-jOoax9Qs0j3STe1Vh4lSfEZhvjn_-vRzeDHrOFNlsOlQHj-40Aiq3xFRkljlM86PMa_94CTYYmZLk1ialCi11htEUMcDizl12IvTpvczNBCG2y1eXoyBrwH/s1420/vyos-129-ipsec-bgp-aws-s2s-vpn-tunnel.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="382" data-original-width="1420" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5dM99UrLQAL2ywyYqhrmebBI2tjLMkDJ9AQcVvTTUQaePlv7HUdCF7BdhWTZF-g0I-jOoax9Qs0j3STe1Vh4lSfEZhvjn_-vRzeDHrOFNlsOlQHj-40Aiq3xFRkljlM86PMa_94CTYYmZLk1ialCi11htEUMcDizl12IvTpvczNBCG2y1eXoyBrwH/w640-h172/vyos-129-ipsec-bgp-aws-s2s-vpn-tunnel.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><span style="background-color: white;">【ルートテーブル】ルート</span></div><div><span style="background-color: white;"> 前回の静的ルートVPNで利用したVPNゲートウェイを削除したばかりのため、</span><span style="background-color: white;">192.168.0.0/24のルートのステータスがブラックホールとなっています。</span></div><div><div><span face="meiryo, メイリオ, "MS Pゴシック", sans-serif" style="background-color: white;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx-_C06CymqrAIa2UrVuXNLeFxvQZ7r3fBbYHGWuMeg_0erQJzQ8kPh3iRIU1MP8pzYnGo3PUs67s-W3WbWPeaWO5kG4qxUCsoLr2J-uZtgqm0_-FZenSknUTR1PyVA61bTX_zQEiw6RAOaOLTNBUU-KS8Jjq8OWigvijKNSjzepBqfRLoChnz51tB/s1354/vyos-129-ipsec-bgp-aws-route.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="865" data-original-width="1354" height="408" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx-_C06CymqrAIa2UrVuXNLeFxvQZ7r3fBbYHGWuMeg_0erQJzQ8kPh3iRIU1MP8pzYnGo3PUs67s-W3WbWPeaWO5kG4qxUCsoLr2J-uZtgqm0_-FZenSknUTR1PyVA61bTX_zQEiw6RAOaOLTNBUU-KS8Jjq8OWigvijKNSjzepBqfRLoChnz51tB/w640-h408/vyos-129-ipsec-bgp-aws-route.jpg" width="640" /></a></div><br /></div><div><span face="meiryo, メイリオ, "MS Pゴシック", sans-serif" style="background-color: white;">【ルートテーブル】ルート伝播</span></div><div><span face="meiryo, メイリオ, "MS Pゴシック", sans-serif" style="background-color: white;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLR4oFEgEuRgf_6liDNUugL9CbFgUzm9J6vU_dSbqFjOSBWmioGv86ryTT2CfVH18NSL7RVgsp9I5fBmRIKtax6thtufd3IJcFrZmxKYiO8ZYeMtvSBhNuCcfDotfzVw2DpbbMjN-zFeMUE_BcmLXyZUZGkXIRixXfnxTUyDWTnz5zIRjdbEL6AWgR/s1351/vyos-129-ipsec-bgp-aws-s2s-vpn-route-adv.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="1351" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLR4oFEgEuRgf_6liDNUugL9CbFgUzm9J6vU_dSbqFjOSBWmioGv86ryTT2CfVH18NSL7RVgsp9I5fBmRIKtax6thtufd3IJcFrZmxKYiO8ZYeMtvSBhNuCcfDotfzVw2DpbbMjN-zFeMUE_BcmLXyZUZGkXIRixXfnxTUyDWTnz5zIRjdbEL6AWgR/w640-h316/vyos-129-ipsec-bgp-aws-s2s-vpn-route-adv.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div></div><div><span face="meiryo, メイリオ, "MS Pゴシック", sans-serif" style="background-color: white;">VyOSの設定は以下となります。</span></div><div><span face="meiryo, メイリオ, "MS Pゴシック", sans-serif" style="background-color: white;">繰り返しになりますが、今回は簡易確認のためAWSとのVPN接続は1つだけ設定しています。</span></div><pre class="prettyprint" style="overflow-y: hidden; overflow: auto hidden;">vyos@vyos:~$ show configuration commands
set firewall all-ping 'enable'
set firewall broadcast-ping 'disable'
set firewall config-trap 'disable'
set firewall ipv6-receive-redirects 'disable'
set firewall ipv6-src-route 'disable'
set firewall ip-src-route 'disable'
set firewall log-martians 'enable'
set firewall options interface vti0 adjust-mss '1394'
set firewall receive-redirects 'disable'
set firewall send-redirects 'enable'
set firewall source-validation 'disable'
set firewall syn-cookies 'enable'
set firewall twa-hazards-protection 'disable'
set interfaces ethernet eth0 address 'dhcp'
set interfaces ethernet eth0 duplex 'auto'
set interfaces ethernet eth0 hw-id '00:0c:29:f3:72:11'
set interfaces ethernet eth0 smp-affinity 'auto'
set interfaces ethernet eth0 speed 'auto'
set interfaces ethernet eth1 address '192.168.1.1/24'
set interfaces ethernet eth1 duplex 'auto'
set interfaces ethernet eth1 hw-id '00:0c:29:f3:72:1b'
set interfaces ethernet eth1 smp-affinity 'auto'
set interfaces ethernet eth1 speed 'auto'
set interfaces vti vti0 address '169.254.204.246/30'
set interfaces vti vti0 mtu '1436'
set nat source rule 1 outbound-interface 'eth0'
set nat source rule 1 translation address 'masquerade'
set protocols bgp 65000 address-family ipv4-unicast network 192.168.1.0/24
set protocols bgp 65000 neighbor 169.254.204.245 remote-as '64512'
set protocols bgp 65000 neighbor 169.254.204.245 timers holdtime '30'
set protocols bgp 65000 neighbor 169.254.204.245 timers keepalive '10'
set protocols static interface-route 169.254.204.244/30 next-hop-interface vti0
set service ssh port '22'
set system config-management commit-revisions '100'
set system console device ttyS0 speed '9600'
set system host-name 'vyos'
set system login user vyos authentication encrypted-password '[vyos-password]'
set system login user vyos authentication plaintext-password ''
set system login user vyos level 'admin'
set system ntp server 133.243.238.243
set system syslog global facility all level 'notice'
set system syslog global facility protocols level 'debug'
set system time-zone 'Asia/Tokyo'
set vpn ipsec esp-group esp-grp-01 compression 'disable'
set vpn ipsec esp-group esp-grp-01 lifetime '3600'
set vpn ipsec esp-group esp-grp-01 mode 'tunnel'
set vpn ipsec esp-group esp-grp-01 pfs 'dh-group21'
set vpn ipsec esp-group esp-grp-01 proposal 1 encryption 'aes256'
set vpn ipsec esp-group esp-grp-01 proposal 1 hash 'sha256'
set vpn ipsec ike-group ike-grp-01 close-action 'none'
set vpn ipsec ike-group ike-grp-01 dead-peer-detection action 'restart'
set vpn ipsec ike-group ike-grp-01 dead-peer-detection interval '10'
set vpn ipsec ike-group ike-grp-01 dead-peer-detection timeout '120'
set vpn ipsec ike-group ike-grp-01 ikev2-reauth 'no'
set vpn ipsec ike-group ike-grp-01 key-exchange 'ikev2'
set vpn ipsec ike-group ike-grp-01 lifetime '28800'
set vpn ipsec ike-group ike-grp-01 proposal 1 dh-group '21'
set vpn ipsec ike-group ike-grp-01 proposal 1 encryption 'aes256'
set vpn ipsec ike-group ike-grp-01 proposal 1 hash 'sha256'
set vpn ipsec ipsec-interfaces interface 'eth0'
set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] authentication pre-shared-secret '[pre-shared key1]'
set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] connection-type 'initiate'
set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] default-esp-group 'esp-grp-01'
set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] description 'AWS-VPC-01'
set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] ike-group 'ike-grp-01'
set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] ikev2-reauth 'inherit'
set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] local-address '192.168.115.130'
set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] vti bind 'vti0'
set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] vti esp-group 'esp-grp-01'
vyos@vyos:~$
</pre><div><span style="background-color: white;"><br /></span></div><div><span style="background-color: white;">VyOSでVPNステータスを確認した結果は以下となります。</span></div><div>
<pre class="prettyprint" style="overflow-y: hidden; overflow: auto hidden;">vyos@vyos:~$ show vpn ike sa
Peer ID / IP Local ID / IP
------------ -------------
[AWS-VirtualPrivateGateway-IP1] 192.168.115.130
Description: AWS-VPC-01
State IKEVer Encrypt Hash D-H Group NAT-T A-Time L-Time
----- ------ ------- ---- --------- ----- ------ ------
up IKEv2 aes256 sha256_128 21(ECP_521) no 7200 28800
vyos@vyos:~$ show vpn ipsec sa
Connection State Up Bytes In/Out Remote address Remote ID Proposal
----------------------------- ------- ----------- -------------- ---------------- ----------- -------------------------------------------------------
peer-[AWS-VirtualPrivateGateway-IP1]-tunnel-vti up 110 minutes 11K/16K [AWS-VirtualPrivateGateway-IP1] N/A AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_521
vyos@vyos:~$
</pre>
<div><span style="background-color: white;">VyOSでBGPネイバーとルーティングを確認した結果は以下となります。</span>
<pre class="prettyprint" style="overflow-y: hidden; overflow: auto hidden;">vyos@vyos:~$ show ip bgp
BGP table version is 2, local router ID is 192.168.115.130, vrf id 0
Default local pref 100, local AS 65000
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.31.0.0/16 169.254.204.245 100 0 64512 i
*> 192.168.1.0/24 0.0.0.0 0 32768 i
Displayed 2 routes and 2 total paths
vyos@vyos:~$ show ip bgp neighbors
BGP neighbor is 169.254.204.245, remote AS 64512, local AS 65000, external link
BGP version 4, remote router ID 169.254.204.245, local router ID 192.168.115.130
BGP state = Established, up for 01:54:51
Last read 00:00:10, Last write 00:00:10
Hold time is 30, keepalive interval is 10 seconds
Configured hold time is 30, keepalive interval is 10 seconds
Neighbor capabilities:
4 Byte AS: advertised and received
AddPath:
IPv4 Unicast: RX advertised IPv4 Unicast
Route refresh: advertised and received(old & new)
Address Family IPv4 Unicast: advertised and received
Hostname Capability: advertised (name: vyos,domain name: n/a) not received
Graceful Restart Capabilty: advertised
Message statistics:
Inq depth is 0
Outq depth is 0
Sent Rcvd
Opens: 1 1
Notifications: 0 0
Updates: 2 2
Keepalives: 689 690
Route Refresh: 0 0
Capability: 0 0
Total: 692 693
Minimum time between advertisement runs is 0 seconds
For address family: IPv4 Unicast
Update group 1, subgroup 1
Packet Queue length 0
Community attribute sent to this neighbor(all)
1 accepted prefixes
Connections established 1; dropped 0
Last reset 01:54:53, Waiting for peer OPEN
Local host: 169.254.204.246, Local port: 54076
Foreign host: 169.254.204.245, Foreign port: 179
Nexthop: 169.254.204.246
Nexthop global: fe80::5efe:c0a8:7382
Nexthop local: fe80::5efe:c0a8:7382
BGP connection: shared network
BGP Connect Retry Timer in Seconds: 120
Estimated round trip time: 32 ms
Read thread: on Write thread: on FD used: 27
vyos@vyos:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
F - PBR, f - OpenFabric,
> - selected route, * - FIB route, q - queued route, r - rejected route
S>* 0.0.0.0/0 [210/0] via 192.168.115.2, eth0, 01:54:57
S 169.254.204.244/30 [1/0] is directly connected, vti0, 01:54:54
C>* 169.254.204.244/30 is directly connected, vti0, 01:54:54
B>* 172.31.0.0/16 [20/100] via 169.254.204.245, vti0, 01:54:53
C>* 192.168.1.0/24 is directly connected, eth1, 01:54:59
C>* 192.168.115.0/24 is directly connected, eth0, 01:54:58
vyos@vyos:~$
</pre>
</div><div></div></div><div><br /></div><div>VyOSからPingとcurlコマンドを実行します。</div><div><div><div><br /></div><div><span style="font-size: x-small;">vyos@vyos:~$ ping 169.254.204.245 count 4</span></div><div><span style="font-size: x-small;">PING 169.254.204.245 (169.254.204.245) 56(84) bytes of data.</span></div><div><span style="font-size: x-small;">64 bytes from 169.254.204.245: icmp_seq=1 ttl=254 time=57.7 ms</span></div><div><span style="font-size: x-small;">64 bytes from 169.254.204.245: icmp_seq=2 ttl=254 time=54.1 ms</span></div><div><span style="font-size: x-small;">64 bytes from 169.254.204.245: icmp_seq=3 ttl=254 time=43.1 ms</span></div><div><span style="font-size: x-small;">64 bytes from 169.254.204.245: icmp_seq=4 ttl=254 time=40.9 ms</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;">--- 169.254.204.245 ping statistics ---</span></div><div><span style="font-size: x-small;">4 packets transmitted, 4 received, 0% packet loss, time 3005ms</span></div><div><span style="font-size: x-small;">rtt min/avg/max/mdev = 40.914/48.990/57.715/7.099 ms</span></div><div><span style="font-size: x-small;">vyos@vyos:~$</span></div><div><span style="font-size: x-small;">vyos@vyos:~$ ping 172.31.0.143 count 4 interface 192.168.1.1</span></div><div><span style="font-size: x-small;">PING 172.31.0.143 (172.31.0.143) from 192.168.1.1 : 56(84) bytes of data.</span></div><div><span style="font-size: x-small;">64 bytes from 172.31.0.143: icmp_seq=1 ttl=127 time=68.3 ms</span></div><div><span style="font-size: x-small;">64 bytes from 172.31.0.143: icmp_seq=2 ttl=127 time=48.3 ms</span></div><div><span style="font-size: x-small;">64 bytes from 172.31.0.143: icmp_seq=3 ttl=127 time=216 ms</span></div><div><span style="font-size: x-small;">64 bytes from 172.31.0.143: icmp_seq=4 ttl=127 time=54.4 ms</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;">--- 172.31.0.143 ping statistics ---</span></div><div><span style="font-size: x-small;">4 packets transmitted, 4 received, 0% packet loss, time 3004ms</span></div><div><span style="font-size: x-small;">rtt min/avg/max/mdev = 48.381/96.924/216.491/69.410 ms</span></div><div><span style="font-size: x-small;">vyos@vyos:~$</span></div><div><span style="font-size: x-small;">vyos@vyos:~$ curl --interface 192.168.1.1 172.31.0.143</span></div><div><span style="font-size: x-small;"><html><body><h1>It works!</h1></body></html></span></div><div><span style="font-size: x-small;">vyos@vyos:~$</span></div></div></div><div><br /></div><div>VyOSからAWSのEC2インスタンスへ通信できることを確認しました。</div><div><div>今回はこのへんで。それでは。</div></div></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5589624415030539880.post-87789820009981057662023-03-25T23:00:00.024+09:002023-03-26T12:56:28.084+09:00【VyOS】VyOS 1.2.9 LTSを利用してAWSとIPsec VPNを試してみた 静的ルート編<p><br /></p><p>先日、デプロイしたVyOS 1.2.9 LTSを利用してAWSとの間で静的ルートを利用するIPsec VPNを試してみました。今回はVTIインターフェイスを使わない設定を試しました。なお、長時間の通信試験はしていません。利用した環境は、以下の通りです。</p><p><利用した環境></p><p></p><ul style="text-align: left;"><li>VMware Workstation Player 17</li><ul><li>Windows11 Home</li><li>VMware v1.2.9 LTS</li></ul><li>AWS 東京リージョン</li></ul><p></p><p><利用した構成図></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3ErX2fm2S85NDUnW6saMGvNIgT7UgpC3kyiiAuIcwEdbAJ0UDktOS2-JBQPho8X2PgcdSb01WrWDnXy7ca56Ciyr44_ilwOmAIoBPe56eK9BDziB0EfxDvBO8Zyf2ShWUZmkmNBNJ4FuPkLE8pg4g4DcA9r8uib5dtVPmh4Gm0Gt0MvDHXCjGeOWg/s960/vyos-129-ipsec.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="540" data-original-width="960" height="361" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3ErX2fm2S85NDUnW6saMGvNIgT7UgpC3kyiiAuIcwEdbAJ0UDktOS2-JBQPho8X2PgcdSb01WrWDnXy7ca56Ciyr44_ilwOmAIoBPe56eK9BDziB0EfxDvBO8Zyf2ShWUZmkmNBNJ4FuPkLE8pg4g4DcA9r8uib5dtVPmh4Gm0Gt0MvDHXCjGeOWg/w640-h361/vyos-129-ipsec.jpg" width="640" /></a></div><div><br /></div><div>AWSの設定とステータスは以下のとおりです。</div><div>VPNオプションはデフォルトのまま利用しています。</div><div><br /></div><div>【Site-to-Site VPN 接続】詳細</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx2D862s8vsfLIYXi9TTCPstoj_3ubIm4ZJZmv1hX_1002BO_IG-1LUAxk41DidcPUdlF6_mLT-88EjJ1wWVoTPQMMp2ZtArcWVehqjE6fAEZoelkiJIAAHmuwnmfm2V2SLt2PZR_RMdHM98caKiMa1lqip0rtarefc6hfKXKrA-CFKLZi-vMsyhU3/s1344/aws01.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="588" data-original-width="1344" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx2D862s8vsfLIYXi9TTCPstoj_3ubIm4ZJZmv1hX_1002BO_IG-1LUAxk41DidcPUdlF6_mLT-88EjJ1wWVoTPQMMp2ZtArcWVehqjE6fAEZoelkiJIAAHmuwnmfm2V2SLt2PZR_RMdHM98caKiMa1lqip0rtarefc6hfKXKrA-CFKLZi-vMsyhU3/w640-h280/aws01.jpg" width="640" /></a></div><div><br /></div>【Site-to-Site VPN 接続】トンネルの詳細<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7-l5w0KnI0zWoQOJYxsP-X5y8GEyQmj5I6KF8C3iZNuqVSXMNKY6VBIUCT2i-AC72ku00JBBYLOhvdQRyT5wtnCQxKYqQACqaRbYIo--Nw_GuPtiOXEqT_3DZKmNd-6ZcmrhKuSGpCp86_C9RwgWIQN6AEUT7Qtk81WOuVDFmWAS6aOYf1nh0nEZC/s1420/aws02.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="369" data-original-width="1420" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7-l5w0KnI0zWoQOJYxsP-X5y8GEyQmj5I6KF8C3iZNuqVSXMNKY6VBIUCT2i-AC72ku00JBBYLOhvdQRyT5wtnCQxKYqQACqaRbYIo--Nw_GuPtiOXEqT_3DZKmNd-6ZcmrhKuSGpCp86_C9RwgWIQN6AEUT7Qtk81WOuVDFmWAS6aOYf1nh0nEZC/w640-h166/aws02.jpg" width="640" /></a></div><div><br /></div>【Site-to-Site VPN 接続】静的ルート<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJtCt9Wi6LchMaQZeHwDYgHPcO9Jvb4-HaT0OnVoRN4_9Fj6Gm61TYMZ_7m5SXTMpDPQRtFCPSRBbKV2KtY51i-kft393I8NPEkKw313T4MuHyIne60fhtjIdMIYiyTCyhjQljiLWCfls9PR-PytGsYX9AznirjRF8sOz8wNCMMc9t0TOq4oBKSgXL/s1406/aws03.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="362" data-original-width="1406" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJtCt9Wi6LchMaQZeHwDYgHPcO9Jvb4-HaT0OnVoRN4_9Fj6Gm61TYMZ_7m5SXTMpDPQRtFCPSRBbKV2KtY51i-kft393I8NPEkKw313T4MuHyIne60fhtjIdMIYiyTCyhjQljiLWCfls9PR-PytGsYX9AznirjRF8sOz8wNCMMc9t0TOq4oBKSgXL/w640-h165/aws03.jpg" width="640" /></a></div><div><br /></div>【ルートテーブル】ルート<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtpY_4XSt46IJSNHrEcCIfT-AHUdgOeo_GKeppttdZsEmiWRduzZFtluJnITn8bTeT9IHochE22-q4zzi4Gi10XMWR9SZaWqAB6e_a4-QifMj9nRudY-7-VuKxqWON3Z8muX6s2nJKB1qyqc4AZxvt41e1TYXEtwnPThQ64BwXcmo45dJd6rU-oE-F/s1346/aws04.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="774" data-original-width="1346" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtpY_4XSt46IJSNHrEcCIfT-AHUdgOeo_GKeppttdZsEmiWRduzZFtluJnITn8bTeT9IHochE22-q4zzi4Gi10XMWR9SZaWqAB6e_a4-QifMj9nRudY-7-VuKxqWON3Z8muX6s2nJKB1qyqc4AZxvt41e1TYXEtwnPThQ64BwXcmo45dJd6rU-oE-F/w640-h368/aws04.jpg" width="640" /></a></div><div><br /></div><div>【ルートテーブル】ルート伝播</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVx23wClR0L-pM56CvQ5KagtKEWse8hACivxFfc57fB9cPB3GtjypHaO7VYlDx7EPsIir0olDbkk4-iBtnLNx6QZsqu5oNP48fEsm072ljA7bRb8dQR-3WUUPIUJk3_4lFge5iBKetuvm_SHTqzo1p-D5vNhuqRsjA08DmLRrny4Y634edDPOqZT0p/s1351/aws05.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="659" data-original-width="1351" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVx23wClR0L-pM56CvQ5KagtKEWse8hACivxFfc57fB9cPB3GtjypHaO7VYlDx7EPsIir0olDbkk4-iBtnLNx6QZsqu5oNP48fEsm072ljA7bRb8dQR-3WUUPIUJk3_4lFge5iBKetuvm_SHTqzo1p-D5vNhuqRsjA08DmLRrny4Y634edDPOqZT0p/w640-h312/aws05.jpg" width="640" /></a></div><div><br /></div><div>VyOSの設定は以下となります。今回はVPN確立と簡単な疎通確認のみのため、TCP MSSは設定していません。</div>
<div><pre class="prettyprint" style="overflow-y: hidden; overflow: auto hidden;"><div><span style="font-size: x-small;">vyos@vyos:~$ show configuration commands</span></div><div><span style="font-size: x-small;">set interfaces ethernet eth0 address 'dhcp'</span></div><div><span style="font-size: x-small;">set interfaces ethernet eth0 duplex 'auto'</span></div><div><span style="font-size: x-small;">set interfaces ethernet eth0 hw-id '00:0c:29:f3:72:11'</span></div><div><span style="font-size: x-small;">set interfaces ethernet eth0 smp-affinity 'auto'</span></div><div><span style="font-size: x-small;">set interfaces ethernet eth0 speed 'auto'</span></div><div><span style="font-size: x-small;">set interfaces ethernet eth1 address '192.168.0.1/24'</span></div><div><span style="font-size: x-small;">set interfaces ethernet eth1 duplex 'auto'</span></div><div><span style="font-size: x-small;">set interfaces ethernet eth1 hw-id '00:0c:29:f3:72:1b'</span></div><div><span style="font-size: x-small;">set interfaces ethernet eth1 smp-affinity 'auto'</span></div><div><span style="font-size: x-small;">set interfaces ethernet eth1 speed 'auto'</span></div><div><span style="font-size: x-small;">set service ssh port '22'</span></div><div><span style="font-size: x-small;">set system config-management commit-revisions '100'</span></div><div><span style="font-size: x-small;">set system console device ttyS0 speed '9600'</span></div><div><span style="font-size: x-small;">set system host-name 'vyos'</span></div><div><span style="font-size: x-small;">set system login user vyos authentication encrypted-password '<VyOS-Password>'</span></div><div><span style="font-size: x-small;">set system login user vyos authentication plaintext-password ''</span></div><div><span style="font-size: x-small;">set system login user vyos level 'admin'</span></div><div><span style="font-size: x-small;">set system ntp server 133.243.238.243</span></div><div><span style="font-size: x-small;">set system syslog global facility all level 'notice'</span></div><div><span style="font-size: x-small;">set system syslog global facility protocols level 'debug'</span></div><div><span style="font-size: x-small;">set system time-zone 'Asia/Tokyo'</span></div><div><span style="font-size: x-small;">set vpn ipsec esp-group esp-grp-01 compression 'disable'</span></div><div><span style="font-size: x-small;">set vpn ipsec esp-group esp-grp-01 lifetime '3600'</span></div><div><span style="font-size: x-small;">set vpn ipsec esp-group esp-grp-01 mode 'tunnel'</span></div><div><span style="font-size: x-small;">set vpn ipsec esp-group esp-grp-01 pfs 'dh-group21'</span></div><div><span style="font-size: x-small;">set vpn ipsec esp-group esp-grp-01 proposal 1 encryption 'aes256'</span></div><div><span style="font-size: x-small;">set vpn ipsec esp-group esp-grp-01 proposal 1 hash 'sha256'</span></div><div><span style="font-size: x-small;">set vpn ipsec ike-group ike-grp-01 close-action 'none'</span></div><div><span style="font-size: x-small;">set vpn ipsec ike-group ike-grp-01 dead-peer-detection action 'restart'</span></div><div><span style="font-size: x-small;">set vpn ipsec ike-group ike-grp-01 dead-peer-detection interval '10'</span></div><div><span style="font-size: x-small;">set vpn ipsec ike-group ike-grp-01 dead-peer-detection timeout '120'</span></div><div><span style="font-size: x-small;">set vpn ipsec ike-group ike-grp-01 ikev2-reauth 'no'</span></div><div><span style="font-size: x-small;">set vpn ipsec ike-group ike-grp-01 key-exchange 'ikev2'</span></div><div><span style="font-size: x-small;">set vpn ipsec ike-group ike-grp-01 lifetime '28800'</span></div><div><span style="font-size: x-small;">set vpn ipsec ike-group ike-grp-01 proposal 1 dh-group '21'</span></div><div><span style="font-size: x-small;">set vpn ipsec ike-group ike-grp-01 proposal 1 encryption 'aes256'</span></div><div><span style="font-size: x-small;">set vpn ipsec ike-group ike-grp-01 proposal 1 hash 'sha256'</span></div><div><span style="font-size: x-small;">set vpn ipsec ipsec-interfaces interface 'eth0'</span></div><div><span style="font-size: x-small;">set vpn ipsec nat-traversal 'enable'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] authentication mode 'pre-shared-secret'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] authentication pre-shared-secret '<pre-shared key1>'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] connection-type 'initiate'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] default-esp-group 'esp-grp-01'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] description 'AWS-VPC-01'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] ike-group 'ike-grp-01'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] ikev2-reauth 'inherit'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] local-address '192.168.115.130'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] tunnel 1 allow-nat-networks 'disable'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] tunnel 1 allow-public-networks 'disable'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] tunnel 1 esp-group 'esp-grp-01'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] tunnel 1 local prefix '192.168.0.0/24'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] tunnel 1 protocol 'all'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP1] tunnel 1 remote prefix '172.31.0.0/16'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] authentication mode 'pre-shared-secret'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] authentication pre-shared-secret '<pre-shared key2>'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] connection-type 'initiate'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] default-esp-group 'esp-grp-01'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] description 'AWS-VPC-02'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] ike-group 'ike-grp-01'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] ikev2-reauth 'inherit'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] local-address '192.168.115.130'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] tunnel 1 allow-nat-networks 'disable'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] tunnel 1 allow-public-networks 'disable'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] tunnel 1 esp-group 'esp-grp-01'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] tunnel 1 local prefix '192.168.0.0/24'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] tunnel 1 protocol 'all'</span></div><div><span style="font-size: x-small;">set vpn ipsec site-to-site peer [AWS-VirtualPrivateGateway-IP2] tunnel 1 remote prefix '172.31.0.0/16'</span></div><div><span style="font-size: x-small;">vyos@vyos:~$</span></div></pre></div><div><br /></div><div><br /></div>
<div>VyOSでVPNステータスを確認した結果は以下となります。</div>
<div><pre class="prettyprint" style="overflow-y: hidden; overflow: auto hidden;"><div><span style="font-size: x-small;">vyos@vyos:~$ show vpn ike sa</span></div><div><span style="font-size: x-small;">Peer ID / IP Local ID / IP</span></div><div><span style="font-size: x-small;">------------ -------------</span></div><div><span style="font-size: x-small;">[AWS-VirtualPrivateGateway-IP1] 192.168.115.130</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;"> Description: AWS-VPC-01</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;"> State IKEVer Encrypt Hash D-H Group NAT-T A-Time L-Time</span></div><div><span style="font-size: x-small;"> ----- ------ ------- ---- --------- ----- ------ ------</span></div><div><span style="font-size: x-small;"> up IKEv2 aes256 sha256_128 21(ECP_521) no 3600 28800</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;">Peer ID / IP Local ID / IP</span></div><div><span style="font-size: x-small;">------------ -------------</span></div><div><span style="font-size: x-small;">[AWS-VirtualPrivateGateway-IP2] 192.168.115.130</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;"> Description: AWS-VPC-02</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;"> State IKEVer Encrypt Hash D-H Group NAT-T A-Time L-Time</span></div><div><span style="font-size: x-small;"> ----- ------ ------- ---- --------- ----- ------ ------</span></div><div><span style="font-size: x-small;"> up IKEv2 aes256 sha256_128 21(ECP_521) no 3600 28800</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;">vyos@vyos:~$</span></div><div><span style="font-size: x-small;">vyos@vyos:~$ show vpn ipsec sa</span></div><div><span style="font-size: x-small;">Connection State Up Bytes In/Out Remote address Remote ID Proposal</span></div><div><span style="font-size: x-small;">--------------------------- ------- ---------- -------------- ---------------- ----------- -------------------------------------------------------</span></div><div><span style="font-size: x-small;">peer-[AWS-VirtualPrivateGateway-IP1]-tunnel-1 up 39 minutes 38K/54K [AWS-VirtualPrivateGateway-IP1] N/A AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_521</span></div><div><span style="font-size: x-small;">peer-[AWS-VirtualPrivateGateway-IP2]-tunnel-1 up 39 minutes 0B/0B [AWS-VirtualPrivateGateway-IP2] N/A AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_521</span></div><div><span style="font-size: x-small;">vyos@vyos:~$</span></div><div><span style="font-size: x-small;">vyos@vyos:~$ show ip route</span></div><div><span style="font-size: x-small;">Codes: K - kernel route, C - connected, S - static, R - RIP,</span></div><div><span style="font-size: x-small;"> O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,</span></div><div><span style="font-size: x-small;"> T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,</span></div><div><span style="font-size: x-small;"> F - PBR, f - OpenFabric,</span></div><div><span style="font-size: x-small;"> > - selected route, * - FIB route, q - queued route, r - rejected route</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;">S>* 0.0.0.0/0 [210/0] via 192.168.115.2, eth0, 00:45:20</span></div><div><span style="font-size: x-small;">C>* 192.168.0.0/24 is directly connected, eth1, 00:45:19</span></div><div><span style="font-size: x-small;">C>* 192.168.115.0/24 is directly connected, eth0, 00:45:21</span></div><div><span style="font-size: x-small;">vyos@vyos:~$</span></div><div><br /></div></pre></div><div>VyOSからPingとcurlコマンドを実行します。</div><div><br /></div><div><span style="font-size: x-small;">vyos@vyos:~$ ping 172.31.0.143 count 4</span></div><div><span style="font-size: x-small;">PING 172.31.0.143 (172.31.0.143) 56(84) bytes of data.</span></div><div><span style="font-size: x-small;">64 bytes from 172.31.0.143: icmp_seq=1 ttl=127 time=52.3 ms</span></div><div><span style="font-size: x-small;">64 bytes from 172.31.0.143: icmp_seq=2 ttl=127 time=60.7 ms</span></div><div><span style="font-size: x-small;">64 bytes from 172.31.0.143: icmp_seq=3 ttl=127 time=59.4 ms</span></div><div><span style="font-size: x-small;">64 bytes from 172.31.0.143: icmp_seq=4 ttl=127 time=36.4 ms</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;">--- 172.31.0.143 ping statistics ---</span></div><div><span style="font-size: x-small;">4 packets transmitted, 4 received, 0% packet loss, time 3005ms</span></div><div><span style="font-size: x-small;">rtt min/avg/max/mdev = 36.401/52.247/60.723/9.684 ms</span></div><div><span style="font-size: x-small;">vyos@vyos:~$</span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;">vyos@vyos:~$ curl 172.31.0.143</span></div><div><span style="font-size: x-small;"><html><body><h1>It works!</h1></body></html></span></div><div><span style="font-size: x-small;">vyos@vyos:~$</span></div><div><br /></div><div>VyOSからAWSのEC2インスタンスへ通信できることを確認しました。</div><div>今回はこのへんで。それでは。</div></div></div></div>Unknownnoreply@blogger.com