- 1. 内部ALBに静的IPアドレスを設定する
- 2. 【AWS】Terraformでアクセスを分散、WebサーバーをHTTPS化する その1(ALB)
- 3. 【AWS】Transfer family for FTPを構築する
- 4. AWSのRDSサービスでPostgreSQL(+PostGIS)を構築
- 5. The service is unavailable. で EBS ボリュームを変更できないタイミングがある
- 6. awscliの導入と認証キーの登録
- 7. AWS Transit Gateway とは
- 8. AWS EMRこと始め
- 9. NEC IX2105でAWS サイト間VPN接続の構築
- 10. TerraformでDMSレプリケーションインスタンスを自動構築する(基本編)
- 11. Terraformで作るAWS定番システムパターン① インスタンス最小構成
- 12. 40 代おっさん Amazon Linux2 の初期設定やってみた
- 13. AWS セキュリティ(SCS) を取得した
- 14. 【AWS】ECRのpublicへpushする方法
- 15. 【AWS S3 × Laravel】画像アップロード先をS3に変更した際に発生したエラーと解決までの道のり(nginxデバッグ対応)
- 16. Java × GoogleCalendarAPI でタスク管理アプリ
- 17. AWS SNSとSQSをメーリングリストとセンター問い合わせで例えてみる
- 18. EC2のログ→Kinesis firehose→S3を実装してみた
- 19. AWS Well-Architected Frameworkを学ぶ
- 20. Error: Reference to undeclared input variable
内部ALBに静的IPアドレスを設定する
## はじめに
本記事では、不定期にIPアドレスが変わる内部ALB に、内部NLB とLambda を使用して静的IPアドレスを設定する方法について紹介しています。どうしても内部ALB に静的IPアドレスでアクセスできるようにしたい場合の1つの案になります。
この構成に関する詳細は、下記のAWSブログで記載されております。
https://aws.amazon.com/jp/blogs/networking-and-content-delivery/using-aws-lambda-to-enable-static-ip-addresses-for-application-load-balancers/
## この案の全体構成図
![00_static_ip_alb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283246/fef594df-fc60-2e95-d976-d869ac178adc.png)##構築の簡単な流れ
###前提条件
内部ALB が構築済みであること。
(構成図内
【AWS】Terraformでアクセスを分散、WebサーバーをHTTPS化する その1(ALB)
## 概要
TerraformでAWSサービスを使用して、– 負荷分散
– 独自ドメインの設定
– SSL証明書を作成してHTTPS化上記の3つを含めた構成を作成する手順をまとめました。
## 目次
1. アプリケーションロードバランサー(ALB)の作成
– ALBの作成
– ターゲットグループの作成 / ターゲットの登録
– リスナーを設定
– ALBのDNS名からHTTPアクセス確認 ←本記事はここまで。
1. Route53でDNS設定
– ドメインの取得(例はfreenomの無料ドメイン)
– ホストゾーンの作成
– DNSレコードの定義
– ネームサーバーの設定を加える
– 取得したドメインへHTTPアクセス確認
1. AWS Certificate Manager(ACM)でSSL証明書の作成
– SSL証明書の作成
– SSL証明書の検証
– HTTPSリスナーの定義
– HTTPSアクセス確認本記事ではアプリケーションロードバランサー(ALB)の作成までをまとめた。
## 構成図
今回の構成図はこちら。
【AWS】Transfer family for FTPを構築する
## きっかけ
– とある案件で現行システムを大体AWSにリフトアップする案件があり、既存FTPサーバをTransfer family for FTPを含む構成で実現したく、事前にカスタムIdp含む構築手順の検証をするため## 構築Step
1. Lambda 構築
1. API Gateway 構築
1. Transfer Family For FTP 構築
1. 動作確認(カスタムIDプロバイダ)### 1. Lambda 構築
– 新規Lambdaをデフォルト設定で作成
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3437393838362f32306664316662302d656334612d383264332d613566302d35656135343364393964396.png](https://qiita-image-store.s3.ap-northeast
AWSのRDSサービスでPostgreSQL(+PostGIS)を構築
## はじめに
QGISサーバーの構築について色々と試しているのだが、その際にローカルで作成したQGISプロジェクトファイルをアップロードして、QGISのWebClientでも問題なく表示できるか試そうとしている。
しかし、QGISプロジェクトファイルが参照しているデータ先を共通の宛先にしないと表示確認が面倒なので、別途外部からの接続が可能なDBサーバーを用意しようと考えている。
EC2の様にインスタンスを立てて普通にPostgreSQLを入れればできるのだが、せっかくなのでRDSを使ってみて、楽さを実感しようと思った。記事にする様な内容でもないかもしれないが、時間もかからないので一応メモとして残すことにした。## メモの内容
1.AWSサービスのRDSよりPostgreSQL構築
2.外部から接続するための設定追加## 1.AWSサービスのRDSよりPostgreSQL構築
RDS for PostgreSQL バージョンに同梱されている PostGISのバージョンはこちらのサイトに記載があるので、今回はこれを見て、**”PostGIS2.5.2″** のバージョンが
The service is unavailable. で EBS ボリュームを変更できないタイミングがある
Amazon EBS ボリュームはホスト側のメンテナンスにより変更操作ができないタイミングがあります。
## エラー内容
EBS のボリューム変更操作を行うと以下のようなメッセージで変更操作に失敗する場合があります。“`
The service is unavailable. Please try again shortly.
“`AWS 側の障害かな?と思いましたが、[Service Health Dashboard](https://status.aws.amazon.com/) では特に異常は報告されていません。
## 原因
エラー発生後に、Personal Health Dashboard で以下の通知を受け取りました。> Your volume can’t be modified at present due to an operational activity that is being performed on the systems hosting your volume. Your volume is in a healthy state. Th
awscliの導入と認証キーの登録
# 概要
AWSで開発をするにあたりaws-cliというものがあるとのことで導入してみるhttps://aws.amazon.com/jp/cli/
# install
brewでaws-cliをインストールする“`
$ brew install awscli$ aws –version
aws-cli/2.2.31 Python/3.9.6 Darwin/20.5.0 source/x86_64 prompt/off
“`# 認証キーを導入する
過去の記事ではIAMユーザーの認証キーを記載したファイルを直打ちで作成したが、aws-cliのコマンドでも作成が可能とのことで作成する
https://qiita.com/kazato110tm/items/59d4a780d2262ab96aaa
“`
$ aws configure
AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
AWS Transit Gateway とは
## 勉強前イメージ
VPCとVPNつなげる的なやつ
## 調査
### AWS Transit Gateway とは
中央ハブを介してVPCとオンプレのネットワークを接続するクラウドルーターの役割をします。
ネットワークが簡単になり、複雑なVPCの接続をしなくて良くなります。### AWS Transit Gatewayのメリット
– 簡単に接続
クラウドルーターとして機能し、アーキテクチャを簡素化します。
グローバルアプリケーションを構築する場合リージョン間ピア接続を使用して
Transig Gatewayを接続できます。
また、トラフィックを複数のパスに負荷分散させることで帯域を広げることが出来ます。– 可視性と制御の向上
AWS Transit Gateway network managerを使用すれば
VPCとエッジ接続を中央コンソールから監視できます。
問題を素早く特定し、イベントに対応するのに役立ちます。– セキュリティの向上
VPCとAWS Transit Gateway間のトラフィックはパブリックインターネット上に公開されません。
リージョ
AWS EMRこと始め
## これは何
Spark を使用してサンプルクラスターを起動し、Amazon S3 バケットに格納する単純な PySpark スクリプトを実行していきます。
## S3作成
適当にS3を作成します。
![スクリーンショット 2021-08-21 21.28.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/cbc2cc9e-46a8-35a2-019e-5641a0caf70d.png)
## フォルダを作成する
以下のフォルダを作成します。
output:ログと進行中のアウトプットを入れます。
script:PySparkスクリプト、csvファイルを入れます。先ほど作成したオブジェクトへ行き、上記フォルダを作成します。
![スクリーンショット 2021-08-21 21.36.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/f9eaee23-6cf1-3c69
NEC IX2105でAWS サイト間VPN接続の構築
以前にYAMAHA RTX1200でAWSとサイト間VPNを構築する記事を書きましたがNEC IX2105でも同じようにVPN接続することがあったので備忘録のかねて記事にします。ヤマハもですが「NW機器+AWSとVPN接続設定した」系の記事って、ネットで探してもあんまり出てこないですよね…ネットワークエンジニアの皆さんはあんまりブログやQiita的なやつでアウトプットはしないのか…はたまたメーカ公式ページがサンプルコンフィグ出してるからOKってことなのか…とりあえず誰かの役に立てればと思います。
以前書いたYAMAHAの記事 = [YAMAHA RTX1200 でAWS サイト間VPN接続の構築](https://qiita.com/u-bayashi/items/b9fb32ab1c3bc8210ef0)
#今回のゴール
ルータのLAN側IPからVPN経由でAWS VPC内のEC2のプライベートIPとPingで疎通確認が取れるようになること。【構成イメージ図】
![スライド1.PNG](https://qiita-image-store.s3.ap-northe
TerraformでDMSレプリケーションインスタンスを自動構築する(基本編)
# はじめに
AWSでDBのレプリケーションを行うのに一番お手軽なのがAuroraやRDSのRead Replicaの機能を使うことだが、たとえば異なるDBMSや、Aurora⇒DynamoDBにレプリケーションをしたくなることもあるだろう。
そういう時には、DMS(Database Migration Service)のレプリケーションインスタンスが便利だ。今回は、最もシンプルな同一のネットワーク内、同一のDMBSに対してレプリケーションするDMSインスタンスをTerraformで自動構築してみよう。前提知識としては、以下あたり。
– TerraformでのAWSサービスの構築経験がある
– Auroraについてある程度理解しているAuroraについては、SourceとTargetを構築済みであることを前提にしているため、[この記事](https://qiita.com/neruneruo/items/a7c5f7fa80fbf9d6a828)あたりも参考にして構築しておいていただきたい。
# 全体構成
DMSのレプリケーションインスタンスの構成要素は以下の通り。–
Terraformで作るAWS定番システムパターン① インスタンス最小構成
#本記事の目的
Terraformを用いて、AWS上での定番システムパターンを作成し、アウトプットとして記録する。
今回はインスタンス最小構成を作成してみる。#設計
###システム要件
インターネットからssh経由で接続可能な単一のサーバーを構築する。###構成図
![single_instance.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559588/9da4605e-bf89-7345-62a3-0648faaede85.png)#事前準備
###ソフトウェア要件
– [AWS CLI](https://aws.amazon.com/cli) – v2.1.26 ※1
– [Terraform](https://www.terraform.io/downloads.html) – v1.0.0
– [jq](https://stedolan.github.io/jq/) -v1.6 ※2※1 今回はTerraform用のAWSプロファイルを`tf-demo`という名前で作成し使
40 代おっさん Amazon Linux2 の初期設定やってみた
## 本記事について
本記事は AWS 初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。## OSの確認
“`shell
$ cat /etc/system-release
“`Amazon Linux release 2 (Karoo)
となれば問題なし## パッケージのアップデート
まずは管理者になる
“`shell
$ sudo su
“`パッケージのアップデート
“`shell
# yum update -y
“`タイムゾーンの設定
“`shell
# timedatectl set-timezone Asia/Tokyo
“`こちらを参考にしました
## 最後に
記事をほとんど丸パクリしてしまった><
自分用にまとめているのですいません!!
AWS セキュリティ(SCS) を取得した
# 前回のお話
https://qiita.com/morio1101/items/7f2115c5869b75a9bdd4
# はじめに
## AWS Certified Security – Specialty について
こう書き始めようとしたけれど以下を見たほうが早いと思うので割愛
https://aws.amazon.com/jp/certification/certified-security-specialty/
試験の傾向が知りたい人は本記事は参考になりません
(ほかの人の記事でしっかり書かれていると思っています)
本記事はあくまで、どう学習したら取得できたかをまとめた記事になります# 学習教材
## aws WEB問題集で学習しよう
定番の WEB問題集で、現在 #22 (22*7=154問) の問題がある
## Exam Readiness: AWS Certified Security – Specialty (Japanese)
教材の動画はほぼみずWEBページ+最後の問題を解いていた
https://www.aws.training/D
【AWS】ECRのpublicへpushする方法
# はじめに
2020年12月にできた**パブリックリポジトリ**へプッシュする方法です。
**ECR**の**プライベートリポジトリ**へはイメージをプッシュしたことありましたが、
いくつかつまずいたのでこのポイントを載せます!・AWS-CLIのバージョン
・IAM設定# AWSCLIのバージョンアップ
バージョン確認。
“`
$ aws –version
aws-cli/2.0.8 Python/*****
“`
私の場合はバージョンが古く後ほど指定するコマンドが認識されませんでしたので、
先にバージョンアップします。公式ドキュメントの方法でバージョンアップ。
[macOS での AWS CLI バージョン 2 のインストール](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-mac.html)“`
$ curl “https://awscli.amazonaws.com/AWSCLIV2.pkg” -o “AWSCLIV2.pkg”
$ sudo instal
【AWS S3 × Laravel】画像アップロード先をS3に変更した際に発生したエラーと解決までの道のり(nginxデバッグ対応)
#Laravelアプリケーションにて画像保存先をS3に変更した途端正しく表示されなくなった
目下Laravel7.x系でアプリケーションを作成しており、同アプリ内で画像をアップロードし表示するという機能を実装しておりました。これまで開発環境ではローカルディスク内に保存しておりましたが、本番環境をAWSのEC2上でアプリケーションをデプロイすることから、画像保存先もS3に変更しようとしていたところエラーが発生してしまいまいした。
今回は私が遭遇したエラーと解決までの道のりを備忘も兼ねてまとめてみようと思います。
エラーは開発環境と本番環境それぞれで発生しました。
また本番環境ではnginx、Laravel双方でのデバッグ対応を初めて行ないました。##実装内容
まずは今回実装した内容になります。(説明のため一部簡略化)
少し複雑な形ですが以下を行なっています。* 投稿画像(ここではプロフィール画像)をストレージに保存(saveAvatarメソッド)
* ファイル名をDBに保存画像アップロード機能に関しては他の記事にもたくさんあるので今回は割愛いたしますが、詳細は以下をご
Java × GoogleCalendarAPI でタスク管理アプリ
#はじめに
ポートフォリオとして制作したアプリケーションのポイントを投稿させていただきます。
ポートフォリオURL:https://task-time.net
(まだGoogleCloudPlatformの審査中のため、ログインページから先は進めません。)
GitHub:https://github.com/Nakamura9310/TaskTime#アプリケーションのコンセプト
### 「①全タスクをメモし②所要時間を見積もり③全てカレンダーに入れる」ことで
###多忙な時に真価を発揮する、タイムマネジメントアプリ前職時に本当に多忙な毎日を送る中で、タイムマネジメントの重要性を知りました。
タスクをメモするだけではダメです。
どのタスクに何時間かける予定か、カレンダーに落とし込むことができていれば、
タイムマネジメントができているといえます。_①〜③ができていると_
_→新しいタスクが発生した時に、いつ実行可能なのか瞬時に判断できる。__①〜③ができていないと…_
_▲下手にタスクを受け、期限内に終わらない量のタスクを抱えることになる。_
_→一人でタスクを抱え込み
AWS SNSとSQSをメーリングリストとセンター問い合わせで例えてみる
AWSのSNSとSQSの仕組みについて学んでいて、
しっくり来る例えを思いついたので、少しまとめてみます。## SNSは「メーリングリスト」
まず仕組み自体を少しまとめます。
SNSはサーバを用意せずに「通知機能の仕組みづくり」を実現できるサービス。
メッセージを送るサービスとも言えます。以下のようにしてPublisherからSubscriberにメッセージが送られます。
### 送信者側 Publisher
* `Topic`を作成する
* `Topic`に対してメッセージを送信する
* 複数の購読者(`Subscriber`)に対して、一括でメッセージが送信される(いわゆる`fan out`)### 受信者側 Subscriber
* `Topic`の`Subscriber`に登録
* 受信者自ら購読登録はしないが、プロトコルが`メール`の場合は認証が必要
* Subscriberの登録はAWSコンソールやCLIにて行う### メーリングリストの仕組みと比べてみる
この仕組みは「メーリングリスト」に似ていると、言えるでしょう
EC2のログ→Kinesis firehose→S3を実装してみた
## これは何
EC2でログ生成→Kinesis firehose→S3、の流れを実装してみたの記事です。
## Kinesis Data Firehoseを作成
コンソールからKinesisへ移動します。
配信ストリームを押下。![スクリーンショット 2021-08-21 9.18.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/3e691087-f207-74bc-1e14-c9946d5af857.png)
適当に名前をつけます。
今回は””Direct PUT or other sources””にします。![スクリーンショット 2021-08-21 9.18.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/1aac58f5-ea23-babc-5a04-c3acfdac25b3.png)
オプションでJSONデータ形式に変換してくれるみたいですが、デフォ
AWS Well-Architected Frameworkを学ぶ
[zenn](https://zenn.dev/mo_ri_regen/articles/aws-well-architected-framework)にも同様の記事を書いています。更新頻度はzennのほうが多めです?
## AWS Well-ArchitectedFramework について
2015 年の AWS re:Invent で発表され、毎年アップデートされています。
AWS についてクラウド上でワークロード[^1]を設計および実行するための主要な概念や設計概念、ベストプラクティスについて説明したものです。
AWS のソリューションアーキテクトとユーザの実際の経験から作成されました。[^1]:
作業負荷、業務量と訳します。
[AWS](https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/userguide/workloads.html)ではリソースと、ビジネス価値をもたらすコード (顧客向けアプリケーションやバックエンドプロセスなど) の集まりと定義されています。:::note war
Error: Reference to undeclared input variable
netwrok.ftを作成して、terraform planを実行しました。
以下のエラーが発生。
変数定義ができていないことが原因“`
Error: Reference to undeclared input variable
on network.tf line 12, in resource “aws_vpc” “vpc”:
12: Name = “${var.project}-${var.environment}-vpc”
““terraform.tfvars ファイルが存在し値が設定されているか確認した。
問題ない。main.tfファイルでの変数の定義を確認。
変数の名前がタイプミスでした。
修正して再度、terraform planを実行。
正常を確認。