AWS関連のことを調べてみた2021年10月02日

AWS関連のことを調べてみた2021年10月02日
目次

M5StickCを使って外出先からお家のエアコンを操作

# やりたいことのイメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407204/23ad3797-1306-55ce-5da1-48da6b1bdcea.png)
この記事ではM5StickCがAWSからメッセージを受信しエアコンの操作を実行するところまでとし、スマホからAWSへメッセージを送信する部分は後日別の記事に記載したいと思います。

# 用意するもの
– [M5StickC](https://www.switch-science.com/catalog/5517/)
– [M5Stack用赤外線送受信ユニット](https://www.switch-science.com/catalog/5699/)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407204/a6ebb360-0c02-bb93-2a38-d0a8d8cc72be.png)

– AWSアカウント

#

元記事を表示

CloudFront-Forwarded-Protoヘッダを使ってCloudFrontへの通信プロトコルをオリジン側で確認してみた

[参考](https://dev.classmethod.jp/articles/cloudfront-cloudfront-forwarded-proto-header/)

[mod_remoteip の設定は書く場所に注意!(なるべく最初の方に書くべし)](https://qiita.com/kawaz/items/31b604985d0866128c62)

[mod_remoteip を使って LB 配下の Apache もアクセス元 IP を正しく認識できる](https://blog.yskw.info/articles/256/)

元記事を表示

Aws IoT Coreを使ってみた

# はじめに
> 初めてawsに触れるため、まずはインターネットに接続されたIoTデバイスの接続、管理できるAws IoT Coreというサービスを使ってみようと思う
Azure IoT Hubサービスに似ているものかな?

# 使用したもの
– RaspberryPi 3B+
– DHT22温湿度センサー
– Aws IoT Core
– node.js

# AWS設定

# ポリシーの作成
1) AWSマネージメントコンソールにログイン
[マネージメントコンソールにログイン](https://aws.amazon.com/jp/console/)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533263/906e24e3-b0a0-0f6f-dcbc-d56751f1760b.png)

2) 画面上の検索で「**IoT Core**」と検索し、IoT Coreを選択

![image.png](https://qiita-image-store.s3.ap-north

元記事を表示

[AWS] ローカルからEFSにファイルを転送するため、EC2をFTPサーバーとして構築

#はじめに
AWSのファイルストレージサービスであるEFSにローカルからファイルを転送するため、題名の構築が必要でした。
EC2にファイルをFTP接続で設置できるように、FTPサーバーとして構築します。

#事前準備
・EC2を事前に設置
インターネットゲートウェイやサブネットも作成済み
[こちらを参考にしました](https://qiita.com/MayForBlue/items/c96674fb6aac5852a978)

・EC2のインバウンドのセキュリティーグループはこちらの設定にしてください。
「ポート21」はFTP通信でFTPサーバー接続用
「ポート22」はSSH接続でEC2サーバー接続用
「ポート60001-60010」はファイルを置く時に使用するポート。複数ポートを確保することで、接続時、負荷を分散できます。

元記事を表示

AWS Lambda関数内でaws-cliを呼び出せる様にしたい

## 目的
aws-cliで行っていた処理を、Lambda関数で実行できるようにして、最終的にslackなどをトリガーにして、簡単に実行できる様にしたい。その前準備として、lambda関数でaws-cliを使えるように、lambdaレイヤーを使用して、lambda関数にaws-cliを追加するレイヤーを準備する。

## 結果
GithubのREADME.mdに従ってコマンドを実行するだけで、作成&デプロイがされます。
(git cloneしてデプロイするだけ)

https://github.com/mocaberos/aws-cli-lambda-layer

## 仕組み
aws-cliはpythonスクリプトで実装されているため、pythonモジュールとしてインストールしたあと、該当するファイルをコピーする、実行環境が変わるため、awsスクリプトの先頭のシバンを`#!/var/lang/bin/python`に書き換えて、あとはzipに固めてデプロイするだけで、lambda関数から使えるようになります。
この処理をスクリプトとして纏めると、下記になります。

“`shell

元記事を表示

AWS CodeBuildで状況に応じて処理を分けるため、いろんな場合の環境変数を細かく調査した

## 調査方法
buildspec.ymlでCodeBuildのデフォルトの環境変数がいろんな場面のどのような値になるかを調べるため、
CodeBuildを連携させたgithubリポジトリで様々な操作を行い、結果を記録しました。

https://github.com/mocaberos/codebuild

## masterブランチに直接pushした場合
“`text
AWS_DEFAULT_REGION: ap-northeast-1
AWS_REGION: ap-northeast-1
CODEBUILD_BATCH_BUILD_IDENTIFIER:
CODEBUILD_BUILD_ARN: arn:aws:codebuild:ap-northeast-1:085041388644:build/codebuild:ed00ef43-f18b-4653-9778-835e910ab2c3
CODEBUILD_BUILD_ID: c

元記事を表示

LINEbotに画像を送信すると、その画像をS3に保存

# 前提
・Lineデベロッパーアカウント開設済み
・LinebotのwebhookにApiGatewayのpostエンドポイント設定済み
・LambdaとApiGatewayの紐づけ
・その他LINE発行のトークンを環境変数に設定やS3へのアクセス権限付与などLambda周り
詳しくは下記記事が参考になります。
https://qiita.com/w2or3w/items/1b80bfbae59fe19e2015

# コード
Lambdaに下記コード記述・デプロイ
あなたのバケット名はS3のバケット名に変えてください

“`lambda_function.py
import os
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
from linebot import (
LineBotApi, WebhookHandler
)
from linebot.models import (
MessageEvent, Te

元記事を表示

Beanstalk+Docker+JavaアプリでタイムゾーンをJSTに変更したかった日

微妙に嵌ったのでメモ

* AWS Elastic Beanstalk web applications
* Multicontainer Docker
* Java8 Spring Boot

# .ebextensions で設定する方法

“`yml:.ebextensions/timezone.config
# Dockerホスト(EC2インスタンス)のタイムゾーンを変更
commands:
timezone:
command: ln -f -s /usr/share/zoneinfo/Japan /etc/localtime
“`
– EC2インスタンスのタイムゾーン: 変更される
– Dockerコンテナのタイムゾーン: 変更されない
– Javaアプリのタイムゾーン: 変更されない

# Dockerfile に RUN を記述する方法

“`dockerfile:Dockerfile
# ゲストOSのタイムゾーンを変更
RUN ln -f -s /usr/share/zoneinfo/Japan /etc/localtime
ENTRYPOINT [“

元記事を表示

【Unity、AWS】実践!構築から開発をしてウェブアプリを公開する!

#はじめに

 ローカルで作成したアプリをサーバで公開し、外部から閲覧できるようにするまでの流れを実践を通してまとめました。また、GUIの操作で実装できる部分をコードで行い、実装方法の比較をしました。
 アプリはUnity、サーバミドルウェアはSpringBoot、サーバはAWSを使用しました。

#設計

 今回、作りたいものの設計図です。経験少ないまま作成したものですので、ご容赦ください。

(1)構成図
 AWSの構成と使用するファイルをまとめます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1474054/e0ff1cfe-9969-ba55-2108-6cdb51ff3e8f.png)

(2)ユースケース図
 今回の記事で私が行ったタスクをまとめます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1474054/eb36280e-b037-17b9-9c8a-eb70

元記事を表示

EmbulkでRDS→S3へ転送する際に、Access key,Secret keyを使わず、IAMロールを使う

## What’s this~これは何~
[こちらの記事](https://qiita.com/namely_/items/f67ac0268a189b6f8da7)で、S3 API callを行う際に、IAMユーザーを作成し、Access key,Secret keyを設定ファイルにベタ書きしていたのですが、やはりこれはセキュアとは言えないなと感じておりました。

冷静に考えてみたら、IAMロールでできないはずがないよな、となり、方法を探してみました。

今回は、IAMロールを使ってS3 API callを行いました。

## 前回との相違点

Access key,Secret keyをコメントアウトしています。
AmazonS3FullAccessをポリシーとして、IAMロールを作成し、EC2へアタッチしています。
auth_method: instanceを追加しています。
これでインスタンスプロファイルを見に行ってくれます。

“`
/// Embulk設定ファイル編集
/// configファイル作成する。ディレクトリなども適当にconfigファイルを作成する。
///

元記事を表示

S3マウントツール(JPCYBER)でマウントが勝手に解除された話(2021/10/1時点)

# はじめに
過去に何回かS3をマウントするツールであるJPCYBERの記事を書いてましたが、今回はそのJPCYBERでマウントしたS3が何故か自動解除される事象が発生したので、事象と対応した方法について書いていきます。
※根本解決には至っていません

# 環境
– EC2
– Windows Server 2019
– JPCYBER v6.0.1068.0 ※無料体験版

# 発生事象
以下の手順でS3バケットをマウントして、ユーザのサインアウトを実施したところ、マウントしたS3バケットが参照できないようになる事象が発生しました。
尚、JPCYBERのサービスは停止しておらず実行中のままでした。

①AdministratorユーザでRDPログイン
②JPCYBERをインストール
③適当なS3バケットをマウント、エクスプローラーから確認
④Windowsボタンからサインアウトを実施
⑤再度RDPでEC2にログイン
⑥S3バケットのマウントのみ解除され、エクスプローラーから確認できなくなる

# 実際にやってみた
## JPCYBERインストール
EC2を構築し、JPCYBERをイン

元記事を表示

CDK(Python)のテストコード内で任意のContextをSetして利用する方法

PythonでCDKのテストを書いていたのですが、contextの内容を任意の値で設定したいところがありました。

# 現象

ネットを探したところ `set_context()` を利用することで任意のcontext値を設定できそうだったので以下のように書いてみたのですが、

“`python
def test_set_context():
test_key = “context_key”
test_context = {“dummy_key”: “dummy_value”}

app = cdk.App()
app.node.set_context(test_key, test_context)
context = app.node.try_get_context(test_key)
assert context == test_context
“`

例外が発生してしまいました。

“`
raise JSIIError(resp.error) from JavaScriptError(resp.stack)
jsii.err

元記事を表示

TranferFamily-SFTP for EFS のパスワード認証を実装する

## はじめに
AWS TranferFamily-SFTP接続のパスワード認証の実装しました
参考記事が少なく結構苦労したので、Qiitaに載せて共有します

## 構成
– TransferFamily
– プロトコル:SFTP
– エンドポイントタイプ:VPCエンドポイント
– アクセス:インターネット向き
– ドメイン:Amazon EFS

## AWS構成図
![AWS Transfer Family のカスタムIDプロバイダーで AWS Secrets Manager を使用して パスワード認証を有効にしてみる | DevelopersIO](https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2021/06/VPC_arichitecutre-640×380.png)

画像引用元:[AWS Transfer Family のカスタムIDプロバイダーで AWS Secrets Manager を使用して パスワード認証を有効にしてみる](https://dev.clas

元記事を表示

FluentdでEC2→S3へ転送する際に、Access key,Secret keyを使わず、IAMロールを使う

## What’s this~これは何~

こちらの記事で、S3 API callを行う際に、IAMユーザーを作成し、Access key,Secret keyを設定ファイルにベタ書きしていたのですが、やはりこれはセキュアとは言えないなと感じておりました。
今回は、IAMロールを使ってS3 API callを行いました。

## 前回との相違点

**IAM ロールのポリシー**
[GitHub](https://github.com/fluent/fluent-plugin-s3/blob/master/docs/howto.md#iam-policy)に推奨のポリシーが置いてありました。
my-s3bucketはバケットの名前を記入。
作成後はEC2にロールをアタッチします。

“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“s3:ListBucket”
],
“Resource”: “arn

元記事を表示

Angular×AWSのCI/CD術

# はじめに
以前、AngularとAWSでアプリをデプロイする方法についての[記事](https://qiita.com/so_oki/items/a05398331fd2f2e792d6)を書きましたが、最近の開発だとCI/CDはほぼ必須と言えるほど重要視されています。
ということで今回はCI/CDの実現方法の一つを書いていこうと思います。

# 目標とするアーキテクチャ
![codepipeline.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/937419/fb7cb753-a6c5-4006-7628-e5671573b794.png)
ユーザーがGitHubにソースをpushするとCodePipelineが実行されCodeBuildでビルドし、成果物をCloudFrontが見ているS3に配置するというアーキテクチャを目標とします。

# codestar-connection登録
今回、GitHubから取得するのにcodestar-connectionを使います。
![settings.P

元記事を表示

AWS IoT Coreとエッジデバイスの間でメッセージを送受信する

# はじめに
AWS IoT Coreにエッジデバイスを登録して、AWS IoT Coreとエッジデバイスの間でメッセージを送受信する方法を紹介します。
エッジデバイスにランタイムをインストールすることなく、手軽にメッセージの送受信を行うことができます。
(エッジデバイスにAWS IoT Greengrass(V1)をインストールしてAWSと接続する方法は[こちら](https://qiita.com/Yokogawa_Ishino/items/1fb734f091e952a16fea)をご覧ください。)
# 環境
動作確認済デバイス(OS)

– e-RT3 Plus F3RP70-2L[^ert3](Ubuntu 18.04 32bit)
– Raspberry Pi 4 Model B (Ubuntu Server 20.04 32bit)

これらのデバイスでは armhf アーキテクチャのパッケージが動作します。

# エッジデバイスのクラウドへの登録
## ポリシーの作成
デバイス-クラウド間でのメッセージの送受信を許可するポリシーを作成します。

左上のサービスメニューか

元記事を表示

StepFunctionsでAWS SDK統合が使えるようになった

# やれること

今まではDynamoDBでqueryするときなどで, Lambdaを呼んでaws-sdkを利用して色々叩いていました.
これがなんと, StepFunctionsのStateから直接叩けるようになりました?

![スクリーンショット 2021-10-01 115349.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1765956/d1ef2842-3bfb-1220-2c7f-e38b83c50477.jpeg)![スクリーンショット 2021-10-01 125948.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1765956/0476cbc6-f3b0-2385-9116-9f6f7e175f30.jpeg)

## 例

DynamoDBにQueryを発行してみます. SDKを利用するときに入れる値と同じ値を入れるだけです.

“`jsonc
{
// …
“States”: {

元記事を表示

Amazon Braketでの実機へのjobの投げ方

# Amazon Braketでの実機へのjobの投げ方

## 1 notebookの作成

Amazon Braketを立ち上げて、Notebooksを選択します
下画面左上のCreate notebook instance を押し、notebookを作成します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761738/87d59632-d7d3-3a4e-2796-b7b1727a420c.png)

instanceの名前を聞かれるので、名前を入力し、create notebook instance ボタンを押して
インスタンスを作成します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/761738/31ca42e7-b820-f224-cb31-d0f026fa2c5b.png)

## 2 バケットの作成
S3 に移動し、バケットを作成します(ここでは、amazon-bra

元記事を表示

Excel VBAからAWSのRDS(Aurora MySQL)を利用する

##はじめに
クライアントPCからAWSのRDSへ接続する設定をご紹介したいと思います。
接続方法はEXCELのVBAを使います。
##目次
1.AWSのネットワーク回りの設定(VPC、サブネット、ルートテーブル、インターネットゲートウェイ、セキュリティグループ)
2.RDSインスタンス起動
3.クライアントにMySQLインストール
4.GUIツールのインストール
5.VBAのサンプルコード
この流れで説明していきたいと思います。
所々スクショにマスキングしております、あらかじめご了承ください。
##1.AWSのネットワーク回りの設定(VPC、サブネット、ルートテーブル、インターネットゲートウェイ、セキュリティグループ)
まずはVPCを作成します。デフォルトのVPCでもいいのですが、せっかくなので、新しくVPCを作成してみたいと思います。
VPCダッシュボード画面より、右上の「VPCを作成」ボタンをクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1980545/a2d8d6a6

元記事を表示

ElasticBeanstalkでnodeがinstallできないエラー

# 現象
下記コマンドが通らない。
`sudo curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -`

# 原因
Let’sEncrypt証明書を使用してサーバーに接続できないため。
rpm.nodesource.comドメインの証明書の期限が9/30で切れている。

# 解決策
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-expired-certificate/

取り急ぎ共有でした。

元記事を表示

OTHERカテゴリの最新記事