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

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

ECS Exec(aws ecs execute-command)のログインを便利にするBashスクリプト

# ソース

Bashスクリプト([gist](https://gist.github.com/yuki777/640cba3e0a68587c36165b8a87d25390))

“`bash
#!/bin/bash
set -eu

# Prerequisite
# – aws cli
# – session-manager-plugin
# – jq

selectProfile(){
select selected in `aws configure list-profiles`
do
break
done
echo $selected
}

selectCluster(){
select selected in `aws ecs list-clusters –profile $profile|jq -r “.clusterArns[]”|sort|cut -d “/” -f 2`
do
break
done
echo $selected
}

select

元記事を表示

【AWS】Certbotでhttps化後、504 Gateway Timeoutになってしまうバグの解消

#対象者

* Certbotを使用してhttps化した方
* https接続した際に504 Gateway Timeoutと表示される方

#目的

* 504 Gateway Timeoutのバグを修正してブラウザにアクセスする

#前提

下記の記事をもとにしています。

https://qiita.com/nao0725/items/eaa15aff215aa3265c63

#実際の手順と実例
###1.結論

**キャッシュが溜まっていたせいでhttps接続できていなかった。**

というめちゃくちゃ単純なバグだったのですが、
結構ハマったので記事にしてみました。

###2.原因

ページが表示されず、しばらくするとブラウザに504 Gateway Timeoutと表示されてしまう。

そもそも、504 Gateway Timeoutとは下記の通りです。
> HyperText Transfer Protocol (HTTP) 504 Gateway Timeout サーバーエラーレスポンスコードは、サーバーがゲートウェイまたはプロキシとして機能しているときに、リクエス

元記事を表示

【CloudFormation】Multi-AZのネットワークを作ってみる

今回はプライベートサブネットとパブリックサブネットを複数のAZに配置する、よくある構成のネットワークをCloudFormationで作成していきます。

![スクリーンショット 2021-09-17 001645.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/92383/79500745-c28f-0da1-f3b1-318189f10303.png)

# ■ テンプレート

“`sample-network-multi-az.yml
AWSTemplateFormatVersion: ‘2010-09-09’

##
# パラメータ定義: https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html
##
Parameters:
CidrPrefix:
Type: String

Outputs:
VPCId:
Value: !Re

元記事を表示

Dockerの開発環境から踏み台サーバー経由でdbに接続 [ Rails ]

## 目的
開発マシン上のdockerで動作するrailsアプリケーションのdb接続を
踏み台サーバー経由でrdsに接続したい。

![スクリーンショット 2021-09-16 13.39.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/664524/7e161536-c88b-ddea-3bdc-cf7143806244.png)

## 方法
### 前提
◦踏み台サーバー
・エンドポイント ip: 12.12.12.12
・pemファイル /Users/hoge/.ssh/hoge.pem
・接続ユーザー root
◦dbサーバー
・エンドポイント private domain: hogehoge.internal (踏み台から見て)
・postgreSQL(portは、5432)

① macターミナルから以下コマンドを実行、SSHポートフォーワーディングを行う。

“`shell
ssh -N -L 5434:hogehoge.internal:5432 -i

元記事を表示

[AWS基礎③] IAM・CloudTrailでアクセス管理(セキュリティ対策)

初めに

AWSの基礎について学習しています。
今回、AWSのサービスの1つであるIAMとCloudTrailについて学習したのでまとめていきます。
読みとして、「アイアム」と「クラウドトレイル」です。
どちらもAWSのセキュリティ対策の一種です。

:fist:通常の作業はIAMユーザーで行った方が良い

スクリーンショット 2021-09-16 22.19.02.png

AWSアカウントを作成するとルートユーザーが作成されますが、
ルートユーザーは色々なことができてしまう(完全なアクセス権を持つ)ため、
通常の作業はIAMユーザーで行うのがベストだそうです。

AWSユーザーと、グループを作成管理でき、
グループごとに操作権限の付与が可能なので、
複数人で作業をする場合には

元記事を表示

【AWS認定試験】ソリューションアーキテクト(SAA)に合格しました

# はじめに
はじめまして、[@cks7_](https://twitter.com/cks7_)です。
サーバーサイドエンジニア(SE)として都内の某WEB系企業で働いています。

先日、念願のSAA合格を果たしたので、SAA受験を考えている方などに少しでも参考になったらいいなという想いと、個人的な記録として、体験記を残そうと思います。

# 経験値・スキル

– 持っているIT系資格はITパスポートくらい
– 元々はインフラ分野に苦手意識
– 個人開発でEC2, S3の使用経験あり
– 業務でECS, ECR, Code系, API Gateway等の使用経験あり

SESとして働いていた頃に、常駐した先でAWSを使用した業務を任されたものの、当時はAWSの知見はほぼ無し。
業務のキャッチアップのために学び始めたのがAWSに興味を持ったきっかけです。

当時所属していた会社の社内AWS勉強会で『Fargateを用いたコンテナ管理とCodePipelineを用いたデプロイの自動化について』という題目でスピーカーとして登壇してみたりもしました。

# 勉強期間

2021年6月上旬 試

元記事を表示

PrimeHub Enterprise フリープランが登場 (1-click-install)

## はじめに

PrimeHubをすぐ使ってみたい方へ、新たに発表された**AWS CloudFormation**を使ったPrimeHubインストール方法が非常に簡単です。

>本文記載時点はPrimeHub Enterprise v3.8を参考にしています。

+ [Youtubeデモビデオ](https://www.youtube.com/watch?v=3EEE3GvjxXo)こちらへ
+ [PrimeHub Enterprise 簡単な紹介〜 (v3.8)](https://qiita.com/GabxInfuseAI/items/29132e25eddc622194b4)

### PrimeHub Enterpriseのフリープランは

+ フル機能と
+ 一つのグループを作成ができると
+ 一つのモデルデプロイを使える

![Screen Shot 2021-09-16 at 20.27.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1623438/4526c5b8-4b03-9

元記事を表示

DynamoDBに保存されているデータを一括でCSVに出力したい

## はじめに
DynamoDBでテーブルをまるっと取得するってなかなか難しくないですか?
作成された順にitem(RDBでいうレコードみたいなもの)を全件並べて解析したい!みたいなことも難しい?

一回のScanで取得できるデータが最大1MBという制約がなかなか厄介で、
DynamoDB コンソール上からは簡単に全件データのエクスポートができないようになっています。
ページごとの表示数をMAXの300件にしても、全件を取得するために「次のページを取得」を連打して、CSVをエクスポートする必要がありました。

[![Image from Gyazo](https://i.gyazo.com/d1edd941a58e412abdf4750f9793c2eb.png)](https://gyazo.com/d1edd941a58e412abdf4750f9793c2eb)

どうにか簡単にできる方法はないか色々調べてたところ、
以下の方法でコマンド一発でテーブルの内容をまるっとにCSVにエクスポートできるようになりました。

## 一括でCSVへ出力する方法

### 前提条件
* AWS

元記事を表示

AWS DataSync によるクロスアカウントでの S3 のデータ移行

# はじめに

クロスアカウントの S3 バケット間でデータを移行する場合いくつか選択肢がありますが、
最近 [AWS DataSync](https://aws.amazon.com/jp/datasync/) がクロスアカウントの移行に対応したようなので試しました。
比較的に容易に、かつ柔軟性のある設定でデータの移行ができました。

[公式ブログ](https://aws.amazon.com/jp/blogs/storage/how-to-use-aws-datasync-to-migrate-data-between-amazon-s3-buckets/)の内容に沿って行っていますが、[曖昧な箇所があり分かりづらい](https://stackoverflow.com/questions/68821694/aws-datasync-s3-s3-cross-account-confused-about-destination-role-account)ため日本語のドキュメントを残します。

# 送信先 S3 バケットの作成

移行対象の送信元 S3 バケットはすでにあるとして、送

元記事を表示

Amazon AuroraにPostgreSQLサンプルデータベースをリストアするまで

サクッとAmazon Aurora PostgreSQLを試そうと、サンプルデータを投入する際に
地味にハマったのでメモ

## 利用サンプルデータ
– PostgreSQL Tutorialのサンプルデータ
– 15個のテーブル、7つのViewなどいろいろ
– https://www.postgresqltutorial.com/postgresql-sample-database/

## 手順

– amazon linux2 EC2を作業環境で、Amazon Auroraに投入する
– 各リソース準備は省略

### [1] psqlセットアップ

“`
sudo yum install -y postgresql
“`

これだけだと、あとでリストア実行`pg_restore`の際に以下のエラーが出た

“`
pg_restore: [archiver] unsupported version (1.13) in file header
“`

バージョン違いのエラーとのことで、以下で解消。

“`
sudo amazon-linux-extras install

元記事を表示

【Cogntio】AdminGetUser APIはUsernameにEmailを指定しても取得できる!

## ■前提

– Amazon CognitoのUser Poolを使用
– ユーザーには`Email` + `Password`でサインアップ/サインインさせるように設定。
![スクリーンショット 2021-09-16 15.35.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/434874/3ccb5b57-852b-3670-5204-6d8ea08a1345.png)

## ■AdminGetUser APIについて
AdminGetUser APIは、管理者権限でCognito UserPoolから指定したユーザーの情報を取得するAPIです。
詳しくは公式ドキュメントを御覧ください。

https://docs.aws.amazon.com/ja_jp/cognito-user-identity-pools/latest/APIReference/API_AdminGetUser.html

>Request Syntax
{
“Username”: “string”,

元記事を表示

unicorn起動時の凡ミス(bundler: failed to load command: unicorn_rails)

#はじめに
AWSでポートフォリオをデプロイする事ができました。

デプロイするのに様々なエラーがあったので復習のために投稿します。

今回はunicorn起動時に起きたエラーです。

#bundler: failed to load command: unicorn_rails

“`:EC2内
[ec2-user@ip-10-0-0-53 <リポジトリ名>]$ bundle exec unicorn_rails -c /var/www/rails/アプリ名/config/unicorn.conf.rb -D -E production
“`

このようにEC2内で起動コマンドをしました。

“`:EC2内
bundler: failed to load command: unicorn_rails (/home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails)

rubygems_integration.rb:364:in `block in replace_bin_path’: can’t find executable u

元記事を表示

Amazon Managed Blockchain を終了(ネットワーク削除)する方法

#Amazon Managed Blockchain のネットワークを削除する方法

Amazon Managed Blockchainを利用してブロックチェーンの勉強をしていたけどネットワークが必要なくなった人向けの情報です。

Amazon Managed Blockchainはそもそもネットワークを所有(メンバーとして参加)しているだけで一時間$0.3かかるので、一か月で大体三万円ほどかかります(つらい)。書籍を使って勉強している場合は基本的に操作解説部分の終わりに削除方法が書いてあると思いますが、インターネットには単体の日本語解説がなくてめちゃくちゃ焦りました。

##結論

– ネットワークのメンバーを全員削除する

以上です。
『ネットワークの最後のメンバーが削除されると、ネットワークなどのすべての関連するBlockchainの情報が自動で削除されます』と公式英語ページにありました。

簡単なことなのによぉ、なんで英語の本家ドキュメントしかねぇんだ???
「 Amazon Managed Blockchain 終了」とかでググっても始め方のサイトしかヒットしないので新手の詐

元記事を表示

【Python】importが必要なPythonをAWS Lambda へ移行してみた Lambda編

#はじめに
昨日の記事からの続きとなります。

https://qiita.com/hirockio2206/items/9129b5d541452c958bf8

◆事前準備編◆
 1.macOSのデスクトップにtempフォルダを作る
 2.tempフォルダにccxtをpip3でインストールする
 3.既に作ったpythonプログラムを lambda_function.py へリネームしてtempフォルダに入れる
 4.lambda_function.py の先頭に指定プログラムを追記する
 5.ターミナルでzipでまとめる

◆Lambda編◆
 6.AWSへログインし、5をアップロードする

◆EventBridge編◆
 7.EventBridge (CloudWatch Events)に定期実行ルールを登録する

####今回は6の説明をします。(次回7を説明します)

#手順
####6.AWSへログインし、5をアップロードする

6-1.AWSのマネジメントコンソールヘログインします。
https://aws.amazon.com/jp/console/

元記事を表示

AWS EKS on Fargateでpodが使用しているvCPU, Memoryを表示するワンライナー

`AWS EKS on Fargete` では主にPodをホスティングしているFargateの`vCPU` `memory` に課金がされます。

各podが使用している`vCPU` `memory` は `kubectl describe pods` で取得できる、`Annotations: CapacityProvisioned` にて確認することができます

“`
$ kubectl describe pods
Name: hogehoge
Namespace: default
Priority: 2000001000
Priority Class Name: system-node-critical
Node: fargate-ip-xxxx.ap-northeast-1.compute.internal/xxxx
Start Time: Tue, 14 Sep 2021 13:00:51 +0900
Labels:

元記事を表示

Cloud9のデフォルトのインデント値設定方法

# はじめに
プログラミング初学者の[@kat_log](https://twitter.com/kat__log “Twitter”)と申します。
Cloud9のインデントのデフォルト値の変更方法の共有です。

# 設定
1. 設定の歯車マーク
1. Code Editer (Ace)
1. Soft tabsに任意の数値を設定

以上です!

![Screen Shot 2021-09-16 at 6.16.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1455073/9588dbb3-6cf5-0e8b-0cfa-8fdbf1dcb461.png)

# おわりに
お読みいただきありがとうございました!
(Qiita10周年おめでとうございます?)

元記事を表示

terraformで各リージョン毎に作成済みのvpcをworkspace管理に移行する

# terraform.tfstateの整合性

下記の記事では新規にvpcを展開する時の作成方法です。
今回は既に展開されている個別のterraformで作成されたマルチリージョンのvpcをworkspaceで一括管理しましょうといった流れです。

https://qiita.com/instant_baby/items/7552d9e69c8546d2f1fd

簡潔に言うとtfstateを一つにまとめたいって事です。
まずは現状確認。

“`
./
├── tokyo
│   ├── main.tf
│   ├── terraform.tfstate
│   ├── terraform.tfstate.backup
│   └── variable.tf
├── oregon
│   ├── main.tf
│   ├── terraform.tfstate
│   ├── terraform.tfstate.backup
│   └── variable.tf
└── virginia
├── main.tf
├── terraform.tfstate

元記事を表示

OCI Cloud Shell vs AWS CloudShell

__Introduction__

In my previous blog, I gave you a brief [Introduction of OCI Cloud Shell](https://qiita.com/liu-wei/items/9d92145c32ac87be51a0).

AWS released their own service, “AWS CloudShell” a little later, which provides similar function as OCI Cloud Shell. Now let’s take a look at the difference between OCI Cloud shell and AWS CloudShell. (There is no space in “CloudShell”.)

__OCI Cloud Shell__
![image.png](https://qiita-image-store.s3.a

元記事を表示

AWS SAMで意図しないAPIGatewayのステージ(名前:Stage)がデプロイされる不具合

AWS SAM を用いて API Gateway リソースを作成した際、
設定していない Stage という名称のステージが作成される現象が発生しました。

これはSAM CLIの不具合で以下のGitHub Issueに問題が上がっています。

SAM Creates stage named “Stage” by default? · Issue #191 · aws/serverless-application-model
https://github.com/aws/serverless-application-model/issues/191

■回避策
API Gateway REST API リソースの OpenApiVersion を ‘2.0’ と指定する。

“`yaml
Globals:
Api:
OpenApiVersion: ‘2.0’
“`

元記事を表示

yumコマンドが使えない

この記事を見る前に質問です。
次のコマンドを入力したときこのような結果は出ましたか?

“`ruby:コマンド
ping www.google.com
“`

“`ruby:結果
ping: www.google.com: Name or service not known
“`

→この結果が出た場合、名前解決ができていないのでこの記事は有用かもしれません
→このような結果が出てない場合、別の記事を探しましょう

#環境
Amazon Linux 2 AMI

#本記事で解決したい内容

以下のコマンドを入力したときに

“`ruby:コマンド
yum install httpd
“`
以下のエラー画面が出ないようにする

“`ruby:結果
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Could not retrieve mirrorlist https://amazonlinux-2-repos-ap-northeast-1.s3.ap-northeast-1.am

元記事を表示

OTHERカテゴリの最新記事