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

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

AWSアカウントにつけられるエイリアス(別名)の命名規則

AWSのマネジメントコンソールにサインインするときに入力する「12桁の数字」ことAWSアカウントID、これには「[自社名 (または他のわかりやすい識別子)](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/console_account-alias.html#AboutAccountAlias)」をエイリアス(別名)として設定することができます。設定は[マネジメントコンソール](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/console_account-alias.html#CreateAlias_Console)からでも[AWS CLI](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/console_account-alias.html#CreateAlias_API)からでも可能です。

ただし完全に任意のエイリアスを付けられるわけではありません。マネジメントコンソールでの表示からすると、以下

元記事を表示

AWS DynamoDBにCSVファイルをインポートする方法

# DynamoDBへのCSVファイルインポートはコンソールからは出来ないので、DQLを使った簡単な方法を明記します。

環境

Mac OSX

“`
$ pip –version
pip 20.1.1 from /usr/local/var/pyenv/versions/3.7.7/lib/python3.7/site- packages/pip
(python 3.7)
$ python –version
3.7.7
“`

まずPC内に以下のコマンド仮想環境を作ります。

“`
$ python -m venv venv
“`

次に、その仮想環境に入ります。( ドット[ . ]のあとは半角スペース区切ってください。

“`
$ . venv/bin/activate
“`

次にDQLをインストールします。

“`
$ pip3 install dql
“`

環境変数を設定
以下のコマンドで AWS 認証情報のプロファイル (saml) とリージョン (東京) を環境変数に設定できます:

“`
export AWS_PROFILE=saml
ex

元記事を表示

AWS触ったことがなかった新卒のワイがSAA-C02に合格するまでの道のり

# 概要
さんざんいろんな人が書いてるけど・・・

2020/10/11、SAA-C02版のAWS認定ソリューションアーキテクトアソシエイトに合格したので、どういう勉強をしたのか、どういう問題が出たのかお伝えしていきたいと思います。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379397/b5848dac-0f14-25a2-3ec5-360153d0a3cf.png)

結果は769点でした。
8割くらいはいってるかなと思いましたが、そう甘くなかったですね。
でも、一発で合格できたので良かったです。

### 受けるきっかけ
私は20年卒の新入社員で都内の某IT企業で働いております。
私の会社では、数年前から自社のシステムをAWSに移行するプロジェクトが開始しており、社内でもAWS勉強会や資格試験に挑戦する流れが活発になってます。

会社に入る前の学生のときは、勉強したいとは思っていたものの、知らぬ間に数千円も課金されていたらヤダな・・・と思いAWSに触れたことはありませんでした。

元記事を表示

【AWS初学者用】IAMとは?

# 本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## IAMサービスとは
IAM(Identity and Access Management)サービスとはAWSを利用するユーザーのアクセスを安全に制御するサービス。正しいユーザーがアクセスし、ユーザーが持ってるアクセス権のサービスのみ操作できる仕組みです。

初めてAWSを利用する際にユーザーはメールアドレスやクレジットカード情報などを登録することで**AWSアカウント**を取得できます。そして取得したAWSアカウントの情報で**AWSマネジメントコンソール**にログインできます。このAWSマネジメントコンソールにログインしたユーザーを**ルートユーザー**と呼び、AWSアカウントの全ての管理権限を持っています。
ルートユーザーは全ての管理権限を持っているので「アカウント情報の漏洩」や「誤操作」などが起きるとアカウントを乗っ取られてしまったりして大変危険です。なので通常AWSのサー

元記事を表示

AWS 自然言語処理 ~ demo

|利用するサービス|説明|
|—|—|
|Amazon Translate|機械翻訳|
|Amazon Polly|テキスト読み上げサービス|
|Amazon Transcribe|音声をテキストに変換する|
|Amazon Comprehend|文書解析サービス|

#1.IAM ロールの設定#

Lambda 関数が他のサービスの実行に必要となる権限を作成する。
アタッチするポリシーは次の4つ。

– TranslateFullAccess
– AmazonPollyFullAccess
– AmazonTranscribeFullAccess
– ComprehendFullAccess

#2.Amazon Translate#

Amazon Translateは世界中の言語のユーザー向けにウェブサイトやアプリケーションなどのコンテンツをローカライズし、大量のテキストを効率的に簡単に翻訳できます。

lambdaからTranslateを呼び出して、英語’en’を日本語’ja’に機械翻訳していきます。

python3.8、IAMロールで作成した【1.IAM ロール

元記事を表示

AWSアカウントを作成したらやっておくことメモ

## 概要

AWSアカウントを作成したら必須でやっておかないといけないことをまとめます
他にもあったら教えて下さい:bow:

## rootアカウントでやること

– MFAを有効化
– GoogleのAuthenticatorアプリを利用する方法にしました
– QRコードで読み込んだが、どこかに情報を保存しておいたほうがいいかも
– IAMからadminユーザーを作成
– PolicyはAdministratorAccess等

## adminユーザーでやること

– CloudTrailで証跡を作成
– CloudWatchで請求アラームの作成

元記事を表示

【AWS】マネコンの新しいEC2管理画面ではCloudWatchアラーム設定出来ない

# ことわり
これは2020年10月時点でのAWSマネジメントコンソールの操作画面に関する話であり、
将来的に改変されている可能性があります。

# EC2 > ターゲットグループ > モニタリング

ALBからのヘルスチェックでインスタンスの死活監視をCloudWatchアラームで行うのは定番方法であるが、
マネジメントコンソールのEC2のページで、ターゲットグループからモニタリングタグを選択すると、
旧管理画面ではCloudWatch アラームの作成・設定が行えるが、
新しい管理画面では行えなくなっている。

◼︎旧管理画面
![スクリーンショット 2020-10-12 17.51.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251648/8c7f7285-25d6-5eb6-2822-3a6fb5b4c566.png)

◼︎新管理画面(CloudWatchアラームに関するリンクが存在しない)
![スクリーンショット 2020-10-12 17.55.10.png](https:/

元記事を表示

ChaliceでLINE chatbotを実装するまで

#前提
なんでもいいからAWS上に乗せて動かしてみたかった。
LINE chatbotをHeroku上にデプロイしたことはあったので、
とりあえずこれを乗せてみることにしました。

#Chaliceとは
>Chalice は、 Amazon API Gateway と AWS Lambda for Python による API 環境を実現してくれる、 AWS 製のアプリケーションフレームワークです。(AWS公式より)

コマンドラインでアプリケーションの構築やデプロイができるほか、
Lambdaに付与するIAMロールのポリシーを自動で付与してくれたり、
APIを自動で払い出してくれたりと、かなり便利でした。

#Chalice導入まで
前準備
・AWSアカウントの取得
・AWS CLIのインストール
AWS CLIを始めてインストールする場合は、インストール後に

“`
aws configure
“`

コマンドをたたいて、アカウントのアクセスキーやシークレットアクセスキー、
リージョンや出力形式を登録しておきましょう。
認証情報はホームディレクトリ配下の.awsフォルダに格納さ

元記事を表示

AWS Glueの概要ついてまとめ

#はじめに
DWHとかデータレイクとか扱うお仕事でGlueを使うことになったので勉強もかねてまとめ。
※実装とかには触れないので、概念とかこんなもんか~を知りたい方向けです

##Glueとは
>データの分類、クリーニング、加工を優れたコスト効果で容易に行い、さまざまなデータストア間およびデータストリーム間でデータを確実に移動するための、完全マネージド型ETL (Extract/Transform/Load、抽出/変換/ロード) サービス
※参照:https://docs.aws.amazon.com/ja_jp/glue/latest/dg/what-is-glue.html

例えば、IFされるJSONデータをDBに入れたいんだけど、そのままの形式ではDBに入れられないからDBに入れるように加工してあげてロードまでやっちゃおうね、というイメージ。(ETL読んで字の如くではあるが)
S3、DynamoDB、Redshift、RDS等と連携可能で、用途としては、データウェアハウス・データレイク構築に向いている。
##稼働イメージ
![image.png](https://qiita-i

元記事を表示

AWS CloudWatchEventsの時間指定をCDKでラクにする。

いっっっっつも失敗するのでJSTで指定してCDKでUTCに変換することにした。

# CDKでCloudWatchEventsを定義する

取り敢えずCloudWatchEventsの定義のとこだけ。
これをよしなにStepFunctionsとかと組み合わせるなり何なりする。

“`Python
# バッチスケジュールをJSTで定義する(cron式で * にする所は空でよい)
props[‘schedule’] = {
‘minute’: 40,
‘hour’: 9,
‘week_day’: ‘MON-FRI’
}

# JSTをUTCに変換する
if props[‘schedule’].get(‘hour’) is not None:
props[‘schedule’][‘hour’] = props[‘schedule’][‘hour’] – 9
if props[‘schedule’][‘hour’] < 0: props['schedule']['hour'] += 24 if props['schedu

元記事を表示

EC2のキーペアを紛失した時の簡単な対処法

EC2のキーペアを無くしてしまった時、既存のインスタンスに別のキーペアを登録できます。
新しいインスタンスを作成する必要はありません。

例としてlinux/MacOSの場合の手順を示します。

## 新しいキーペアを作成する

新しいキーペアの作成は必須ではありません。
既存の別のキーペアを使用する場合はスキップしてください。

* AWSマネジメントコンソールにアクセス
* EC2 > ネットワーク&セキュリティ > キーペア へ移動
* 「キーペアを作成」をクリック
![スクリーンショット 2020-10-12 15.38.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252165/57dbd778-36a7-e37f-5e5c-a14dd9585681.png)
* キーペア名を入力して「キーペアを作成」をクリック
![スクリーンショット 2020-10-12 15.38.26.png](https://qiita-image-store.s3.ap-northeast-1.amazona

元記事を表示

AWS CDKで暗黙の依存関係が削除できないとき

# CDKでクロススタック参照するリソースを作成したとき

CDKで複数スタックを定義して、スタック間でリソースを共有したいケースはよくあると思います。
スタックAで定義したLambda関数をスタックBでも使いたい、とかそういう感じのやつです。

基本的にCDKは頭がいいので、渡したいリソースを適当に変数にでも入れて別のスタックに引き渡してやれば、明示的にアウトプットを定義してやらなくても勝手に依存関係を理解していい感じにしてくれますよね。

しかし、いざクロススタック参照していたリソースを削除しようとすると、CloudForamtionがこんな感じにエラーを出してきます。

“`
Export StackA:ExportsOutputFnGetAttLambdaFnstacka07BAF5DArn93F62DF0 cannot be deleted as it is in use by StackB
“`

# どうしてですか?

CDKは賢いので、StackAで作成したLambdaがStackBで使われなくなった事に気付いてアウトプットを削除します。
そして`cdk deplo

元記事を表示

Amazon Elastic Transcoder概要とLambdaからのJob実行

# Amazon Elastic Transcoder

映像・音声をユーザーが再生可能なフォーマットに変換するクラウドサービス

# 用語

– Pipeline
動画を通してトランスコードを行うパイプライン
Pipeline ID が割り当てられ、Lambda 等から使用する際に指定
以下主な設定項目
– 変換元/先の S3 バケット
– 変換完了 SNS 通知

– Job
Pipeline 内で実行するトランスコード処理
Lambda 連携する場合は Lambda から生成、実行する
以下主な設定項目
– 変換元/先ファイル名
– Preset
– サムネイル生成等のオプション

– Preset
トランスコード内容をまとめた設定
Job にてトランスコード内容として指定
AWS で用意されているものかカスタムで生成したものを使用
Preset ID が割り当てられ、Lambda 等から使用する際に指定
Preset一覧:https://docs.aws.amazon.com/ja_jp/elastictransc

元記事を表示

Lambda_備忘録

備忘録用

(notice_unhealthy_to_slack)

“`
import boto3
import json
import logging
import os

from base64 import b64decode
from urllib.request import Request, urlopen
from urllib.error import URLError, HTTPError

# The Slack channel to send a message to stored in the slackChannel environment variable
SLACK_CHANNEL = os.environ[‘slackChannel’]
HOOK_URL = os.environ[‘hook_URL’]

logger = logging.getLogger()
logger.setLevel(logging.INFO)

def handler(event, context):
logger.info(“Event: ” + str

元記事を表示

AWSデプロイ後、画像が表記されない問題について

### 本番環境にアクセスしたらCSSがかかっていない。。。そんな時に解消した自分の解決法を備忘録に残します。画像の場所はapp/assets/imagesです

### 解決策1 CSSファイルの拡張子の後ろに.SCSSを付け足す
しかしこれでも解決しませんでした。人によってはこれだけいけたという人も聞きます。

### 解決策2 CSS.SCSSの表記を見直す
僕の場合、表記が
“`background-image: url(/assets/画像名);
“`
だったのを
“`background-image: image-url(“画像名”);
“`
に変更後

“`
$ git pull origin master
“`
で反映させる。しかしこれでも適用されず

### 解決策3 コンパイルし直す
https://qiita.com/yoheism42/items/dcf71691ca3e8dfc26c5
ここの記事を参考に

“`
$ find app/assets/ -type f -exec touch {} \;
$ rake assets:clobber

元記事を表示

TableauのMongoDB BI コネクタを使ってドキュメント指向DBがどのように見えるか試してみる

# はじめに

ドキュメント指向データベースをBIツールで分析する場合、どのようなテーブルになるのか確認してみます。

BIツールはTableauを使い、ドキュメント指向データベースはMongoDB Atlasを使ってみます。
MongoDB Atlasを選定した理由は、Tableauで接続できる「BI Connector」が手軽に使えるからです。

なお私はMongoDBもTableauも全くの素人です。
用語の使い方に間違いがあるかもしれません。(ご指摘いただけると嬉しいです)

## 環境
以下のような構成図になっています。
主目的はBI Connectorの利用なのでMongoDBに接続していますが、ついでに以下もためしました。

* [MongoDB Atlas]と[AWS]とのVPCピアリング
* [Tableau]から[Amazon DocumentDB]への接続

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538058/216cea5f-de4e-e7ce-9115-

元記事を表示

【AWS初学者用】AWS グローバルインフラインストラクチャとは?

#本記事について
本記事はAWS初学者が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
私自身もAWS初学者なので、もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## AWS グローバルインフラインストラクチャとは?
まずはじめにAWS公式サイトの説明を載せておきます。

> AWS グローバルクラウドインフラストラクチャは、安全性、広範性、信頼性に最も優れたクラウドプラットフォームであり、世界中のデータセンターから 175 以上の完全な機能を提供しています。一度のクリックで世界中にアプリケーションワークロードをデプロイする必要がある、あるいは 1 桁台のミリ秒のレイテンシーでエンドユーザーにさらに近い特定のアプリケーションを構築しデプロイしたいなど、どんな場合においても AWS は必要なときに必要な場所で、クラウドインフラストラクチャを提供します。
世界中に何百万ものアクティブなお客様と数万のパートナーを有し、AWS は最も動的で最大規模のエコシステムを備えています。スタートアップ企業、エンタープライズ、公共部門の組織な

元記事を表示

実践編!Amazon S3/Google Cloud Storage エンタープライズデータ保護のテクニック 前編

##はじめに
パブリッククラウドで様々なパイプライン処理に使われるクラウドストレージですが、昨今、データレイクや永続データの格納先としての利用も増えています。一方、クラウド環境のオブジェクトストレージは強固な耐久性と可用性で知られています。

##データ保護が必要な理由
まずはこちらの動画をご覧ください!
[![クラウドでデータを損失したら](http://img.youtube.com/vi/lmt9E0neWq4/0.jpg)](http://www.youtube.com/watch?v=lmt9E0neWq4)

AWSでもGCPでもそのサービスに対して”責任共有モデル”という概念が適用されています。
例)AWS の共有責任モデル
https://aws.amazon.com/jp/compliance/shared-responsibility-model/
こちらのURLにあるように**お客様のデータ、データの整合性、設定内容、暗号化、トラフィックの保護については全てお客様で責任を持つように定義されています。**例えばAWSが担保するのはAWSのインフラストラクチャであって

元記事を表示

Slackに共有されたファイルをサーバーレスでGoogle Driveにアップロードする仕組みを作るまで

# はじめに
社内の要望を受け、Slackに共有されたファイルをGoogleドライブに簡単にアップロードできるSlackアプリを完全サーバーレスで開発した話です。
「要件を整頓する」「アーキテクチャを考える」「Lambdaを利用して開発する」など…
全てが初めてでしたので、どうか温かい目で読んでいただければと思います。

#作ったもの
### **格納くん**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322392/65b4ac83-09ed-e4d2-3a0b-ac2351ef5e2a.png)
(弊社の画伯にアイコンを作成いただきました!)
格納くんは社内の資料管理用に作られたSlackアプリによるツールです。

## 使い方
– ファイルが添付されたメッセージのメニューから起動します。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322392/0b27c75e-8bcf-7fd5-1

元記事を表示

AWS マーケットプレイスによる Veritas NetBackup のデプロイメント 中編

##はじめに
[前回は](https://qiita.com/vxse_japan/items/b81b04a4bec493ddc900)クラウドでデータ保護が必要な理由と実際にマーケットプレイスからCF(Cloud Formation)を起動するところまでをやりました。今回は動作のための準備とパラメーターの指定、構成までを一気にやります!

##事前の準備
レジストレーションキーの登録に8.1.2ではS3バケットが必須です。一旦テンポラリのレジストレーションキーでもいいので VEMS(Veritas Entitlement Management System) からテンポラリのレジストレーションキーを取得し、準備しておきましょう。したがって以下のものが必要になります。

– [ ] キーペア
– [ ] S3バケット
– [ ] レジストレーションキー(テンポラリ可)
– [ ] ソフトウェアの評価キーまたはライセンスキー

VPCをはじめとする各種リソースはパラメーターを割り当てる際の選択で作るかどうか、既存のものを利用するかどうかが決まります。

##キーペアの作成
キー

元記事を表示

OTHERカテゴリの最新記事