- 1. 【Elastic Beanstalk】複数インスタンス上Dockerコンテナ内に同時にコマンド実行する方法
- 2. 18000km離れたサンパウロのGCP上で動いているUnity HDRP/ROS2シミュレータのカメラをAWS Kinesis Video Streams WebRTC/DataChannelを使って遠隔操縦してみた
- 3. AWS Lambdaで、パスパラメータから値を取得する
- 4. AWS ELB tutorial – Application Load Balancerの構築【簡易版】
- 5. ROSAで独自コンテナをインターネットに公開してみた
- 6. AWS入門編
- 7. oc debug コマンドで ROSA Node に遠隔ログインしてみた
- 8. ROSAのコンソールのアクセス経路と提供元Podを調査してみた
- 9. Elastic Beanstalkの.platform/hooksと.platform/confighooksの違い
- 10. Amazon Managed Service for Prometheus を設定してみた
- 11. WEB家計簿アプリ構築[備忘録]
- 12. apache2.4、ELB下でのアクセス元IPの処理
- 13. ROSA(Red Hat OpenShift Service on AWS) を動かしてみた
- 14. インフラ屋のこれから
- 15. Glueで配列を行方向に展開する
- 16. イベントソースとは?
- 17. 初期費用0円&月額500円未満で個人のWEBサイトを運営する為の環境構築作業メモ
- 18. AWS DynamoDBの設計に挑戦して苦戦した話
- 19. 青いベンチ診断の結果をひたすらtwitterに投稿するアカウントをつくった
- 20. AWS DBS合格記(2021/12/28投稿)
【Elastic Beanstalk】複数インスタンス上Dockerコンテナ内に同時にコマンド実行する方法
ローカルからElastic Beanstalk環境で立ち上がっている複数インスタンス上Dockerコンテナ内に、同時にコマンド実行するコマンド
▼超参考
[Elastic Beanstalk 特定環境の全インスタンス上でコマンドを実行する方法 – Qiita](https://qiita.com/megane42/items/57457f20960975f3e31d)## 複数インスタンス上Dockerコンテナ内に同時にコマンド実行するパイプライン
CLIで以下パイプラインを実行“`bash
aws elasticbeanstalk describe-instances-health –environment-name my-env | jq -r “.InstanceHealthList[].InstanceId” | xargs -L1 -P2 -t -I {} eb ssh my-env –instance {} –command “sudo docker ps -a | grep ‘entrypoint.sh’ | awk ‘{print \$NF}’ | x
18000km離れたサンパウロのGCP上で動いているUnity HDRP/ROS2シミュレータのカメラをAWS Kinesis Video Streams WebRTC/DataChannelを使って遠隔操縦してみた
# はじめに
この記事は、[2021年ROSAdvent Calendar](https://qiita.com/advent-calendar/2021/ros)の24日目の記事です。
投稿が遅くなりすみません。ROS2、遠隔操縦、Unityでのシミュレーションが流行ってきているように感じたので、勉強のためにタイトルのようなものを作って見ました。
下記のような内容に興味がある方の参考になれば幸いです。* UnityのHDRPでROS2のシミュレータ環境構築([Ros2-For-Unity](https://github.com/RobotecAI/ros2-for-unity))
* GCP/DockerでのHeadlessなHDRP Unityアプリケーションの実行
* AWS Kinesis Video Streamsを使ったWebRTC C/JSのクライアントの作成# 実行の様子
実際に遠隔操縦している様子が下記になります。
UnityのHDRP環境はサンプルで用意されたものをそのまま利用していますが、非常に綺麗で動かしていて楽しいです。サンパウロは東京から18
AWS Lambdaで、パスパラメータから値を取得する
# パスパラメータから値を取得する
Lambda関数に、以下のコードを追加します。“`
let name = event.pathParameters.name;
console.info(`name: ${name}`);
“`# WebStormを使って、ローカル環境で実行する
「Edit Configurations…」をクリックします。
![スクリーンショット 2021-12-30 7.25.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/a83bb106-c6f6-0a66-99fc-7cb46b18d46a.png)「API Gateway AWS Proxy」をクリックします。
![スクリーンショット 2021-12-30 7.26.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/7b58b840-1637-9df0-5643-6cc65c93801c.p
AWS ELB tutorial – Application Load Balancerの構築【簡易版】
# ELB (Elastic Load Balancer) tutorial
今回の構成
* ELBを2代のEC2に振り分ける用に設定
* EC2にはindex.htmlを配置して、アクセスしたらそのHTMLが見れるようにする
* VPCはデフォルトVPCを使用
* SecurityGroupを作成する## VPCを作成
CIDR: 10.0.0.0/16で作成![スクリーンショット 2021-12-30 1.14.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/381710/fc39f907-1f2e-e7f8-6073-404b3f4e1274.png)
インターネットゲートウェイを作成
IGをVPCにアタッチしないとVPCが外部からのアクセスを許可しないので、EC2インスタンスに接続できない。![スクリーンショット 2021-12-30 3.16.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co
ROSAで独自コンテナをインターネットに公開してみた
# はじめに
以前の記事で、ROSA(Red Hat OpenShift Service on AWS) クラスターのデプロイ方法と、Web コンソールのアクセス経路を調査しました。
ROSA(Red Hat OpenShift Service on AWS) を動かしてみた
https://qiita.com/sugimount-a/items/73d3ad7864e69cba2cc7ROSAのコンソールのアクセス経路と提供元Podを調査してみた
https://qiita.com/sugimount-a/items/0720c41cba6a1c0b2954今回は、自分たちで作成した Deployment を外部公開するときの手順を紹介します。[「ROSAのコンソールのアクセス経路と提供元Podを調査してみた」](https://qiita.com/sugimount-a/items/0720c41cba6a1c0b2954)で調査した通信経路を理解すると、自分たちの Deployment を公開するときの通信経路の理解が深まります。もしお時間があれば、ざっと目を通す
AWS入門編
AWS(Amazon Web Services)の勉強を始めました。超基本的な内容ですがまとめました。
#AWSを使うメリット
###1. Webシステムに必要な機能やサービスが一式揃う
AWSは提供しているサービスの種類がとても豊富。
それぞれ別の事業者から借りる必要のあったインフラを一括で借りられる。###2. 定額制ではなく従量制
使う分だけを借りられるのでコスト削減に繋がる。###3. 日本語と日本円に対応している
日本語によるドキュメントが豊富であること。またAWSを導入するにあたっての相談窓口を東京に配置しているので日本語で相談できる。またAWSの使用量は日本円で支払えます。#AWSが提供するサービス
####Amazon EC2
OSを含む仮想環境をクラウドに構築できる。####Amazon S3
データの保管場所(ストレージ)の機能を持つ。データ容量は最大5TBで障害やエラーに強い。####Amazon Route 53
DNS(ドメインネームサービス)。ドメインからIPアドレスを割り当てる。###Amazon RDS
代表的なDB(Am
oc debug コマンドで ROSA Node に遠隔ログインしてみた
# はじめに
今回は短い Tips ブログです。AWS で ROSA(Red Hat OpenShift Service on AWS) を動かしているときに、SSH でアクセスしたい気持ちになります。SSH 自体は出来ないのですが、`oc debug` や `kubectl debug` コマンドで該当の Node へリモートアクセスすることが出来ます。今回は、その手順を紹介します。
oc コマンドは、kubectl コマンドと同じ機能を提供しており、さらに OpenShift リソースを扱えるようにしているコマンドです。次の URL に2つのコマンドの相違点が説明されています。
https://access.redhat.com/documentation/ja-jp/openshift_container_platform/3.11/html/cli_reference/cli-reference-differences-oc-kubectl今回のリモートアクセスについては、どちらでもいいのですが、OpenShift になれるために oc コマンドでやっていきます。
ROSAのコンソールのアクセス経路と提供元Podを調査してみた
# はじめに
[前回の記事](https://qiita.com/sugimount-a/items/73d3ad7864e69cba2cc7) では、ROSA クラスターをデプロイする方法を紹介しました。前回の記事にも書いてあるのですが、ROSA Cluster には 付属の Console 用の Web ページが提供されています。
こんな感じの画面です。
![image-20211229163413790.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/9b09f7a7-813c-21d7-2558-8d020a96e28c.png)
なお、Console 用の URL は、ROSA CLI で確認が可能です。
“`
$ rosa describe cluster –cluster my-rosa02 | grep Console
Console URL: https://console-openshift-console.apps.my
Elastic Beanstalkの.platform/hooksと.platform/confighooksの違い
Elastic Beanstalk(以下EB)のプラットフォームフックとして`.platform/hooks`と`.platform/confighooks`が用意されています。ドキュメントサンプルなどでは、両ディレクトリに同じスクリプトファイルを設置しており違いがよくわからなかったため、両者の違いについての学んだことを残しておきます
## プラットフォームフックとは?
– EBプラットフォームを拡張するために特別に設計された機能
– プラットフォーム:オペレーティングシステム (OS)、ランタイム、ウェブサーバーなど
– アプリケーションのソースコードに設置することによって、カスタムスクリプトをインスタンスプロビジョニングのあらゆるタイミングで実行できる
– カスタムスクリプト(フックファイル) : バイナリファイルなど`#!`で始まるスクリプトファイル (`#!/bin/bash` など)
– 設置したサブディレクトリによって実行するタイミングを指定できる
– `.platform/hooks/prebuild`、`.platform/confighooks
Amazon Managed Service for Prometheus を設定してみた
#はじめに
Amazon Managed Service for Prometheus(以下AMP) を設定してみたのでそのメモ。#設定の流れ
##1. AMPのworkspaceを作成する
AWSマネージドコンソールからサクっと作成可能。
workspace名を選択するぐらいで、悩むポイントは無かった。##2. AMP用のIAMロールやServiceAccountとの紐付け設定
以下のAWSドキュメントに記載されている手順を実施した。https://docs.aws.amazon.com/prometheus/latest/userguide/set-up-irsa.html#set-up-irsa-ingest
###2-1. メトリクス収集用IAMロールを作成
上述のAWSドキュメントに記載されている内容をcreateIRSA-AMPIngest.sh に保存して実行した。
CLUSTER_NAME と SERVICE_ACCOUNT_NAMESPACE をそれぞれEKSクラスタ名、PrometheusのNamespaceに記載変更する必要あり。“`
ec
WEB家計簿アプリ構築[備忘録]
家計簿アプリを構築してみた。
apache2.4、ELB下でのアクセス元IPの処理
サイト中のあるエリアには、特定IP(例 000.000.000.000)からだけのアクセスを許可する場合、
# apache設定
“`your-site.conf
Require all denied
Require ip 000.000.000.000
“`と書けばOKだけど、ELB(ElasticLoadBalancing)下では、アクセス元がELBのローカルIPになるため、上記設定では制限が正しく動作しない。
“`
RemoteIPHeader X-Forwarded-For
“`を、記述することで、apache側が識別するIPが、本来のIPとなり、希望通りのアクセス制限が可能となる。
“`your-site.conf
RemoteIPHeader X-Forwarded-For
Require all denied
Require ip 000.000.000.000
ROSA(Red Hat OpenShift Service on AWS) を動かしてみた
# はじめに
AWS では、ROSA(Red Hat OpenShift Service on AWS) が提供されています。OpenShift に慣れているユーザーが今までのナレッジを活かしながら、AWS 上で利用できるマネージドな OpenShift サービスとなっています。今までのナレッジを活かせるので、スムーズに AWS 上で OpenShift を活用できるメリットがあります。また、時間や年単位の従量課金モデルとなっており、特に時間単位の従量課金では柔軟性の高い料金体系になっています。
という概要は知りつつ、どうやって構築するのか不明だったので、ROSA の構成を試してみました。公式 Document や公式 Blog なども確認しつつ構築してみましょう。
公式 Document
https://docs.openshift.com/rosa/welcome/index.html
https://access.redhat.com/documentation/ja-jp/red_hat_openshift_service_on_aws/4公式 Blog
https:
インフラ屋のこれから
##背景
AWS等のクラウド利用が急激に進み、今後いわゆるオンプレを中心としたインフラ屋はどうなっていくのか?また、インフラ屋はどのように進化すべきなのか?について考えた事をつらつら書いていこうと思います。##考えたこと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261436/427767f0-171b-30af-43b9-63b8d9070349.png)– インフラ屋の領域はアプリ(ロジック)領域に置き換わる
– 例えばサーバを構成して実現していた機能はアプリ(ロジック)で実現できる
– つまり、サーバは必要なくなり、インフラ屋の領域は縮小する
– 現在はアプリ屋がCloudNativeの領域に踏み込んでおり、アプリの領域が拡大していると言っても良い
– AWSで言うとPaaS領域である
– ただし、可用性、性能・拡張性等の非機能として考えないといけない領域は変化しない
– よって、インフラ屋はCloudNativeの技術を手にすると共に、今までの非機能の知
Glueで配列を行方向に展開する
# 背景・目的
– jsonファイルでArray&Structになっているデータセットを、Glueで行方向に展開する。## 前提(はじめに)
– 対象のデータセットは、以下の通り。
– 実際のファイルはJSON lineの形式で一行です。
– ファイルフォーマット
– id:レコード単位に一意に振るID
– actions:Array型。複数のactionをまとめています。
– action:Struct型。locationとtimestampを有しています。“`
{
“id”: “0123456789”,
“actions”: [
{
“action”: {
“location”: “Kanagawa”,
“timestamp”: “2021-12-28T10:00:00.000+0900”
}
},
{
“action”: {
“location”: “Tokyo”,
“
イベントソースとは?
# イベントソースとは?
イベントの発生元となるAWSリソースのことをイベントソースと呼びます。
イベントソースの違いによってファンクション起動時の挙動が変わります。Pushモデル
イベント発生に応じて直接Lambdaファンクションを起動します。
API Gate WayやAmazon S3などPullモデル
AWS Lambdaに対して直接的にイベント発行を行わないようなサービスもあり、その場合はAWS Lambdaがそれらへポーリングを行い自らイベントを取得します。
Amazon DynamoDBとAmazon Kinesis など# イベントソースを確認する
AWS Lambdaのダッシュボートから「Functions」をクリックします。
![スクリーンショット 2021-12-29 6.52.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/dc960612-b8c6-c555-56b8-46b1234f8239.png)任意のFunctionをクリックします。
!
初期費用0円&月額500円未満で個人のWEBサイトを運営する為の環境構築作業メモ
通常、個人ブログやWEBサイトの構築には、開発・運用の容易性の観点から初期費用+月額利用料を支払いレンタルサーバを契約するのが一般的です。
今回は以下の観点から、あえてレンタルサーバではなくAWS環境を利用し、個人ブログ・WEBサイトを公開するまでの構築作業を作業メモがてら記載します。– 自己学習の要素も含めたい為、個人ブログ・WEBサイト用のレンタルサーバではなく、あえてAWSのサービスを利用。
– 利用しているプラットフォームはAWSサービスであり従量課金の為、利用しなければ停止する事で利用料は抑えられる。(※)
– 通常レンタルサーバの契約時に必要な初期費用も不要。利用状況に応じた、サーバの起動停止により利用料のコントロールも可能。(※)##### ※注意事項
`以下手順は、「AWS Lightsail」を利用する為、インスタンスを停止していても定額の月額利用料(3.5USD)が掛かります。`
`完全に従量課金(起動・停止で利用料をコントロール)としたい場合は、EC2等で構築する必要があります。`
`またLightsailのインスタンスが不要になったら削除(インスタンス
AWS DynamoDBの設計に挑戦して苦戦した話
個人開発というと大袈裟ですが、簡単なWeb APIを実装し公開しました。
AWS Lamda + API Gatewayを使ったサーバレス構成で、DBにDynamoDBを採用しました。実務ではPostgreSQLとSQL Serverを使っており、NoSQLの利用経験がありません。
当然ですが、RDBの知識ではNoSQLのDB設計で苦労する点が多くありました。実際の設計の過程を交えながら、こちらの[サーバーレスアプリケーション向きの DB 設計ベストプラクティス](https://www.slideshare.net/AmazonWebServicesJapan/db-20190905)を見ていきたいと思います。
開発するAPIは日本の主な山岳一覧を提供するAPI。
詳細は、以下をご確認いただけますと幸いです!https://dottrail.codemountains.org/lp/mountix-api/
API ドキュメントを完成イメージとして
自分ならこう設計する!と考えならがら、読んでいただくと面白いかと思います。—
## サーバーレスアプリケーショ
青いベンチ診断の結果をひたすらtwitterに投稿するアカウントをつくった
[Zenn](https://zenn.dev/okaponta/articles/d89b8c99458b22)にも投稿したので、好きな方でお読みいただければと思います。
# はじめに
みなさま「青いベンチ」という曲はご存知でしょうか。
「この声が枯れるくらいに 君を好きと言えばよかった」からはじまるサビは聞いてて心地いいですね。さて、私がこの曲を知ったのは[青いベンチ診断](https://shindanmaker.com/240064)というものです。
これがまた面白くて、1/157464の確率で「青いベンチ/サスケ」という文字列が揃うものになります。
確率からしてだいたい外れるんですが、以下のような診断結果が出力されてクスってきてしまいます。サスチン青ベチ/ベンチ#shindanmakerhttps://t.co/X1WXZqTFWF
— Kohei Okamoto (@okaponta_) December 28, 2021
揃わなかった文字列を言い合うみたいなtogetterもありました。
https://togetter.com/li/452165
2021年の終わりになぜか「ひたすらこの診断結果を投稿するBotを作りたい」と強く
AWS DBS合格記(2021/12/28投稿)
# はじめに
この度AWS認定のDBSを受験してきましたので、勉強した内容と受験した感想を書いておきます。
これから受験される方の参考になれば幸いです。今回でAWS認定は8冠を達成しました。やったね!
* [2019-07-04 AWS Certified Cloud Practitioner](https://qiita.com/handy-dd18/items/c2b62ad58206e47f1345)
* [2019-07-24 AWS Certified Solutions Architect – Associate](https://qiita.com/handy-dd18/items/96a9f374a64663b10e24)
* 2021-02-25 AWS Certified Data Analytics – Specialty (DAS)
* [2021-07-23 AWS Certified Developer – Associate (DVA)](https://qiita.com/handy-dd18/items/33ba3e6cfa100903912c)