AWS関連のことを調べてみた2022年05月20日

AWS関連のことを調べてみた2022年05月20日
目次

AWC EC2にWebシステムのデプロイ(下書き

つらつらと仕事中の備忘録
書きながらやっているので後日清書予定
AWSEC2にDocker+Railsの環境を構築してテストしようという作業

EC2インスタンス
・最低コスト
・とにかく動け
・Ubuntu

流れ

・手始めにEC2にセキュリティグループの設定を修正
 →テラターム接続は失敗したので暫定でGit Bushで接続。上記設定に関係あるか不明

・下記URLを参考にDockerとDockerComposeをaptとcurlを使ってインストール。

・sshの設定、key登録をgithubと”EC2インスタンス”にする(Ec2側にssh-addをかまさないとダメ。また、かますときはevalでプロセス明確する)

・gitcloneをする(解決)
 →sudo chown ユーザー名:ユーザー名 /var/www # 現ユーザーに権限付与 をしてなかった

・dockerをデプロイ(権限がなくて混乱)
 →https://virment.com/how-to-fix-couldnt-connect-to-docker-daemon/ ここを参考に修正中

参考URL

元記事を表示

【Terraform入門】SSH接続できるEC2を簡単に作成する

# はじめに

EC2で何かすぐ検証したい場合などにTerraformを使ってEC2を作成してSSH接続できると便利です。
手動作成に頼っていると手順確認に時間がかかったり操作ミスをしたりゴミが残ったりしてしまいがちですが、Terraformだとその不安を限りなく小さくできます。
多少知識は必要になるため、本記事ではサンプルコードを用意してすぐにEC2を起動してSSHできるよう手順を簡潔にまとめてみました。Terraformを触ったことがない方でもわかるように導入手順からまとめたつもりです。

# 環境

本記事の手順は以下の環境で動作確認を行っています。

– OS: macOS Monterey 12.3.1
– Terraform: 1.1.9
– AWS CLI: 2.5.4

# Terraformのインストール

Homebrewを使って、以下だけでインストールできます。

“`
$ brew tap hashicorp/tap
$ brew install hashicorp/tap/terraform
“`

手順の最新情報は以下を参照して下さい。

https

元記事を表示

Databricks構築時におけるクレディンシャル設定とS3バケット設定の作成手順(AWS編)

こちらの記事で言及している、Databricks環境構築手順時に必要となる以下の情報の作成手順をカバーする記事です。

https://qiita.com/taka_yayoi/items/1ca54463469df05dd3ee#%E4%BA%8B%E5%89%8D%E6%BA%96%E5%82%99

こちらの記事でもカバーしていますが、画面構成が変化しているので改めてウォークスルーしました。

https://qiita.com/taka_yayoi/items/f63cc77afe4eef58d4e0

# クレディンシャル設定の作成

クレディンシャル設定(credential configuration)では、DatabricksがあなたのAWSアカウントでクラスターを起動するのに必要なアクセス権を持つ**クロスアカウントIAMロール**を作成し、それらの情報を入力します。

1. [アカウントコンソール](https://accounts.cloud.databricks.com/
)にアカウントオーナーとしてログインします。アカウントオーナーを作成していない場合には、[

元記事を表示

ECS/Fargateに入門してみた

## 作成するアーキテクチャ

![ECS:Fargate.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280830/84598903-2209-70d4-c3e8-059476394a2b.png)

## Dockerを本番環境で使うメリット

– エラーの発生を抑えられる。(ローカル環境や本番環境の差分を減らせるため、環境由来のエラーを防げる。)
– 環境構築のコストを下げられる。(docker build, docker runで一発で立ち上がる。)
– コードで管理できるため属人性を排除できる。(ファイルを管理すれば、コマンドで操作できるため誰がやっても同じ結果になる。)
– コードで管理できるためGitと併用できる。(Git,GitHubと連携してver管理ができる。)

## Docker基本コマンド

### ①docker run
docker imageからコンテナを一つ起動する。

### ②docker build
Dockerfileからイメージを作成。

### ③doc

元記事を表示

AWS Lambda における Python 3.6 のサポート終了

# 課題
皆さんにもこんな通知が届きましたよね。
>「AWS Lambda における Python 3.6 のサポート終了」

今回、ご丁寧に一覧表示する為のコマンドラインまでプレゼントされています。
ただ、クラウドエンジニアな私達は世界中に駆け回っているわけなので、一定のリージョンを調べるだけではダメなのです。

ということで今回は単にリージョン全てをチェックする sh をどうぞ。

# 解決
## AWS公式
>次のコマンドは、AWS CLI [3] を使用して、特定のリージョン内の Python 3.6 を使用しているすべての関数を一覧表示する方法を示しています。お客様のアカウント内のこうした関数すべてを確認するには、リージョンごとに次のコマンドを繰り返してください。

“`
aws lambda list-functions –function-version ALL –region us-east-1 –output text –query “Functions[?Runtime==’python3.6′].FunctionArn”
“`

## カスタマイズ版

元記事を表示

【AWS】セキュリティグループに紐づいているEC2インスタンスを特定する方法

# はじめに
備忘録レベルにはなりますが、セキュリティグループに紐づいているEC2インスタンスを特定する方法について記事に残したいと思います。

# 環境

| 項目 | 内容 |
| —- | —- |
| OS | macOS Monterey バージョン 12.3.1 |
| Homebrew | 3.4.10 |
| AWSCLI | 2.6.3 |

“`zsh:Homebrew
% aws –version
aws-cli/2.6.3 Python/3.9.12 Darwin/21.4.0 source/x86_64 prompt/off
%
“`

:::note info
個人で作成したAWSの擬似環境を利用します。
EC2インスタンス作成済み
:::

# 作業手順
以下の流れで作業を実施します。

**①マネジメントコンソールにて対象のセキュリティグループのセキュリティグループIDを確認**
**②AWSCLIにてセキュリティグループの詳細情報を確認**
**③EC2インスタンスの特定**

## ①マネジメントコンソール

元記事を表示

EC2を使ったOpenVPNによるリモートアクセス環境の構築

AWS上にEC2を使ったリモートアクセス環境(SSL-VPNサーバ)を構築する手順を紹介します。

# 1.概要
## SSL-VPNとは
– PCやタブレットなどのクライアント端末から、企業のイントラなどプライベートなシステムに対して、インターネットを介して安全に接続するための仕組みです。
– クライアントPCには専用のソフトを導入し、そこからSSL-VPNサーバに接続して使用します。

## OpenVPNとは
– オープンソースのSSL-VPNソフト
– 無償で提供されているクライアントソフトと合わせて、OSSでのリモートアクセス環境が構築可能
– AWSのマネージドサービス(AWS Client VPN)もOpenVPNをベースにしています

## マネージドサービスとの機能差異(2022/4月時点)
– 大きな違いはVPNへ向ける通信先の指定の柔軟性。
– OpenVPNの場合は、ネットワークアドレス単位でクライアントに対してVPNを経由させたい宛先を指定可能。
– AWSマネージドの場合、VPNに接続するとすべての通信がVPN経由となってしまう。(defa

元記事を表示

Amanon LinuxでApattchのインストール

【AWS】Amazon LinuxにてApatchのインストールを行いました。

Apatchのインストール

まずはEC2でインスタンスを立ち上げて、下記のコマンドを入力します。
![インストール.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2664791/e5f8f9ae-fee9-cab7-f892-1e9335fb3132.png)

Complete!が表示されればOK!
![コンプリート.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2664791/50aa83a5-2747-7a79-43f1-b68902a5302f.png)

状態確認

下記コマンドを入力して状態確認を行います。
![状態確認.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2664791/97f66518-52c6-0371-255b-5cbf3

元記事を表示

VMからENI経由でFSx for NetApp ONTAPのファイルシステムをマウントする

# はじめに

VMware Cloud on AWS (VMC) 上の仮想マシンからAmazon FSx for NetApp ONTAP へのアクセスは、これまで iSCSI 以外は VTGW 経由でのアクセスが必要でしたが、[シングル AZ 配置タイプのサービス提供開始](https://aws.amazon.com/jp/blogs/news/amazon-fsx-for-netapp-ontap-update-new-single-az-deployment-type/)に伴い、 Elastic Network Interface (ENI) 経由でアクセスできるようになりました!
実際に VM から ENI 経由で FSx for NetApp ONTAP のファイルシステムのマウントを試してみました。

# 目次

1. [Amazon FSx for NetApp ONTAPとは](#amazon-fsx-for-netapp-ontapとは)
1. [シングルAZ配置タイプ](#シングルa

元記事を表示

fastpagesとGithub Pages使ってAWS環境定義書作ってみた

# なんでやったの❓
?この方のQiita記事に触発されて、これがやれるなら・・・・・
– [fastpagesを使ってJupyter Notebookを簡単にブログに変換する – Qiita](https://qiita.com/__yuki__/items/6841bba8272411c633fb)

?これもやれるのでは❓と思ったからです :thinking:
– [Jupyter Notebookと Boto3で AWS環境定義書を作成してみる | DevelopersIO](https://dev.classmethod.jp/articles/awsspec-by-jupyter/#toc-10)

## ちょっとハマったところ
### Jupyter Notebookで色々やれるって言ってもAWSのクレデンシャルはコードに書けないなー :sweat: :sweat:
– 環境変数とかから読み込んで実行できる状態をDocker :dolphin: コンテナ上で作った
– boto3 さんの認証情報の読み込み順とかよくわからなかったので、下記が大変参考になりました :b

元記事を表示

【個人開発】Twitterで話題の商品が知れるものを作りました【TwitterAPI * SSG】

# 結論
– SSG(Static Site Generator)を触ってみたかった
– Next.js * Twitter API * Amazon Comprehend で https://www.chooseme.click/ を作成した

# なにを作ったか
– Twitterで誰かが話題にしているAmazonの商品が知れるアプリケーション

https://www.chooseme.click/

![application.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463909/30725530-893f-9853-747c-cea1281fbcd2.png)

– 本当に良い商品だけを知れるように以下の工夫を行っています
– アフィリエイト目的のツイートは除外
– ツイート本文に感情分析を実施

# なぜ作ったか
– SSG(Static Site Generator)を触りたい
– CSR、SSRは利用したことがあったが、SSGは利用したことがなかった
– マネタイズした

元記事を表示

TypeError: Cannot read properties of undefined (reading ‘byteLength’) AWS SDK for JavaScript v3で少しハマった話

## はじめに
ローカルではAWS CLIのconfig設定([設定の基本](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-quickstart.html)を参照)をしていたので問題にならなかったが、CIでテスト実行しようとした時に、SDKのクライアントのコンストラクタでクレデンシャルを設定しようとしてハマったので、気を付けたいポイントについて備忘録を残す。

※以下ではCI上でSDKのクライアントのインスタンスをmock化しないで利用しているが、CI環境でテストするのにそもそもSDKをそのまま動かしているのはおかしいのでは…?という突っ込みが当然あると思う。結合でテストしたい場面ではないのであれば、単体テストとして実装するので本来はmockにすべきだが、今回は敢えてmockにしないとどういう事が起きるのか?mockにしないでテスト=単体テストではなく結合テストをCI環境で簡単に実行できるのか?を検証してみたかったので、モックではなく、SDKをそのまま使うという事をした。

## 結論 どうすれ

元記事を表示

【AWS】AWSCLIの「filter」と「query」の使い方について(備忘録)

# はじめに
AWSCLIの確認コマンドでよく用いられる`filter`と`query`の使い方について備忘録を書きたいと思います。

:::note warn
全てのパターンは網羅できておりませんので、ご了承下さい。
:::

# 前提
今回はサブネット一覧を確認するコマンド`aws ec2 describe-subnets`の使用を通して、`filter`と`query`の使い方をご紹介していければと思います。

# filterとは?
filterとは、**出力結果の絞り込み**で使用するオプションになります。

## filterの使用例

### 1つの項目から出力結果を絞る
複数あるサブネットからサブネットID「subnet-0e4fe7412ac22561f」に該当するサブネットのみに出力結果を絞ります。

“`zsh:コマンド
aws ec2 describe-subnets \
–filter “Name=subnet-id,Values=subnet-0e4fe7412ac22561f”
“`

フィルターする内容は、以下になります。

| Name |

元記事を表示

【Terraform/AWS】 インストールからEC2作成まで

# はじめに
Terraformをインストールして、AWSでEC2インスタンスを作成できることを確認します。

# 実行環境
* Windows 10 21H2
* Terraform 1.1.9

# インストール
## ダウンロード
以下サイトよりダウンロードします。
Windwosだと386とAmd64の選択肢がありますが、
スタートメニュー>設定>システム>詳細情報からシステムの種類が
**64 ビット オペレーティング システムだとAmd64**を
**32 ビット オペレーティング システムだと386**を選択します。

https://www.terraform.io/downloads

## パスを通す
ダウンロードしたファイルを解凍します。
自分の場合、解凍したファイルをCドライブ直下に作成したterraformフォルダに移動しました。
![スクリーンショット 2022-05-17 223228.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530861/abe700bc-2d4c

元記事を表示

Raspberry PiにGoofys載せてSMB喋るオブジェクトストレージ直結NASにしてみた

# 内容
β版ながら、データアウト無料のCloudflare R2をRaspberry Piに中継させてNAS代わりにできんか? という実験。
紆余曲折を経たが一応形になったものを紹介。
注意: 速度・安定性などに過度な期待を持ってはいけない。

# 環境
Rapsberry Pi 3 A+
Raspberry pi OS 64bit
AWS環境 (armアーキテクチャのEC2を利用)

# goofysのコンパイル

goofysはLinux用バイナリも提供されているのだが残念ながらx86用のみ。
RaspberryPiに使うためにarm用の実行ファイルをソースからbuildする必要がある。

このコンパイルはそれなりのCPUとメモリを要するためRaspberry Pi3では荷が重かった。そこで今回はAWSのARMアーキテクチャ EC2インスタンスを利用した。
(Raspberry Pi4であれば問題ないかもしれないが、残念ながら手元にない)

## AWSインスタンスの起動

本筋ではないので多くは触れない。
今回はDebian 10の64bit ARMアーキテクチャをOSとし、イ

元記事を表示

AWSのエラーについて(解約後ルートユーザーにログインできない)

## 概要
以前awsを使っていて久しぶりにログインしようとしたところ以下のようなエラーが出た。

![スクリーンショット 2022-05-15 11.33.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/633008/055871c1-3d16-ea22-630c-c2c0fc5c1103.png)

もしかしたらアカウントを消してしまったのかと思って、新規作成しようとしたところ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/633008/d77fe7fd-6f07-8407-c32e-71e6f555502e.png)

## どうゆうこと!?
AWSのサポートに問い合わせしてみた結果以下のような返信がきた
“`
I understand you don’t have access to the email address on the account. For security and pri

元記事を表示

Amazon EventBridge の 使い方

Cloudwatch alertを使って、[EC2のオートリカバリ](https://qiita.com/kazwata/items/feea966dbb4b76eedc37)や、SNS -> lambdaを介してSlack通知など、便利に使っていたのですが、連携できるサービスが限られているため、EventBridgeを使ってみます。

# EventBridgeとは
EventBridgeは、AWS外のSaaSやAWSサービスで発生した様々なEventを受け取って、LambdaやStep Functions などの指定したターゲットにEventを連携することができるサーバレスのマネージドサービスです。EventBridgeという名称そのままな感じですが、Eventソースとターゲットの自由度がかなり高いので、アイデア次第で色々できそうな感があります。

# EventBridgeの設定方法
「Cloudwatch alertのイベントを受け取って、lambdaに連携する」というEventBridgeを作成してみます。まずは、Amazon EventBridge > ルール > ルールを

元記事を表示

CognitoユーザープールはMFAを無効にしていても、MFA出来ます。(特にEメールによるOTP)

# スマートにサインインサインアップ機能を実装したく、Cognitoのユーザープールを作成していた時のこと。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1699525/b57de284-6f4c-702d-8c1c-d5f8aa835170.png)
「ん?多要素認証ってことはメールで認証コードを送るあれ(OTP)ができるってことかな?」
「でも選択肢にはTOTPとかいうのとSMSメッセージの認証しかねえぞ・・・?」
「でもOTPもMFAの一種だし、ここでMFAなしに設定したらOTPできなくなるのか・・・???」

とここではまってしまいドキュメントをひっかきまわす。

# 結論:メール認証(OTP)やりたいならMFAなしで大丈夫

色々調べた結果、OTPとMFAの設定は無関係で、何にもしなくてもサインアップの際にEmailに認証コードを送ってくれる。
まずCognitoのAPIにある`SignUp`をLambdaで実装。TEST機能で自分のメアドでサインアップすると、、、
![im

元記事を表示

Golangでform dataから受け取った画像をS3にアップロード

# はじめに
GolangでAPIサーバーを構築しており、APIで受け取った画像データをS3にアップロードする処理を実装したので、方法を共有しようと思います。初心者Golangerなので受け取った画像をリサイズなどせずにそのままアップロードする方法しかわからなかったので、その点は悪しからず。むしろ方法をご教示いただきたい所存。。。S3以外の処理は省略します。

# 完成コード
“`golang:s3Handler.go
func (app *Application) imageUpload(w http.ResponseWriter, r *http.Request) {
err := godotenv.Load(fmt.Sprintf(“./%s.env”, os.Getenv(“GO_ENV”)))
if err != nil {
log.Fatalln(err)
}
ak := os.Getenv(“AWS_ACCESS_KEY”) // .envのAWS_ACCESS_KEY
ask := os.Getenv(“AWS_SECRET_ACCESS

元記事を表示

ConoHaでEC-CUBEインストールしたらSSLしなかった件

# 動作環境
レンタルサーバーConoHa
EC-CUBE 4.1.0

# 不具合
![スクリーンショット 2022-05-17 23.43.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1653133/4e99fbdb-8bb1-df8f-6661-b4a21dcbc57c.png)
色々操作ができない

# 原因
SSL通信できていないことらしい

# SSLを強制に✔︎できない
![スクリーンショット 2022-05-17 23.48.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1653133/5897f390-b331-7006-4242-c8fa5c1eda5c.png)

# ロードバランサーが関係しているらしい
`AWS`
`ConoHa`
などで発生している模様

# 解決
`.htaccess`に以下を追記

RewriteRule ^(.*) – [E=HTTPS:on]

元記事を表示

OTHERカテゴリの最新記事