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

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

AWS RDSへのデータインポート

今回は、前回作成したAWS上のRDSにCSVデータのインポートを行った際の手順を以下に記載します。

## 前提
・前回作成したEC2インスタンスとRDSが起動されていること
・RDBにインポートしたいCSVファイルを作成されていること(**※文字コードはUTF8であること**)

## CSVファイルをEC2に転送
① 前回作成したEC2インスタンスのパブリックIPアドレスをコピーしておきます。
![EC2インスタンス](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/dadd6b6e-3783-af52-9b2c-beb977298b1b.png)
② 次に、rLoginで接続情報の設定を行い、EC2に接続します。(ここでは、rLoginを使用していますが、Tera Term等の他のターミナルソフトでも構いません。)
![rLoginサーバ設定](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/5323e84f-

元記事を表示

AWS EC2 AmazonLinux2 インスタンスの日時を日本に合わせる

# 目的

– AWS EC2 AmazonLinux2のインスタンスにて日時設定を日本に設定する方法をまとめる

# 実施環境

– ハードウェア環境(ssh接続元)

| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |

– EC2インスタンス環境(ssh接続先)

| 項目 | 情報 | 備考 |
| — | — | — |
| インスタンス種類 | AmazonLinux2 | こちらの方法で構築→[AWS EC2 をMacで使ってみよう!](https://qiita.com/miriwo/items/a1ab84c098008e43d0

元記事を表示

AWS LakeFormationの使い所とサービス設計を理解する

# なぜこの記事を書くのか
AWS re:Invent 2018 で歓声とともに発表されたAWS LakeFormationですが、約1年半経っても有効活用がされているという話をあまり聞きません。私は根本的にはLakeFormationの「サービス設計がよくない」ことが原因だと思いますが、そもそも情報が少なすぎることも要因の1つだと思います。(最近発売された書籍「[AWSではじめるデータレイク](https://www.amazon.co.jp/dp/491031301X)」もLakeFormationの説明は少ないです。)そのため、使い方・機能を、それぞれマクロ・ミクロの視点から少し整理してみようと思います。結果的にまとまりのよくない記事になってしまいましたが、利用判断の一助になれば幸いです。

– なお本記事では以下の機能については触れません。
– 他社データカタログ機能との比較
– Blueprints機能
– GlueやIAMの互換性まわり
– 運用設計

まずはマクロな視点から説明します。

# LakeFormationを利用したほうがいいケース
– 利

元記事を表示

AWSのARNからアカウントIDを抽出するワンライナー

## 概要
AWSのARNを基に正規表現を使用してアカウントIDを抽出します。
ググっても見つからない&なんだかんだ使う場面が多いのでメモ

## スクリプト
“`shell
echo | sed -e ‘s/^.*::\([0-9]*\).*$/\1/’
“`

## 実行結果
“`shell
$ echo “arn:aws:iam::123456789012:role/one-liner-role” | sed -e ‘s/^.*::\([0-9]*\).*$/\1/’
123456789012
“`

元記事を表示

AWSEC2でただrails sをするとこうなってしまう!解決策は・・・

“`ruby:ターミナル

[ec2-user@ip-172-31-38-149 fleamarket_sample_80d]$ rails s
Usage:
rails new APP_PATH [options]

Options:
[–skip-namespace], [–no-skip-namespace] # Skip namespace (affects only isolated applications)
-r, [–ruby=PATH] # Path to the Ruby binary of your choice
# Default: /home/ec2-user/.rbenv/versions/2.6.5/bin/ruby
-m, [–template=TEMPLATE]

元記事を表示

SageMakerでElastic Inferenceを使用してPytorchのモデルをホストする

# はじめに

記事「[Amazon Elastic Inference を使用して Amazon SageMaker で PyTorch モデルの ML 推論コストを削減する](https://aws.amazon.com/jp/blogs/news/reduce-ml-inference-costs-on-amazon-sagemaker-for-pytorch-models-using-amazon-elastic-inference/)」をもとにSageMakerでElastic Inferenceを使用してPytorchのモデルをホストしようとしたらハマったので、手順を解説します。

### Amazon Elastic Inferenceとは
GPUメモリが小さいGPUをEC2やECSタスクにアタッチすることで、機械学習の推論のホストを効率的にするサービスです。トレーニング時は必要だったメモリは、推論のホスト時はそこまで必要でないケースがほとんどです。GPUメモリは2GB, 4GB, 8GBと小さい代わりに、[コストを削減](https://aws.amazon.com/j

元記事を表示

AWS IoT で IoT基盤を構築 ~ストリーミングを追加する~

# はじめに
[AWS IoT で IoT基盤を構築 ~お試し編~](https://qiita.com/ground0state/items/69b168289f1c61e49326)ではIoT Coreから直接Dynamo DBにデータを流していたが、それだとアクセスが多い場合データがドロップするので、Kinesisを使用してバッファを持たせる。

# 参考
– 全体的な手順 https://www.slideshare.net/dcubeio/kinesis-firehose-80037243
– S3prefixの設定 https://dev.classmethod.jp/cloud/firehose-custom-s3-prefixes/
– データの配信頻度 https://docs.aws.amazon.com/ja_jp/firehose/latest/dev/basic-deliver.html
– ハンズオン道場 https://awsiot-handson-dojo-basic-ble.readthedocs.io/en/latest/05.html

# 手順

元記事を表示

SageMakerでモデルをデプロイしたら「java.lang.IllegalArgumentException: reasonPhrase contains one of the following prohibited characters: \r\n:」エラーが発生した

## 事象
SageMakerのノートブックインスタンス上にて、チュートリアルなどにある典型的なコードでモデルをデプロイしようとした。

“`python
pytorch = PyTorchModel(
model_data=model_data,
role=IAM_ROLE_ARN,
framework_version=’1.4.0′,
py_version=’py3′,
entry_point=entry_point,
sagemaker_session=sagemaker_session
)

predictor = pytorch.deploy(
initial_instance_count=1,
instance_type=’ml.c5.large’,
accelerator_type=None,
endpoint_name=endpoint_name,
wait=False
)
“`

デプロイ自体は成功し、エンドポイントのステータスは`InService`になった。

しかし、クラ

元記事を表示

AWS Lambdaのロガー設定

# はじめに
俺俺ロガーをつくりました。

## 参考
– [AWS Lambda Logs to One JSON Line](https://stackoverflow.com/questions/50233013/aws-lambda-logs-to-one-json-line)
– [Lambda + Python3.7のログをJSON形式で出力してみる(行ごとに分割されない形で)](https://dev.classmethod.jp/articles/lambda-python-log-output-json/#toc-5)
– [AWS Lambda/PythonでJSON形式でログを出すベストプラクティス](https://qiita.com/tonluqclml/items/780370a4575781eb19df)

## コード
ぶっちゃけ参考サイトのロガー設定を良いとこドリップしただけです。改良点は以下です。

– エラーレベルや、ロガーを仕込んだ関数、位置が分かるようにしている。
– `logger(‘parameter %s’, x)`のような形で、第一引

元記事を表示

Terraform 0.13へのアップグレード

# 概要

[Terraform 0.13がリリース](https://www.hashicorp.com/blog/announcing-hashicorp-terraform-0-13/) されたので、早速アップグレードしてみました。基本的な流れは [Terraform AWS Provider Version 3 Upgrade Guide](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/version-3-upgrade) に書いてあるので、その通り改修すれば良いのですが、いくつか躓きそうなポイントがあったのでリストアップします。

# 検証バージョン

TerraformではAWSやDatadogのリソースを管理しており、それぞれ次のバージョンを使いました。

* Terraform: `0.13.0`
* AWS provider: `2.3.0`
* Datadog provider: `2.12.1`
* GitHub provider: `2.9.2`

# 事前準備

元記事を表示

AWSを使ってアプリケーションを公開する手順(1)AWSアカウントの作成

#はじめに
AWSを使ってアプリケーションを公開する手順を記載していく。
この記事ではAWSアカウントの作成方法を記載する。

#AWSアカウントの作成

##AWSのサイトにアクセスする
[ここ](https://aws.amazon.com/jp/)からAWSのトップページにアクセスする。

##コンソールにサインインボタンをクリックする
AWSのトップページ画面右上の「コンソールにサインイン」をクリックする。
![AWSトップページスクショ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654714/4cc10deb-b3c5-fdcb-aaf1-fd70742f1f73.png)

##新しいAWSアカウントの作成ボタンをクリックする
画面左下の「新しいAWSアカウントの作成」をクリックする。
![AWSサインインページスクショ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654714/f8936e8

元記事を表示

AWS EC2環境のCentOS 7に何としてもVNCで接続したい。

# はじめに
とある製品をセットアップするにあたり、どうしてもGUI環境が必要でした。
VNCというワードも今回初めて知りました。
とても苦しみながらも何とか接続できたので、備忘録として手順を記します。

# 1.CentOSのインスタンスを作成
AWS EC2上にCentOS 7のインスタンスを立てセットアップしていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/443963/82fbb016-979e-3262-9db8-d4fc15e45c48.png)

# 2.セキュリティ周りを変更
今回は簡易手順とするので、SELinuxおよびfirewalldは停止してしまいます。
※必要な場合はVNCの接続に必要な穴あけ等をしてあげてください。

### SELinuxを無効化

“`console
# vi /etc/selinux/config

—disabledに変更
SELINUX=disabled

“`

### firewalldの無効化
※“`

元記事を表示

【AWS】単語を軽くまとめてみた。

# はじめに

テックキャンプ のカリキュラム内でAWSにデプロイする機会があったのですが言われるがままに写経して何とかデプロイしましたが実際のところ何も分かっていなくて苦手意識がありました。

**「EC2インスタンスってナニソレ?オイシイノ?」**
状態でした。その後はAWSを触れることなくスクールのカリキュラムを終えたわけですが

**このままじゃいかん!**と思いまして少しばかり勉強してみたものを自分用にまとめました。

| |  |
|———–|———–|
|AWS|Amazon社が提供するクラウドサービス。|
|インフラ|サーバーやネットワークのこと。|
|サーバー|クライアントに対してサービスを提供するコンピューター。|
|ネットワーク|複数のコンピューターをつないで、データを送受信できる様にするもの。|
|クラウド|インフラをネットワーク経由で使用、管理すること。|
|EC2インスタンス|EC2とはAWSクラウド上の仮想サーバー。インスタンスというのはEC2から立てたれたサーバーのこと。|
| IAMユーザー | AWSで作成するユーザ

元記事を表示

DSaaS検知テスト備忘録

##近況報告
 今日から実務の一端に触れることとなりました。???ってなりまくっていますが,数をこなして一つ一つできるようになっていきたいですね。

#本日のお題 DSaaSの検知テスト
[参考記事](https://www.sbcloud.co.jp/entry/2018/10/04/deepsecurity2/#test003)
[公式ヘルプデスク](https://help.deepsecurity.trendmicro.com/10/0/ja-jp/Welcome.html)

トレンドマイクロ社cloud oneのDeep Security(workload security)を利用していく際に,どのような時にアラートが出るかを知るため,実際に擬似ウィルスや設定をいじろうって感じです。

|No|機能|動作確認方法|
|–:|:-:|:-:|
|1|不正プログラム対策| 擬似ウィルスファイルDL|
|2|侵入防御|特定のシグネチャを含むURLへの接続を禁止|
|3|変更監視|テストファイルの変更を監視|
|4|セキュリティログ監視|SSHログイン成功のイベントを検知|
|

元記事を表示

DynamoDB@boto3のクエリの書き方メモ(GSIを使う場合)

DynamoDBのクエリの書き方@boto3メモ。忘れがちなあなたに。

## DynamoDBのテーブルの項目定義

パーティションキー:id
ソートキー    :sid
属性1      :data1

で、

GSIとして↓を設定済み。
パーティションキー:id
ソートキー    :data1
インデックス名  :id-data1-index

↑の状態でGSIのid-data1-indexを使ってqueryする

## コード

“`python
import boto3
client = boto3.client(‘dynamodb’)

paginator = client.get_paginator(‘query’)
operation_parameters = {
‘TableName’: ‘test-name’,
# キーとして、id と data1 を指定する
‘KeyConditionExpression’: ‘id = :id and begins_with(data1, :data1)’,
‘ExpressionAttributeValues’: {

元記事を表示

ECS FargateのログをSplunkに送る

# はじめに

先日、[ECS (EC2タイプ) のログをSplunkに送る記事](https://qiita.com/kikeyama/items/e92befb361565ff61b03) を書きました
今回はFargateにデプロイしたアプリケーションコンテナのログをSplunkに送る方法について書きます

EC2 ECSとはちょっと勝手が違うためハマった点や注意点について書いていきます

# 概要

FargateもEC2 ECSと同様にSplunkのLog Driverが利用可能ですが、再送処理だったり複数行のログの扱いだったりで、自分の思い通りにログをとれないことがあったので **FireLens** と **Fluentd** でログをSplunkに送ります

# 設定方法

以下の手順で設定します

## 1. SplunkでHTTP Event Collectorを有効化

設定方法は [ここらへんの記事](https://qiita.com/kikeyama/items/bb609cb90269019962cb#http-event-collector%E8%A8%

元記事を表示

(Capistrano)デプロイ後、本番環境でWe’re sorry…のエラーが出てしまう

ローカル環境で問題なく動いたアプリを自動デプロイした際に、本番環境でエラーが出てしまいビューが表示されない
となると何をして良いかわからず絶望的な気持ちになりますよね。。。
![スクリーンショット 2020-08-17 8.01.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603218/327fd7c0-b9e2-b83f-8605-395f7351f4b0.png)
そんな時に解決方法の一つとして是非お試しください。

#結論: drop,createは手動で、migrateは自動で
ec2にログインをし、手動でコマンドを打ちデータベースのdrop,createだけを行います。
その後、Capistranoの自動デプロイでmigrateをさせるという方法でページが表示できるようになりました。

#コマンド
ec2にログインをしたら、まずは以下のコードを実行し、本番環境上でのデータベースの削除、作成までを行いましよう。

“`
cd /var/www/<%アプリケーション名%>

cd cur

元記事を表示

Serverless Framework でエラーを検知して Webhook で Slack に通知を飛ばす方法

#はじめに

AppSync の Lambda リゾルバを書く際に [Serverless Framework](https://www.serverless.com/) を使用したのですが、
デプロイ後のバグ調査の際、毎回ブラウザから AWS Console を開いて該当 Lambda の CloudWatch のログを見に行くのが面倒でした。。 :upside_down:

そのため、エラーレポートの仕組みが欲しくなり、Lambda のエラーを Slack に通知する仕組みを Serverless Framework で実装する方法について調査したので、備忘録も兼ねて記事にまとめました :writing_hand:

追記 (2020/08/19)

ローカルから Lambda 関数のログを確認したいだけなら、Serverless Framework CLI の [logs コマンド](https://www.serverless.com/framework/docs/providers/aws/cli-refer

元記事を表示

AWSを使ったLINE BOTの開発(おまけで簡易CIも)

# はじめに

– LINE BOTを作成し、実行環境にHerokuを使って使用していた。
– 業務でAWSを使い始めたこともあり、実行環境をHerokuからAWSに移してみた。
– ここでは、備忘録も兼ねて、移行の際に行った一部手順についてまとめた。
– LINE BOTの作成方法や、AWSについては知っていることを前提とする。

# 構成図

– 今回のシステムの構成図は以下の通り。

![ORION.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264860/6694d1d1-e6f9-e33f-f95b-2dfcde977874.png)

– 以下の2箇所の構築方法について、次章以降でまとめていく。

![ORION3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264860/9a066905-0f6a-10d1-8158-f8d25188e07e.png)

# HTTPS化

– 構成図でいうとこの部分。

元記事を表示

EKSとRoute 53をExternalDNSで紐付ける

# はじめに
個人で作成しているサービスにて、ExternalDNSを使って、Route 53からEKSへアクセスできるようになりましたので、ここまでの知見を記事に残します。

このアクセスができる前までは、TerraformでAWSのサービスを構築し、マニフェストファイルにてPod、LoadBalancerの作成までできていました。
このときの構成図は以下のとおりです。
![WeatherReport_BeforeExternalDNS.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406773/f0f58c6e-627e-3b4e-b9c7-d191cb02241a.jpeg)

この構成では、EKSで作成したALBが公開したURLを直接指定することで、サービスにアクセスできます。ただしそのURLは、LoadBalancerで作成されるためランダムになってしまいます。
そのためRoute 53経由でEKSへアクセスできるようにしようと考えました。

# 前提
以下環境で開発、構築を行っています。

元記事を表示

OTHERカテゴリの最新記事