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

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

MySQLでパスワードなしでログイン

テストしたいだけなのに、MySQLでパスワードを求められたりして大変だったので、パスワードなしでログインできるようにするためのメモ。

環境
Amazon Web Service Lightsail
AmazonLinux2

インストールされていることを確認。
“`
mysql –version
“`

Macなどで、MySQLをインストールした場合は、よく`mysql.server start`コマンドで起動するようですが、私の環境ではmysqldをインストールしたので、systemdで起動します。

“`bash
$ sudo systemctl start mysqld.service
“`

起動確認

“`bash
$ sudo systemctl status mysqld.service

● mysqld.service – MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active:

元記事を表示

Terraform Cloud の Variables 設定 (認証情報)

## [AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables)

– `AWS_ACCESS_KEY_ID`
– `AWS_SECRET_ACCESS_KEY`

![AWS](https://github.com/s-myk/terraform_cloud_variables/raw/main/images/TerraformCloud_AwsVariables.png)

## [Azure](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/service_principal_client_secret#configuring-the-service-principal-in-terraform)

– `ARM_TENANT_ID`
– `ARM_SUBSCRIPTION_ID`
– `ARM_CLIENT_ID`
– `ARM_CLIENT_S

元記事を表示

Auto Scalingに触れてWebサーバのサステナビリティを考えてみた

#0.はじめに
##0.1.筆者について
元々ITエンジニアとしてキャリアを積んできましたが、ここ数年は構築やプログラミングをせず、現在はとあるBtoBtoCサイトのディレクションをしています。具体的には、ビジネスサイドと討議を重ね、要件をまとめ、何よりもビジネスをグロースするための開発施策を最優先に推進している立場です。

しかし、エンハンスを重ねるごとに、アーキテクチャが徐々に歪んでいくのを目の当たりにしており、それが僕としてはジレンマに感じられてしまいます。施策と並行してリファクタリングを進めたいのですが、そのような作業はビジネス視点で重要視されないためなかなか工数が取れません。

そんなある日、社内のSREから「AWSを広めていきたい」という話を持ちかけられました。もちろん興味はありましたが、最初は上述の経緯もあって、「本当に実現できるのかな」と不安でした。しかし、会話を重ねるごとに、「これはBiz側にも刺さるかも!」と直感したのです。

##0.2.このテーマに決めた理由
現在では担当プロダクトの大部分がAWSへマイグレーションを終え、改めてクラウドサービス(以下、当記事では

元記事を表示

AWS CDK Python を使って簡単な AWS Lambda 関数をデプロイする

# はじめに

AWS AppSync を使うと GraphQL エンドポイントを作成できる。 この時、簡単な設定でデータの保存には DynamoDB を、Resolver の実装には DynamoDB Table からテンプレートに従ってデータを読み出すための簡易設定だけではなく、AWS Lambda を使った実装も可能である。
ウェブコンソールから GraphQL の Schema や Resolver の設定も可能だが、できれば何らかの方法でコードベースでのデプロイを行うようにしたい。 Amplify を使おうかと思ったが、今回は AWS CDK を使ったデプロイを学ぶ意味でも、こちらを使うことにした。

本記事では、AppSync を AWS CDK Python で構築する前準備として、AWS CDK Python のインストールと簡単な AWS Lambda 関数のデプロイまでを行う。 AppSync については別記事で記載予定。

# AWS CDK とは

[AWS Cloud Development Kit (CDK)](https://aws.amazon.com/

元記事を表示

【AWS/EC2】本番環境と同様のエラーを表示する

#はじめに
エラー画面の編集を行うにあたり、cloud9環境でも本番のエラー文が表示したい場合に使用しました。

#手順
“`Ruby:config/environments/deveropment.rb
config.consider_all_requests_local = true #trueを

config.consider_all_requests_local = false #falseに書き換える
“`

#最後に
エラー画面(自作)の書き方についてはまたまとめます。

元記事を表示

【AWS/EC2】mainから更新データをpullし、seed読み込み直す

#はじめに

awsのec2環境で、毎回データベースをリセットしseedを読み込み直す手順を忘れてしまうので記録。

#手順

###mainの変更を反映する場合

1.main環境をpullする

“`ruby
git pull origin main
“`

こちらはいつも通り。

2.該当の変更をした場合は、以下の該当処理を実行

– マイグレーションファイルを変更した場合

“`ruby
bundle exec rails db:migrate RAILS_ENV=production
“`

– Gemfileを変更した場合

“`ruby
bundle install –path vendor/bundle –without test development
“`

– CSS/JavaScript/画像(デザイン・レイアウト関係)の変更

“`ruby
bundle exec rails assets:precompile RAILS_ENV=production
“`

3.アプリケーションサーバ停止・起動

###データベースを削除する場合(シード

元記事を表示

3分でわかるAWS

# 対象
AWSにどんなサービスがあるのかよくわからない人
とりあえず全体像を知りたい人

# この記事を読むと
AWSについてなんとなくわかった気になる

# 解説
## AWSのメリット
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/257258/b394c693-08c9-02bc-d2cd-0162b82d0423.png)

企業内の情報インフラ(オンプレミス)の管理をAWSのデータセンタ(クラウド)に移管することで得られるメリット

1. 初期投資が抑えられる(従量課金)
2. インフラの管理コストがない
3. 構築が早い
4. リソースもコストもフレキシブル
4. サービスが充実しているので、用途に合ったベストプラクティスがある

# [データセンタが世界中にある](https://aws.amazon.com/jp/about-aws/global-infrastructure/regions_az/)
世界中にデータセンタがあり、以下の区分でグループ分け・細分化されてい

元記事を表示

Circle CI + rails + AWS で自動テスト、自動デプロイが失敗した(Autoscaling 使用)

#概要

うまくいかなかったので、teratailの下記の質問に答えていただけたらとても嬉しいです。

[https://teratail.com/questions/359594](https://teratail.com/questions/359594)

前回書いた下記の記事からの続きです。
[EC2 + RDS + Capistrano + unicorn + nginxでrailsアプリを自動デプロイ メモ](https://qiita.com/nakayama_ryotaro/items/ea935c668bba97821b8e)

前回はCapistranoでしたが今回はCode〇〇 の4つを使った自動デプロイを行います。
まずは自動テストをCircleCIで、できるようにします。

#database.yml の編集
テスト用のデータベースが使えるよう、前回からdatabase.ymlを変更
もしかしたら必要ない記述もあるかもしれません。

“`yml:database.yml
default: &default
adapter: mysql2
encod

元記事を表示

【メモ】SpringアプリケーションでHTTPSを有効化:AWS利用

実際にやってみたときのメモです。

#### そもそもの話
SSLって何?とかは、以下参照。
[【勉強メモ】SSL/TLSとhttp/httpsの違い – Qiita](https://qiita.com/43z335/items/7e9252071392de0c385c)

### 前提事項
* アプリケーションは、EC2上で稼働させる
* Route53 → ALB → EC2の構成で実行。HTTPSはRoute53 → ALB間のみ。
* ドメインはAWSでも取得できるが、有料のため、無料のFreenomで取得。
[【図解】DNSサーバーとは?設定・変更と確認方法 | カゴヤのサーバー研究室](https://www.kagoya.jp/howto/rentalserver/dns-server/)

# 手順

### 作業の流れ
1. ドメインを取得
1. Route53のホストゾーン作成
1. ACM(Amazon Certificate Manager)でSSL証明書を取得
1. ALB作成(SSL証明書の設定も併せて実施)
1. Route53にALBのAレコード登録

元記事を表示

EC2 (Amazon Linux 2) で CloudWatch エージェントを使用して CloudWatch Logs にログ出力するまで

#やりたいこと

Session Manager 経由で、CloudWactch Agent をインストールして、messages を CloudWatch Logs に出力する

# 環境

・パブリックサブネットの Amazon Linux 2

# Session Manager からのアクセス許可設定
以下の通り、AWS 管理ポリシー [AmazonSSMManagedInstanceCore] を EC2 に付与する。
[AmazonEC2RoleforSSM] は非推奨になったみたい。

ステップ 2: Session Manager のアクセス許可を持つ IAM インスタンスプロファイルを確認または作成する
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-getting-started-instance-profile.html

# CloudWactch Agent のインストール
以下を参考に AWS Systems Manager の Run

元記事を表示

【あべ塾 – 課題4 -】AWSAmplifyのチュートリアルでSNSアプリを作ってみた

# 作成したアプリについて
今回は、AWSAmplifyのチュートリアルを通して、SNSアプリを作ってみました。

# AWSAmplifyを通して使用したサービスについて(SNSアプリ:2つ以上)
### AWS Lambda
> AWS Lambdaは、AWSが提供するサーバレスコンピューティングサービスの1つです。活用することで、利用者はインフラ管理を気にすることなく、コード開発に集中できます。オペレーティングシステムなどのインフラストラクチャの管理が不要で、利用者はプログラムコードを準備し、Lambdaにアップロードするだけで実行できます。
サーバレスという言葉になっていますが、実際に稼働するサーバがないというわけではなく、AWS側で実行基盤が管理されるため利用者の管理するサーバが無いということになります。利用者はインフラ部分の管理をAWS側に任せられるため、ビジネスロジックに関わるコード開発に集中できます。

### AWS DynamoDB
> どんな規模にも対応する高速で柔軟なNoSQLデータベースサービス
> Amazon DynamoDBは、規模に関係なく数ミリ秒台の

元記事を表示

AWSのEventBridgeで送信するイベントをTrustedAdvisorとGuardDutyだけに限定するポリシーの書き方

“`json
{
“source”: [“aws.guardduty”, “aws.trustedadvisor”]
}
“`

元記事を表示

AWSのクロスリージョンバックアップ系まとめ

自分への備忘録です。
間違えてたらコメントいただければ幸いです。

| リソース | バックアップ方法 |
|:|:|
| EC2 | AMIクロスリージョンコピーおよび
EC2 ImageBuilderを使ったリージョン間イメージ配布パイプライン |
| S3 | プレフィックス単位やタグベースでのレプリケーション
また、SLA付きのオプションなど柔軟性が高いクロスリージョンレプリケーション |
| EBS | Data LifecycleManagerによるEBSスナップショットの自動クロスリージョンコピー |
| RDSスナップショット | クロスリージョンコピー |
| RDSレプリカ | RDS for MySQL MariaDB Postgres Oracleはクロスリージョンリードレプリカ
データベースエンジンのネイティブ機能で非同期のレプリケーションが可能|
| RDS Aurora | Global Databaseを使用したストレージレベルでのクロスリージョンレプリケーション |
| DynamoDB | GlobalTableで自動的に他

元記事を表示

【AWS】カスタムAMIの作成

#はじめに
本記事は以下の記事に関連した内容となっています。
※以下、「関連記事」と記述します。

https://qiita.com/zeems/items/7967f94e0049ed03eb40

#実現したいこと
関連記事内では Auto Scaling グループを使用した構成とするために起動テンプレートを使用しています。
また、起動テンプレートのユーザーデータにより必要パッケージのインストールやファイル・ディレクトリの権限設定、GitHub・S3から必要なファイルのダウンロードなどの処理を行っています。
これらの処理や設定が反映された状態のEC2インスタンスからAMIを作成し、そのカスタムAMIを使用して起動テンプレートを構成したいと思います。

#EC2インスタンス 作成
AMIのもととなるEC2インスタンスを作成します。
関連記事内で使用しているユーザーデータは以下になりますので、それぞれの処理・設定を行います。
※GitHubリポジトリのURL、S3バケットの名前は環境ごとに置き換えてください。
※内容の詳細は関連記事をご参照ください。

“`shell:userda

元記事を表示

CodePipelineを使って静的サイトのデプロイを自動化しよう!

## はじめに
今回は、Node.js製のHexoという静的サイトジェネレーターを使ってAWSの`S3`にデプロイします。
**ちなみに`Hexo`を知らなくても問題なくデプロイできるように構成しています。**

https://hexo.io/

そのデプロイを、`CodePipeline`と`CodeBuild`を使って自動化しましょう。

## CodePipelineとは?
AWS CodePipeline は完全マネージド型の**継続的デリバリーサービス**で、リリースを自動化します。

まぁここで疑問なのは、**「継続的デリバリーサービス」**ですよね。
AWS公式サイトでは以下のように紹介されていました。
>継続的デリバリーとは、ソフトウェア開発手法の 1 つで、コード変更が発生すると、自動的に実稼働環境へのリリース準備が実行されるというものです。最新のアプリケーション開発の柱となる継続的デリバリーは、継続的インテグレーションを拡張したもので、すべてのコード変更が、ビルド段階の後にテスト環境または運用環境 (あるいはその両方) にデプロイされます。適切に実装すると、開発者

元記事を表示

spring bootのプロパティファイルの設定値をawsのparameter storeから取得する

## 概要
spring bootのプロパティファイルの設定値の一部をawsのparameter storeに移管する

## 環境
・spring boot(2.4.9)
・Java 8

## ライブラリの追加

##### 使用するライブラリ
– [spring-cloud-starter-bootstrap](https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-bootstrap) (spring 2.4以降の場合のみ)
– [spring-cloud-starter-aws-parameter-store-config](https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-aws-parameter-store-config) (spring boot 2.5系は未対応)

##### build.gradleの修正
dependenciesに下記を追加

元記事を表示

【ラズベリーパイ】Raspberry Pi 3 Model b+環境を構築してみた

#はじめに
先日macOSからaws lambdaへpythonの実行環境をクラウドリフトしました。
今回はawsからオンプレのラズベリーパイ(以降ラズパイ)へクラウド回帰してみたいと思います。

理由は以下2点です。
・ラズパイを勉強したいこと
・ラズパイの消費電力が低いこと

そんなラズパイを1から構築してます。

#環境
・macOS Catalina 10.15.7
・Sanoov Raspberry Pi 3 Model b+
 購入したものはAmazonで以下になりますのでご参考ください。

#手順
####ハードウェアの準備
1.開梱します。内容物は写真の通りです。SDカード(32GB)は赤い本体の箱に入っていました。
![IMG_2739.J

元記事を表示

Terraformで FargateのBlue/Greenデプロイ環境を構築する

#はじめに
本記事では、Terraform で ECS の Fargate の環境とBlue/Green デプロイのパイプライン
([CodeCommit + CodeBuild + CodeDeploy +CodePipeline](https://aws.amazon.com/jp/devops/))をお試しで構築する手順を記載しています。

#Terraform で構築する全体構成図
![00_fargate_blue_green_deploy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283246/f3c5ef22-3c39-2fcf-1b84-58044b8fc64a.png)

#Terraform で構築するAWSリソースのBlackBeltの資料
[VPC](https://d1.awsstatic.com/webinars/jp/pdf/services/20201021_AWS-BlackBelt-VPC.pdf)
[ALB](https://d1.awsstatic.com/

元記事を表示

初投稿

初投稿

これからsnowflakeとawsについてシェアしていきます

元記事を表示

[AWS EC2][ubuntu] EC2インスタンスでユーザー管理する

・EC2インスタンス内に複数のユーザーを作成し、ユーザー毎に別々のsshキーペアを使ってEC2へssh接続できるようにする。
・開発者用のユーザーグループとプロジェクトディレクトリを作成し、共同作業できるようにする。

# EC2インスタンスへのssh接続

“`bash:bash
ssh -i ubuntu@ # ローカルPCからEC2インスタンスにssh接続する
“`

# ユーザーの追加、devグループの作成

“`bash:bash
sudo adduser -q –gecos “” –disabled-password # ユーザーを追加
getent passwd # ユーザーが追加されていることを確認
sudo groupadd dev # devグループを作成
sudo gpasswd -a dev # devグループにユーザーを追加
sudo visudo /etc/sudoers.d/dev # /etc/sudoer

元記事を表示

OTHERカテゴリの最新記事