CQエレクトロニクス・セミナー

弊社代表の冨樫がCQ出版様のエレクトロ・セミナーに登壇することになりました。

「実習・はじめての組込クラウド・コンピューティング~AWS編~【オンライン同時開催セミナ】」

抜粋

【開催日】2022年9月19日(月) 10:00-17:00 1日コース
【セミナNo.】ES22-0094  【受講料】26,000円(税込)
【会場】東京・巣鴨 CQ出版社2Fセミナ・ルーム [地図]

※本セミナはZoomを使ったオンライン同時開催セミナです.
オンライン受講を希望される場合は,セミナ申込後,メールでご連絡ください.
詳細は,オンライン同時開催セミナについてをお読みください.

 近年,リモートワークの定着にともないクラウド利用が注目されている.IoT時代に本格突入ということもあり,クラウドを利用するための情報端末としてはPC以外にもスマートフォンやタブレット等の組込機器もごく当たり前に使用されている.これらの機器開発においてもクラウド・サービスの要件・特長を熟知することは重要・必須となりつつある.
 また,組込システム開発では年々開発環境のコンピュータ・リソースがよりハイスペックになり,導入してもすぐに陳腐化してしまう傾向にある.その点,初期投資も維持費においても使った時間分だけコストを払えばよく,スケーラブルに柔軟に構成も可能でセキュリティの面でも余計な心配,手間をかけずに済むサスティナブルなPaaS(Platform as a Service)環境は最適な選択肢である.
 組込システムは一般にクロス開発であり,実機デバッグが基本なのでターゲット・ボートとの接続が課題ではあるが,FPGA実装のインプリメンテーション(論理合成,配置配線,ビットファイル生成)作業だけでもクラウド・コンピューティング環境利用のメリットは大きい.
 本セミナでは,このような背景から,クラウド・サービスにはさまざまなものがあるが,まずは直感的にわかりやすく実用的な「俺用」仮想コンピュータ(PaaS)構築手法をAWS(Amazon Web Services)を使って紹介する.

● 対象聴講者
・クラウド・サービスに興味がある方
・クラウドを始めたいがとっかかりがよくわからないと悩んでいる方
・クラウド導入を考えている方
・IaaS(Infrastructure as a Service),PaaS構築を検討している方,興味がある方
・割安にハイスペックなコンピュータ・リソースを利用したい方

● 講演の目標
・クラウドの基本が理解できる
・AWSの利用事始めがわかる
・俺用仮想コンピュータ構築方法と活用の仕方がわかる

● 内容
1. クラウドって何?
2. オンプレミスと比べて何がいいの?
 設備初期投資
 維持費
 セキュリティ
3. クラウド(PaaS)サービスあれこれ?それぞれの違いと特徴と利点
 AWS
 Azure
 GCP
4. AWSアカウントの作り方(講師が手順説明一部実演)
5. サインイン(用意してあるアカウントで受講者が実体験)
6. 自分だけのコンピュータ環境を作ってみよう(講師が実演説明後に受講者が実習)
 仮想ネットワーク
 仮想マシン(インスタンス)
 簡単なウェブ・サーバ構築
 GUI環境構築・RDP接続(参考)
7. Azure編紹介(デモ)
8. 質疑応答&まとめ


AWSサインイン画面


ec2インスタンス作成画面

 


ec2との接続画面


Azure編紹介デモ画面


AWS Amazon linuxでVNCを立ち上げてリモートデスクトップ接続


仮想マシンをWin11 Proで構築

【受講者が持参するもの】
・筆記用具
・オンライン受講の場合は,実習用Windows PC(インターネットに接続されていること.ウェブ・ブラウザがインストールされていること)

https://seminar.cqpub.co.jp/ccm/ES22-0094

【初心者向け】EC2 AWS AMI  踏み台サーバからプライベートサーバへのssh接続 / (EC2 Instance Connect )エラーの原因を解説

AWS AMI EC2 において、踏み台サーバよりプライベートサーバにSSHキーファイルを使用してログインを試みた時にエラーが多発してソリューションも見つかったので、備忘録としてよくある間違いを列挙

環境
AMI
EC2 踏み台サーバ (Public IPを持っている) インターネットよりEC2 Instance Connect にてログイン

達成したいこと
EC2 踏み台サーバより Private サブネット内のEC2インスタンスにログインしたい。

条件
インスタンス作成時にキーファイルはローカルのPCにダウンロードしてあること(これは他の人からコピーしてもらってもよい)

ソリューション
ダウンロードした pemファイルの中身をコピー
/home/ec2-user/.ssh/ フォルダに 適当なファイル名.pem の名前でファイルを作成 → vim 適当なファイル名.pem で編集
vim 適当なファイル名.pem
i を入力 ( Insertモード )
中身にpemファイルの中身をペースト
ESC(エスケープ入力)で Insertモード終了
:wq を入力して内容を保存
※chmod 400 保存した適当なファイル名.pem で権限を変更 ( 700 と、600 でもOKだった、777→×、770→× 双方共に権限緩すぎ )

SSH接続でプライベートサーバへログイン
ssh ec2-user@10.0.2.85 -i /home/ec2-user/.ssh/適当なファイル名.pem

Last login: Tue May 24 15:55:07 2022 from 10.0.5.23

   __|  __|_  )
   _|  (     /   Amazon Linux 2 AMI
  ___|\___|___|

[ec2-user@ip-10-0-2-85 ~]$
[ec2-user@ip-10-0-2-85 ~]$

ログイン成功

間違いの例をエラーメッセージと共に記載

ssh: connect to host xxx.xxx.xxx.xxx port 22: Operation timed outec2-user@xxx.xxx.xxx.xxx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).etc…

  • エラーの原因
  • エラー解決方法の一例
クライアントPC(接続元)EC2 Instance Connect
EC2インスタンス(接続先)Amazon Linux 2

エラーメッセージこの記事での呼び方確認箇所
[ユーザ@ip]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).PermissionDeniedエラーsshコマンド
Warning: Identity file [秘密鍵] not accessible: No such file or directory.NoSuchFileエラー秘密鍵のパス
Load key “[秘密鍵]”: bad permissionsBadPermissionエラー秘密鍵の権限

エラー解決の前にsshの通信を知る

エラーの原因を理解するためにはやろうとしていることがどのような動作で行われるのかをある程度知っておく必要があります。

そのために、sshの通信について軽く触れておきます。

sshの通信は簡略化して書くと以下の3ステップのイメージです。

  1. 接続先の22番ポートにアクセス
  2. 接続先で認証を行う (EC2の場合秘密鍵認証)
  3. ssh接続を確立

PermissionDeniedエラーの原因

PermissionDeniedエラーの原因は1つではなく、様々な要因によって結果的にこのエラーが出力されています。

単体で出ている場合と、他のエラーと一緒に出力されている場合で確認するポイントを切り分けることができますので状況別にご紹介します。

原因は様々と申し上げましたが、このエラー自体が示すものは、「ssh接続の認証のステップで接続先から明示的に拒否されている」と言うことです。

拒否されている理由は実は全て同じで、秘密鍵を持たずに接続先にアクセスしているからです。

残り3つのエラーは「なぜ秘密鍵を持って行けていないのか?」といった観点になります。

PermissionDeniedエラー単体の場合

この場合、秘密鍵の中身をまずは確認してみてください。
私はここで、コピペミスを繰り返しました。
そうなんです。Vim の編集って、意外とミスりやすいんです。

1.Ctrl + V を押下した時に正しく貼り付けられず起こる文字化け
[[C みたいな文字が入力されています。

2.スペースや、余計な文字列が入っている。
右クリックを押して、ペースト範囲を正しくチェックする。

正しく貼り付けられたら、ESC → :wq でファイルの保存

cat /home/ec2-user/.ssh/適当なファイル名.pem
でファイルの中身を確認

PermissionDeniedエラーのsshのコマンド

PermissionDeniedエラーが単体で出ている時は、コマンドが誤っている可能性があります。
$ ssh ec2-user@xxx.xxx.xxx.xxx # (誤)秘密鍵の指定を意味する
-iオプションが抜けている$ ssh ec2-user@xxx.xxx.xxx.xxx [秘密鍵] # 正しいコマンドの一例$ ssh ec2-user@xxx.xxx.xxx.xxx -i [秘密鍵]

BadPermissionエラーが一緒に出ている場合

BadPermissionエラーは秘密鍵の権限が適切でないことが原因で発生するエラーです。

BadPermissionエラーで見直すべきは秘密鍵の権限

秘密鍵は、重要な秘匿情報ですので誰でも触れる権限の秘密鍵を使うことはできません。

EC2インスタンスを作成した時AWSから新規の秘密鍵をダウンロードした段階では権限は適切なものではありません。

chmodコマンドでファイルの権限を400 or 600 or 700に変える必要があります。$ chmod 600 [秘密鍵]

●AWS(アマゾンウェブサービス)とは

アマゾン・ドット・コムの子会社アマゾンWEBサービスが提供する世界中で使用されているクラウドプラットフォーム。
サーバー、ネットワーク、仮想環境から、AI関連の機械学習、統合開発環境まで、全てクラウドでサービスを利用できる。

また、使用した分のみが課金されるという仕組みとなっている。


https://youtu.be/TkPfiAwB7j8